On 16/06/2010 17:09, Andrew Pinski wrote:


On i?86 we have -mfpmath={sse,x87}, I suppose you could add
-mfpmath=neon for arm (properly conflicting with -mfloat-abi=hard
and requiring neon support).

Except unlike sse, neon does not fully support IEEE support. So this
should only be done with -ffast-math :). The point that it is slow is
not good enough to change it to be something that is wrong and fast.


How relevant is full IEEE support? I would imagine that only a tiny minority of programs actually need it. But I would also imagine that the great majority of programs are compiled without -ffast-math, even though that would be perfectly good for them, and generate smaller and faster code on almost all platforms.

So if -ffast-math were the default, would many people actually see wrong code? Obviously such a change could not be done arbitrarily - as you say, slow code is better than wrong code. It would have to be done through stages for successive gcc releases of adding a "-fieee-math" flag (synonymous with -fno-fast-math), and giving warning messages if neither "-fieee-math" or "-ffast-math" were specified, before it could be changed. And it would only apply to the -std=gnu... standards. But the end result is that the majority of users would generate faster code.

Reply via email to