This is the mail archive of the gcc@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: -mfpmath=sse,387 is experimental ?


Hi,

"Timothy Madden" <terminatorul@gmail.com> ååææ 5078d8af0903120218i23b69a4bma28ad9b3f1bd429b@mail.gmail.com">news:5078d8af0903120218i23b69a4bma28ad9b3f1bd429b@mail.gmail.com...
On Thu, Mar 12, 2009 at 1:15 AM, Jan Hubicka <hubicka@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




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