Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Changing x87 precision to full 63bit as default



On Thu, Nov 07, 2013 at 07:39:23PM +0000, David Laight wrote:
> On Thu, Nov 07, 2013 at 02:16:00PM +0100, Joerg Sonnenberger wrote:
> > On Thu, Nov 07, 2013 at 07:52:43AM -0500, Greg Troxel wrote:
> > > 
> > >   as discussed a while ago, I would like to change the initial x87
> > >   configuration to the system default, aka long double precision.
> > >   This makes it possible to get working long double. A review of the libm
> > >   assembler routines will follow to make sure they do correct rounding.
> > > 
> > > Does this change affect just i386, or also amd64?  If I follow
> > > correctly, it will change the behavior of programs on amd64 that use x87
> > > instructions rather than SSE, but that's an odd case, and therefore the
> > > behavior of almost all actual programs on amd64 will not change.
> > > Further, the floating point results on i386 will, post-patch, match the
> > > results on amd64.  Explaining the above (correclty, which I may not have
> > > done) belongs in the commit message.
> > 
> > Normal float and double operation on AMD64 are using SSE2, so they would
> > not be affected.
> 
> What about 32bit binaries running on amd64?

They behave like i386 binaries. If the main binary was compiled on
6.99.25+, it gets the full precision, otherwise the legacy double
precision. Depending on the compiler, enabling SSE2 support will make it
use the faster unit for all float and double computations not involving
transcendend functions.

Joerg


Home | Main Index | Thread Index | Old Index