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()8 rows_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()26 calc_rows() {
27   for (; calc_rows_row2; calc_rows_row2++) {
28     rows_bad();
29     bad_odd_rows_0_0 = rows_bad();
30   }
31 }
32