This is the mail archive of the gcc-help@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: GCC's -ffast-math behavior


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


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


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