| /* { dg-do run } */ | |
| /* { dg-additional-options "-msse2" { target sse2_runtime } } */ | |
| /* { dg-additional-options "-mavx" { target avx_runtime } } */ | |
| int s = 0, i, j, u; | |
| void | |
| foo () | |
| { | |
| #pragma omp for simd schedule(static, 32) reduction(+:s) lastprivate(u) collapse(2) | |
| for (i = 0; i < 16; i++) | |
| for (j = 0; j < 16; j++) | |
| { | |
| s++; | |
| u = i + j; | |
| } | |
| if (i != 16 || j != 16 || s != 256 || u != 30) | |
| __builtin_abort (); | |
| } | |
| int | |
| main () | |
| { | |
| foo (); | |
| return 0; | |
| } |