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