[Bug tree-optimization/110582] [14 Regression] Wrong code at -O2/3 on x86_64-linux-gnu
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jul 7 11:19:52 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110582
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
CC| |amacleod at redhat dot com
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
It works with -fno-tree-loop-optimize but the difference from loop opts is just
int main ()
{
int D.2782;
int b_lsm.13;
int a_lsm.12;
char c;
- unsigned char c.6_2;
- unsigned char _3;
int iftmp.1_11;
int _12(D);
int iftmp.1_15;
+ unsigned char ivtmp_36;
+ unsigned char ivtmp_37;
int _38;
long int _39;
long int _40;
@@ -23,8 +21,8 @@
<bb 2> [local count: 10737416]:
<bb 3> [local count: 1063004409]:
- # c_21 = PHI <c_18(5), 0(2)>
# a_lsm.12_4 = PHI <iftmp.1_11(5), 0(2)>
+ # ivtmp_37 = PHI <ivtmp_36(5), 253(2)>
if (a_lsm.12_4 != 0)
goto <bb 4>; [50.00%]
else
@@ -35,10 +33,8 @@
<bb 5> [local count: 1063004409]:
# iftmp.1_11 = PHI <iftmp.1_15(4), 2(3)>
- c.6_2 = (unsigned char) c_21;
- _3 = c.6_2 + 1;
- c_18 = (char) _3;
- if (c_18 != -3)
+ ivtmp_36 = ivtmp_37 - 1;
+ if (ivtmp_36 != 0)
goto <bb 3>; [98.99%]
else
with that indeed threadfull2 miscompiles this somehow. Andrew?
More information about the Gcc-bugs
mailing list