[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug target/14384] Invalid use of extra precision floating-point with -O
wilson at specifixinc dot com
[Bug target/14384] Invalid use of extra precision floating-point with -O0 optimization
11 Mar 2004 02:34:03 -0000
------- Additional Comments From wilson at specifixinc dot com 2004-03-11
Subject: Re: Invalid use of extra precision floating-point
with -O0 optimization
anz at obs-nice dot fr wrote:
> This even simpler code shows that gcc doesn't round an expression to (float)
> keeps the extra precision even when an explicit cast is present, where it
> shouldn't be allowed to do so.
Yes. As I explained a week ago, this is the excess-precision problem
that has been known for over a decade. There is no easy solution in the
compiler because the design of the x86 FP register stack is flawed. You
either have to use a compiler workaround, or else you have to complain
to Intel, or else you have to stop doing FP work on the x86 FP register
Or you could try writing a fix for gcc yourself, but this will be hard,
and will hurt performance, and will introduce double-rounding errors.
So you may still have problems even with a fix. That is why we haven't
already done it.
Continuing to complain to us will only annoy us. We can't fix it.