1 /* { dg-do compile } */ 2 /* { dg-options "-O3 --param=max-unswitch-insns=1024" } */ 3 /* { dg-additional-options "-mavx512vl" { target x86_64-*-* i?86-*-* } } */ 4 5 int bad_odd_rows_0_0, rows_bad_row1, rows_bad_group_okay, calc_rows_row2; 6 7 int rows_bad()8rows_bad() { 9 int i, in_zeroes; 10 char block; 11 i = 0; 12 for (; i < 5; i++) 13 if (rows_bad_row1 & i) 14 in_zeroes = 0; 15 else { 16 if (!in_zeroes) 17 in_zeroes = 1; 18 if (block & 1) 19 rows_bad_group_okay = 1; 20 } 21 if (in_zeroes) 22 return rows_bad_group_okay; 23 } 24 25 void calc_rows()26calc_rows() { 27 for (; calc_rows_row2; calc_rows_row2++) { 28 rows_bad(); 29 bad_odd_rows_0_0 = rows_bad(); 30 } 31 } 32