https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119114
--- Comment #2 from Li Pan <pan2.li at intel dot com> --- Tweak test case for easy locating. 1 │ int b[18]; 2 │ long long al; 3 │ _Bool e; 4 │ char f = 010; 5 │ short t[18]; 6 │ 7 │ unsigned w[8][18][18][18]; 8 │ _Bool a; 9 │ 10 │ // __attribute__((noinline)) 11 │ void c(_Bool e, char f, short tmp[], unsigned w[][18][18][18]) { 12 │ for (int ae = 1; ae < f + 5; ae += 2) { // loop idx 1, 3, 5, 7, 9, 11 13 │ a -= (_Bool)(tmp[ae - 1] & tmp[ae + 3]); 14 │ 15 │ for (short af = 0; af < 18; af += 2) 16 │ for (_Bool ah = 0; ah < (w[e][1][af][0] > 0); ah = 5) 17 │ b[af] |= 1; 18 │ } 19 │ } 20 │ 21 │ int main() { 22 │ for (int ad = 0; ad < 18; ad++) 23 │ t[ad] = 3; 24 │ 25 │ __asm__ volatile ("fence\n\t"::); 26 │ 27 │ c(e, f, t, w); 28 │ 29 │ al = a; 30 │ __builtin_printf("Final %llu, but expect 0.\n", al); 31 │ }