This is the mail archive of the gcc-bugs@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: Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith)


On Jan 19, 2003, "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> wrote:

> So, what happened to the irix6 long double patch?

It will require some changes, after all.

As per my reading of LIA (this morning, talk about coincidence :-),
the minimum normal exponent should be set such that all 107
significant bits are available (and it's 107, not 106, as I
implemented it) for normals.  This means we'll consider denormals even
numbers that have only the lower double as a denormal.  Which is in
line with one of the approaches I had suggested (not that it counts
much; I've probably enumerated all approaches that could possibly make
sense, and most that couldn't :-D

This conclusion was drawn based on the formal definition of the
normalized and denormalized sets, as well as the informal definitions
of normalized (those values of a floating point type F that provide
the full precision allowed by that type) and denormalized (those that
don't), regardless of the actual representation.  I believe this
settles it.  Now it just needs someone to implement these changes.
Unfortunately, the mips64-linux-gnu port I'd been working on, that
looked like would need IRIX compatibility in terms of floating point
format, ended up with a different format, so I no longer have a good
reason to put work time into finishing the patch.  I've been trying to
find spare time to do it in a voluntary basis, but spare time is
approaching non-existence from the negative range :-)

Anyway, if I had the time, I'd start by adding 53 to the minimum
exponent range in real.c and fp-bit.h, bumping up the mantissa size by
1 and reverting the denorm_p changes I made in real.c and c-common.c.
This would probably require some tweaks in the functions that convert
into and out of ibm_extended_format in real.c, such that the change in
the minimum exponent doesn't change the representation of any numbers,
and probably some similar fixes in fp-bit.c, for the same reason.
Would you like to give it a try?  Or would you rather my cobble up
some day a new version of the patch for you to try?  Please let me
know.

-- 
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


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