https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103226
--- Comment #5 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- FWIW, the *.ch2 dump on both x86-64 and bfin-elf are identical. This is unlikely to help, but... In *.ivopts we start seeing differences in the IL: <bb 5> [local count: 60236916]: e = 1; + ivtmp.29_7 = (unsigned int) &g; goto <bb 11>; [100.00%] <bb 6> [local count: 60236916]: @@ -593,7 +590,8 @@ goto <bb 9>; [50.00%] <bb 8> [local count: 1625827684]: - MEM[(int *)&g + ivtmp.26_25 * 4] = 4; + _8 = (void *) ivtmp.29_25; + MEM[(int *)_8] = 4; <bb 9> [local count: 3251655368]: ivtmp_15 = ivtmp_14 - 1; @@ -603,8 +601,9 @@ goto <bb 10>; [14.29%] <bb 10> [local count: 542132239]: - ivtmp.26_10 = ivtmp.26_25 + 1; - if (ivtmp.26_10 != 9) + h_11 = h_6 + 1; + ivtmp.29_10 = ivtmp.29_25 + 4; + if (h_11 != 9) goto <bb 19>; [90.00%] else goto <bb 12>; [10.00%] @@ -612,7 +611,8 @@ <bb 19> [local count: 487919014]: <bb 11> [local count: 542132239]: - # ivtmp.26_25 = PHI <ivtmp.26_10(19), 0(5)> + # h_6 = PHI <h_11(19), 0(5)> + # ivtmp.29_25 = PHI <ivtmp.29_10(19), ivtmp.29_7(5)> goto <bb 7>; [100.00%]