This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Further floating-point-emulator cleanups
On Sat, Mar 23, 2002 at 10:29:20PM +1030, Alan Modra wrote:
> On Fri, Mar 22, 2002 at 01:09:33PM -0800, Zack Weinberg wrote:
> >
> > Er, shouldn't it be 16/15 for a 128-bit long double? The other two
> > values (11 and 7) make sense as 12-1 and 8-1 bytes respectively, but I
> > don't see why we need twenty bytes to hold a 16-byte quantity.
>
> Err, see real.c "const UEMUSHORT ezero" etc. Looks like internal
> calculations are done with extra precision. Since your patch breaks
> everything with MAX_LONG_DOUBLE_TYPE_SIZE == 128, I'm checking in the
> following under the obvious rule.
>
> * real.h (N): Special case 128 bit doubles.
That gets us compiling again, but I'm not sure it's the right thing to
do. Shouldn't we be rounding to the true format in between arithmetic
operations -- as is currently done when 64 bits is as big as it gets?
zw