Date: Sun, 01 Jan 2012 17:49:36 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r228801 - head Message-ID: <4F008EA0.3080800@FreeBSD.org> In-Reply-To: <20120101020442.GA94452@zim.MIT.EDU> References: <201112221503.pBMF3m0w021930@svn.freebsd.org> <20120101020442.GA94452@zim.MIT.EDU>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F008EA0.3080800>