Re: GCC's -ffast-math behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On 2/10/2012 1:39 AM, Miles Bader wrote:
xunxun<xunxun1982@xxxxxxxxx>  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.


387 code may be faster when you mix float and double, e.g. by forcing double evaluation of float expressions by removing the f suffix from constants. It has been a long time since I had 32-bit OS installed and could examine the broken mathinline.h headers which typically came with them. You would need to fix those before trying -ffast-math.


--
Tim Prince


[Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

Add to Google