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

Reply via email to