This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]