2 // { dg-additional-options "-msse2" { target sse2_runtime } }
3 // { dg-additional-options "-mavx" { target avx_runtime } }
12 #pragma omp simd private (i)
13 for (i
= 0; i
< N
; i
++)
15 #pragma omp simd lastprivate (i)
16 for (i
= 0; i
< N
; i
++)
25 #pragma omp simd private (i), collapse (2), lastprivate (j)
26 for (i
= 0; i
< 32; i
++)
27 for (j
= 0; j
< 32; ++j
)
28 a
[i
* 32 + j
] += b
[i
* 32 + j
] * 2;
36 #pragma omp for simd private (i)
37 for (i
= 0; i
< N
; ++i
)
39 #pragma omp for simd lastprivate (i)
40 for (i
= 0; i
< N
; ++i
)
49 #pragma omp for simd private (i)collapse (2)lastprivate (j)
50 for (i
= 0; i
< 32; ++i
)
51 for (j
= 0; j
< 32; j
++)
52 a
[i
* 32 + j
] += b
[i
* 32 + j
] * 2;
60 for (i
= 0; i
< N
; ++i
)
62 if (f1 () != 1024 || f2 () != 32)
64 #pragma omp parallel num_threads(4)
65 if (f3 () != 1024 || f4 () != 32)
67 for (i
= 0; i
< N
; ++i
)
68 if (a
[i
] != 6 * i
|| b
[i
] != i
)