Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith)

Alexandre Oliva aoliva@redhat.com
Fri Dec 27 05:47:00 GMT 2002


On Dec 26, 2002, Alexandre Oliva <aoliva@redhat.com> wrote:

> I doubt these further tweaks might have actually introduced any
> regressions, so...

Famous last words...  Kaveh sent me in private a list of regressions,
caused by:

> instead of keeping even more excess precision for the emulation
> of IRIX' long double to internally use the same number of bits as IEEE
> 854 128-bit long doubles, which would probably cause rounding problems
> unless I explicitly handled it, I arranged for the emulation library
> to already keep 106 bits of mantissa.

This broke the ``magic'' exponent adjustments in _fpmul_parts(), which
forced me to figure out where the heck those magic constants came
from, so I could clean them up.

> Or even when the exponent is so small that the most-significant
> double is normal but the least-significant one isn't.  In this case,
> I believe we should do some rounding, but I was not sure it actually
> mattered, so I just left it out.

And now I put it in, and fixed the representation and rounding of
denormals in the least-significant double, that was formerly a bit
off.  I used two additional programs to verify that denormals were
correct, and that they were being rounded correctly; for reference,
they're attached after the patch.

This patch fixes all failures that Kaveh pointed out in private, in
all optimization levels.  It's now undergoing a bootstrap&test cycle,
that should be done, well, some day :-)

In case it succeeds, ok for mainline (with Kaveh's patch) and 3.3?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-mips-tfmode-emul-take4.patch
Type: text/x-patch
Size: 52593 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20021227/765837d0/attachment.bin>
-------------- next part --------------

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


More information about the Gcc-patches mailing list