https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126008
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
@@ -25,22 +20,18 @@
goto __BB7(guessed(14763950));
__BB(5,guessed_local(105119324)):
- _15 = (unsigned int) r_5(D);
- _16 = _15 * 4223961365u;
- _17 = _16 + 1581643674u;
- _18 = (int) _17;
- ivtmp.8_10 = (__SIZETYPE__) _18;
+ _15 = (__SIZETYPE__) r_5(D);
+ _16 = _15 * 18446744073638545685ul;
+ ivtmp.8_10 = _16 + 1581643674ul;
goto __BB3(precise(134217728));
__BB(3,loop_header(1),guessed_local(955630224)):
+ p_12 = __PHI (__BB6: _2, __BB5: p_7);
ivtmp.8_3 = __PHI (__BB6: ivtmp.8_11, __BB5: ivtmp.8_10);
- _19 = (unsigned int) ivtmp.8_3;
- _20 = _19 + 1u;
- _2 = (int) _20;
+ _2 = p_12 + 1;
__MEM <int> ((int *)&o + ivtmp.8_3 * 4ul) = _2;
ivtmp.8_11 = ivtmp.8_3 + 1ul;
- _21 = (int) ivtmp.8_11;
- if (_21 != 12)
+ if (_2 != 12)
goto __BB6(guessed(119453778));
else
goto __BB8(guessed(14763950));
there's something wrong with the new initial value for ivtmp.8_3.
I'll note that 4223961365u == -71005931 and 18446744073638545685ul == -71005931