Subject: Re: accuracy of "long double"
To: Vincent <10.50@free.fr>
From: Neil Booth <neil@daikokuya.co.uk>
List: port-i386
Date: 08/29/2007 00:25:24
Vincent wrote:-

> >honor TARGET_96_ROUND_53_LONG_DOUBLE while optimizing (and a couple of 
> >the failures are due to incorrect test cases that assume that "everything
> >work as Linux"...)
> >I plan to fix this before gcc 4.3 is released...
> 
> Well, since I am currently writing some mathematical stuff, can someone 
> be more specific about this issue? I mean:
> 
> * Does it mean that "double" precision roundoff is correct on BSD, 
> whereas "long double" is not ? and vice-versa on Linux?

You will only get IEEE semantics with x87 FPU for 80-bit long double
with long-double precision.  Every other mode is non-IEEE.

Which means the only one that follows IEEE by default is long double
on Linux.  You could get the same on NetBSD by changing the CPU
flags so that you have long double precision.

You can't get IEEE behaviour for double on x86 without SSE2.

Neil.