This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problems with FP compares / mixed SSE and I387 code


Jakub Jelinek wrote:

On Fri, Jan 07, 2005 at 10:34:48AM +0100, Uros Bizjak wrote:


Some progress was achieved by separating SSE and x87 floating point operators by TARGET_SSE_MATH, and it was again shown that a small (ehm...) oversight in i386.md produced another big performance problem [3].

Regarding these reports, I would suggest this solution:
- with TARGET_SSE_MATH, _all_ SFmode values should be processed in SSE registers.
- with TARGET_SSE_MATH && TARGET_SSE2, _all_ SFmode and DFmode values should be processed in SSE registers.



Well, if you have __asm with "f", "t" or "u" constraints, you should still put SFmode resp. DFmode values into the stacked registers.



I was trying to say that all allocated SFmode (and DFmode for SSE2) registers should be SSE registers. Only one move from SSE to x87 for final return value would be needed in this case.

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]