> > This seems like any other target which has a fused multiply and add 
> > instruction like PPC.  Maybe a target option to turn on and off the fma
> > instruction like there is for PPC.
> 
> I'm under the impression that it's worse on IA-64 because of the "infinite 
> precision", but I might be wrong.
> 
> -- 
> Eric Botcazou

The HP compiler generates fused multiply and add by default and has several
settings for the +Ofltacc option to control this (and other optimizations
that affect floating point accuracy).

+Ofltacc=default

        Allows contractions, such as fused multiply-add (FMA), but
        disallows any other floating point optimization that can result
        in numerical differences.

+Ofltacc=limited

        Like default, but also allows floating point optimizations which
        may affect the generation and propagation of infinities, NaNs,
        and the sign of zero.

+Ofltacc=relaxed

        In addition to the optimizations allowed by limited, permits
        optimizations, such as reordering of expressions, even if
        parenthesized, that may affect rounding error.  This is the same
        as +Onofltacc.

+Ofltacc=strict

        Disallows any floating point optimization that can result in
        numerical differences.  This is the same as +Ofltacc.

It would be easy enough to add an option that turned off the use of the
fused multiply and add in GCC but I would hate to see its use turned off
by default.

Steve Ellcey
[EMAIL PROTECTED]

Reply via email to