This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Excess precision problem on IA-64


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]