This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: GCC's -ffast-math behavior
xunxun <xunxun1982@gmail.com> writes:
>> If you switch to using SSE floating-point, e.g. using "-mfpmath=sse",
>> it will still call the library functions even when using -ffast-math
>> (because the SSE unit doesn't have special instructions like "fsin" or
>> "f2xm1"). I think SSE FP is typically faster than the 387 for many
>> CPUs anyway.
>>
> Well, that's right.
> But in my experience, -mfpmath=sse will slow my code very much.
Hmm, I've always found SSE FP to be a speedup -- sometimes a _big_
speedup -- over 387 FP, at least when one is using mostly primitive FP
operations (mul, divide, sqrt, etc) ... I think it's worth testing, at
least.
Complicated FP functions like sin, exp, etc, seem to be a little
faster on using 387 FP than using SSE FP -- but that's presumably
because when using SSE, those functions are implemented in -lm instead
of using special instructions. Since you want to switch to a faster
FP library _anyway_, the quality of the standard FP library presumably
isn't much of a limitation for you... :]
> I think -mfpmath=sse option has some bugs on X86.
The x86 is really the only place that option is useful, so I hope it's
mostly OK there... :]
-Miles
--
Circus, n. A place where horses, ponies and elephants are permitted to see
men, women and children acting the fool.