Subject: Re: toolchain/21414: double to unsigned int conversion broken
To: None <>
From: David Laight <>
List: netbsd-bugs
Date: 05/01/2003 20:22:36
> > 
> > So 0x7fffffff is fine...
> Duh, you are right.

No, I'm wrong...

For some reason best known to itself, gcc calls _Qp_dtoq then _Qp_qtoui
when converting double to unsigned int (ie it converts the value
to a 128bit float first!).

_Qp_qtoui (quad to unsigned) is implemented in
    return (unsigned int)float128_to_int32(*a);
which is just plain wrong...

In particular an unsigned version of roundAndPackInt32 (and Int64)
is needed.


David Laight: