[Bug tree-optimization/66894] [6 Regression] wrong code at -Os and above on x86_64-linux-gnu
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 16 08:02:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66894
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
<bb 6>:
d_21 = (char) a.0_6;
if (d_21 != 0)
goto <bb 7>;
else
goto <bb 8>;
<bb 7>:
_22 = (int) d_21;
_23 = 1 / _22;
iftmp.1_24 = (short int) _23;
<bb 8>:
# iftmp.1_25 = PHI <0(6), iftmp.1_24(7)>
b = iftmp.1_25;
if (a.0_6 != 0)
goto <bb 9>;
else
goto <bb 3>;
<bb 9>:
if (d_21 != 0)
ok, so here we derive from a.0_6 != 0 that (char) a.0_6 != 0 which isn't
true obviously. Looks like we can't derive any inequality from truncations.
More information about the Gcc-bugs
mailing list