| /* { dg-do compile } */ |
| /* { dg-options "-O3 --param=max-unswitch-insns=1024" } */ |
| /* { dg-additional-options "-mavx512vl" { target x86_64-*-* i?86-*-* } } */ |
| |
| int bad_odd_rows_0_0, rows_bad_row1, rows_bad_group_okay, calc_rows_row2; |
| |
| int |
| rows_bad() { |
| int i, in_zeroes; |
| char block; |
| i = 0; |
| for (; i < 5; i++) |
| if (rows_bad_row1 & i) |
| in_zeroes = 0; |
| else { |
| if (!in_zeroes) |
| in_zeroes = 1; |
| if (block & 1) |
| rows_bad_group_okay = 1; |
| } |
| if (in_zeroes) |
| return rows_bad_group_okay; |
| } |
| |
| void |
| calc_rows() { |
| for (; calc_rows_row2; calc_rows_row2++) { |
| rows_bad(); |
| bad_odd_rows_0_0 = rows_bad(); |
| } |
| } |