| /* PR middle-end/66429 */ |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fopenmp" } */ |
| |
| float b[10][15][10]; |
| |
| __attribute__ ((noreturn)) void |
| noreturn (void) |
| { |
| for (;;); |
| } |
| |
| __attribute__ ((noinline, noclone)) void |
| foo (int n) |
| { |
| int i; |
| |
| #pragma omp parallel for simd schedule(static, 32) collapse(3) |
| for (i = 0; i < 10; i++) |
| for (int j = n; j < 8; j++) |
| for (long k = -10; k < 10; k++) |
| { |
| b[i][j][k] += 16; |
| noreturn (); |
| b[i][j][k] -= 32; |
| } |
| } |
| |
| __attribute__ ((noinline, noclone)) void |
| bar (void) |
| { |
| int i; |
| |
| #pragma omp parallel for simd schedule(static, 32) |
| for (i = 0; i < 10; i++) |
| { |
| b[0][0][i] += 16; |
| noreturn (); |
| b[0][0][i] -= 32; |
| } |
| } |