Excess precision problem on IA-64
Eric Botcazou
ebotcazou@adacore.com
Thu Oct 27 22:08:00 GMT 2005
> 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
More information about the Gcc
mailing list