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