[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug target/14384] Invalid use of extra precision floating-point with -O
From: |
wilson at specifixinc dot com |
Subject: |
[Bug target/14384] Invalid use of extra precision floating-point with -O0 optimization |
Date: |
11 Mar 2004 02:34:03 -0000 |
------- Additional Comments From wilson at specifixinc dot com 2004-03-11
02:34 -------
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)
> and
> 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
stack.
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.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14384