https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116352
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed, slightly reduced with some more clean up (loop is now closer to be finite): ``` int a; float b, c; void l(int h, int f, int g, float *e) { for (int m = 0; m < h; m++) { float i = 2 * b, j = 2 * c; if (a) { e[m*4 + 0] = e[m*4 + 1] = (j - g * 0.5f); e[m*4 + 2] = e[m*4 + 3] = (i + f * 0.5f); } else e[m*4 + 0] = f * 0.5f + g * 0.5f; } } ```