On 2012-01-01 03:04, David Schultz wrote:
On Thu, Dec 22, 2011, Dimitry Andric wrote:
Remove -mfancy-math from LIB32CPUFLAGS for amd64. It has been default
for our gcc since more than three years (see r181534, which is also in
stable/9 and stable/8). This flag used to be for the benefit of the old
in-kernel math emulator, which was removed more than eight years ago.
Quite the opposite, actually. gcc/freebsd used to be hard-coded to
use -mno-fancy-math-387 by default, which was really only appropriate for
FPUless x86 chips back when FreeBSD supported them. The makefile
setting overrides the old gcc default. The flag isn't "for the
benefit of the in-kernel math emulator"; it's actually to reap the
benefits of *not* having an in-kernel math emulator!
Do you know if clang has the correct default here, or if it picked up
trunk gcc's bogus default? It doesn't seem to support the flag to
change the behavior, and it seems to default to -mno-fancy-math-387.
(The flag should only affect things when -ffast-math is also specified.)
As far as I can see, clang always generates calls to sin(), cos() etc.
It never inlines them to direct 387 instructions. Isn't that what we
want? In any case, I don't see a quick way of getting it to emit 387
instructions directly. It simply looks like it is not supported. The
-funsafe-math-optimizations is not recognized, and the -ffast-math
option is accepted, but ignored.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"