1 /* { dg-do run } */ 2 /* { dg-additional-options "-msse2" { target sse2_runtime } } */ 3 /* { dg-additional-options "-mavx" { target avx_runtime } } */ 4 5 int s = 0, i, j, u; 6 7 void foo()8foo () 9 { 10 #pragma omp for simd schedule(static, 32) reduction(+:s) lastprivate(u) collapse(2) 11 for (i = 0; i < 16; i++) 12 for (j = 0; j < 16; j++) 13 { 14 s++; 15 u = i + j; 16 } 17 if (i != 16 || j != 16 || s != 256 || u != 30) 18 __builtin_abort (); 19 } 20 21 int main()22main () 23 { 24 foo (); 25 return 0; 26 } 27