Bug#233673: gcc-3.3: Description of -ffloat-store in gcc man page is incorrect
Vincent Lefevre writes:
> Package: gcc-3.3
> Version: 1:3.3.3-1
> Severity: normal
>
> The gcc man page says:
>
> -ffloat-store
> Do not store floating point variables in registers. This pre-
> vents undesirable excess precision on machines such as the 68000
> where the floating registers (of the 68881) keep more precision
> than a double is supposed to have.
>
> For most programs, the excess precision does only good, but a
> few programs rely on the precise definition of IEEE floating
> point. Use `-ffloat-store' for such programs.
>
> The second paragraph is incorrect. The IEEE754 standard has nothing
> to do with that since it allows extended precision for intermediate
> computations. This option just makes gcc more ISO C compliant, since
> the ISO C forbids excess precision after an explicit conversion to
> double (cast or affectation).
gcc-3.4 reads:
-ffloat-store
Do not store floating point variables in registers, and inhibit
other options that might change whether a floating point value is
taken from a register or memory.
This option prevents undesirable excess precision on machines such
as the 68000 where the floating registers (of the 68881) keep more
precision than a "double" is supposed to have. Similarly for the
x86 architecture. For most programs, the excess precision does
only good, but a few programs rely on the precise definition of
IEEE floating point. Use -ffloat-store for such programs, after
modifying them to store all pertinent intermediate computations
into variables.
Reply to: