The documentation for -fcx-limited-range states:

@item -fcx-limited-range
@opindex fcx-limited-range
When enabled, this option states that a range reduction step is not
needed when performing complex division.  The default is
@option{-fno-cx-limited-range}, but is enabled by @option{-ffast-math}.

This option controls the default setting of the ISO C99
@code{CX_LIMITED_RANGE} pragma.  Nevertheless, the option applies to
all languages.

However, -fcx-limited-range (and the CX_LIMITED_RANGE pragma) affect
multiplication and absolute value as well as division, since it's not only
range reduction but also handling of FP exceptions. See Section 7.3.4 and Annex
G in the C99 standard (assuming the FCD is close to the actual standard). 

At least for multiplication, it seems the actual code is correct, i.e. a call
to mulsc in libgcc is done without -fcx-limited-range, so I guess it's only the
documentation that needs to be updated.


-- 
           Summary: Documentation incorrect for -fcx-limited-range
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jb at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35162

Reply via email to