[Bug middle-end/36300] Incorrect type used for inlined expression
acarmeli at mathworks dot com
gcc-bugzilla@gcc.gnu.org
Wed May 28 12:26:00 GMT 2008
------- Comment #14 from acarmeli at mathworks dot com 2008-05-28 12:25 -------
You are correct. But step 6 did not reveal that, and provided a correct s64
result. This result should have been carried over to step 7 to lead to a
correct result.
Otherwise, it will not be possible to get the result through a folded
expression.
It seems to me that adding more to the expression changes the optimization to
inner expressions in a way that compromizes the numerical stability.
We also tried masking to eliminate unwanted bits. The masks seem to have no
effect and we suspect they get optimized out. It was an unfavorable solution
anyway, due to the cost of the mask.
In effect, there is no reliable way to grow a folded expression and
consistently preserve the result of inner expressions. The only solution we
have is temporary variables, which might get optimized out and folded as well.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36300
More information about the Gcc-bugs
mailing list