svn commit: r228801 - head

Dimitry Andric dim at FreeBSD.org
Sun Jan 1 16:49:36 UTC 2012


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.


More information about the svn-src-head mailing list