Hi,
"Timothy Madden" <terminato...@gmail.com> 写入消息
news:5078d8af0903120218i23b69a4bma28ad9b3f1bd4...@mail.gmail.com...
On Thu, Mar 12, 2009 at 1:15 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
Timothy Madden wrote:
> Hello
>
> Is -mfpmath=both for i386 and x86-64 still experimental in gcc 4.3, as
> the in the online manual page ?
[...]
The fundamental problem here is that backend lies to compiler about the
fact that FP operation can not take one operand from SSE and other from
X87. This is something I want to look into once I have more time. With
new RA, perhaps we can drop all these fake constraints.
That would be great !
I am sure having twice the number of registers (sse+387) would make a
big difference.
Even if SSE and FPU instructions set can not mix operands, using both
at the same
time (each with its registers) will be an improvement.
Until then I would have a question: if I compile with -msse than using
-mfpmath=387
would help floating-point operations not steal SSE registers that are
already used by
CPU operations ? And using -mfpmath=sse would make FPU and CPU share the
SSE
registers and compete on them ?
How would I know if my AMD Sempron 2200+ has separate execution units
for SSE and
FPU instructions, with independent registers ?
Most CPU use the same FP unit for both x87 and SIMD operations so it
wouldn't give you double the performance. The only exception I know of is
K6-2/3, whose x87 and 3DNow! units are separate.
--
Zuxy