https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107212
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Summary|-O2 and -O3 optimizer bug |[11/12/13 Regression] Wrong | |vectorizer code since | |r11-718-gc735929a2503a7d0 CC| |marxin at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Status|UNCONFIRMED |NEW Component|c |tree-optimization Target Milestone|--- |11.5 Keywords| |wrong-code Last reconfirmed| |2022-10-11 --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- A bit reduced test-case: $ cat pr107212.c int main() { unsigned int tab[6][2] = { {69, 73}, {36, 40}, {24, 16}, {16, 11}, {4, 5}, {3, 1} }; int flag = 1; int sum_0 = 0; int sum_1 = 0; for(int t=0; t<6; t++) { sum_0 += tab[t][0]; sum_1 += tab[t][1]; } int x1 = (sum_0 < 100); int x2 = (sum_0 > 200); int x3 = (x1 || x2); if(sum_1 > 200) { flag=0; } __builtin_printf("sum_1: %d\n", sum_1); if (x1 || x2) __builtin_abort (); return 0; } With -O3 it started with r11-718-gc735929a2503a7d0.