This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith)
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Cc: gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, gcc at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org, oldham at codesourcery dot com, ro at TechFak dot Uni-Bielefeld dot DE, rth at redhat dot com
- Date: 19 Jan 2003 16:52:28 -0200
- Subject: Re: Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith)
- Organization: GCC Team, Red Hat
- References: <200212170531.AAA15561@caip.rutgers.edu><or4r97diei.fsf@free.redhat.lsd.ic.unicamp.br><orisxmn2fv.fsf@free.redhat.lsd.ic.unicamp.br><oradiw3e9k.fsf@free.redhat.lsd.ic.unicamp.br><200212241434.JAA22361@caip.rutgers.edu><orhed32l12.fsf@free.redhat.lsd.ic.unicamp.br><orwulx34wh.fsf@free.redhat.lsd.ic.unicamp.br><orptrn4lr0.fsf@free.redhat.lsd.ic.unicamp.br><20030107221549.GR12992@redhat.com><or4r8hlw18.fsf@free.redhat.lsd.ic.unicamp.br><20030110011352.GF9245@redhat.com><200301191731.MAA18215@caip.rutgers.edu>
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