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



On Oct 27, 2005, at 14:12, Eric Botcazou wrote:
I'm under the impression that it's worse on IA-64 because of the "infinite
precision", but I might be wrong.

Fused multiply-add always uses "infinite precision" in the intermediate result. Only a single rounding is performed at the end. We really should have a way to express situations where operations may or may not be contracted, instead of having to do this on a whole-compilation level.

Many computations, especially those involving higher-precision intermediate
results, are far easier to implement with explicit control over cases where
contractions are allowed. Such techniques are used a lot for implementation
of correctly rounded elementary functions.


Currently the only way we can get that kind of precision, while being
able to have the code inlined, is to use assembler insertions, that
unnecessarily make the code system dependent.

-Geert


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