> 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.

Thanks for the info.

> 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.

If that's the consensus among IA-64 maintainers, it's fine with me.

-- 
Eric Botcazou

Reply via email to