Problem with egcs and denormalized constants?

Gary Thomas gdt@linuxppc.org
Wed Mar 31 23:46:00 GMT 1999


On 06-Mar-99 David Edelsohn wrote:
>>>>>> Gary Thomas writes:
> 
> Gary> This turns out to be a bug in the GAS IEEE FP code.  It could potentially
> Gary> happen on any platform, but it is seldom seen from C code.  This is because
> Gary> most of the GCC/EGCS back-ends generate raw hex values for the FP constants.
> Gary> The PowerPC back-end uses the ".float" directive instead.
> 
>       The PowerPC port goes to the trouble of emitting the actual bit
> pattern for infinities, NaNs, and -0 (as opposed to +0).  Most other ports
> emit the bits consistently.  I have no problem changing EGCS to be
> consistent with the others.  I am not fully sure why the PowerPC port is
> implemented to email FP constants as FP values; it may have been a
> holdover before the port was converted to use the GCC built-in
> REAL_ARITHMETIC support.  Are there any reasons that I should not switch
> to the underlying bit patterns?
> 

I don't have a huge opinion either way.  My comment was just to note that
because the PowerPC back-end uses ".float" was how Kevin's problem became
manifest.  The error still exists in GAS and any use of that code on any
platform would trigger is, save that virtually all of the other back-ends
do not emit ".float".

I'd say leave it as is - it's fixed now.

------------------------------------------------------------------------
Gary Thomas                              |
email: gdt@linuxppc.org                  | "Fine wine is a necessity of
   ... opinions expressed here are mine  |        life for me"
       and no one else would claim them! |
                                         |      Thomas Jefferson
------------------------------------------------------------------------





More information about the Gcc mailing list