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