2 /* { dg-options "-O2" } */
3 /* { dg-additional-options "-msse2" { target sse2_runtime } } */
4 /* { dg-additional-options "-mavx" { target avx_runtime } } */
11 #pragma omp simd linear(b:2) reduction(+:c)
12 for (i
= 0; i
< 64; i
++)
14 c
= c
+ (b
!= 7 + 2 * i
);
17 if (c
|| i
!= 64 || b
!= 7 + 64 * 2)
20 #pragma omp simd linear(b:3) reduction(+:c)
21 for (i
= 0; i
< 64; i
+= 4)
23 c
= c
+ (b
!= 7 + i
/ 4 * 3);
26 if (c
|| i
!= 64 || b
!= 7 + 16 * 3)
29 #pragma omp simd linear(i) linear(b:2) reduction(+:c)
30 for (i
= 0; i
< 64; i
++)
32 c
= c
+ (b
!= 7 + 2 * i
);
35 if (c
|| i
!= 64 || b
!= 7 + 64 * 2)
38 #pragma omp simd linear(i:4) linear(b:3) reduction(+:c)
39 for (i
= 0; i
< 64; i
+= 4)
41 c
= c
+ (b
!= 7 + i
/ 4 * 3);
44 if (c
|| i
!= 64 || b
!= 7 + 16 * 3)
47 #pragma omp simd collapse (2) linear(b:2) reduction(+:c)
48 for (i
= 0; i
< 8; i
++)
49 for (j
= 0; j
< 8; j
++)
51 c
= c
+ (b
!= 7 + 2 * j
+ 2 * 8 * i
);
54 if (c
|| i
!= 8 || j
!= 8 || b
!= 7 + 64 * 2)
57 #pragma omp simd collapse (2) lastprivate (i, j) linear(b:2) reduction(+:c)
58 for (i
= 0; i
< 8; i
++)
59 for (j
= 0; j
< 8; j
++)
61 c
= c
+ (b
!= 7 + 2 * j
+ 2 * 8 * i
);
64 if (c
|| i
!= 8 || j
!= 8 || b
!= 7 + 64 * 2)
67 #pragma omp parallel for simd schedule (static, 4) linear(b:2) reduction(+:c)
68 for (i
= 0; i
< 64; i
++)
70 c
= c
+ (b
!= 7 + 2 * i
);
73 if (c
|| i
!= 64 || b
!= 7 + 64 * 2)
76 #pragma omp parallel for simd schedule (static, 4) linear(b:3) reduction(+:c)
77 for (i
= 0; i
< 64; i
+= 4)
79 c
= c
+ (b
!= 7 + i
/ 4 * 3);
82 if (c
|| i
!= 64 || b
!= 7 + 16 * 3)
85 #pragma omp parallel for simd schedule (static, 4) linear(i) linear(b:2) reduction(+:c)
86 for (i
= 0; i
< 64; i
++)
88 c
= c
+ (b
!= 7 + 2 * i
);
91 if (c
|| i
!= 64 || b
!= 7 + 64 * 2)
94 #pragma omp parallel for simd schedule (static, 4) linear(i:4) linear(b:3) reduction(+:c)
95 for (i
= 0; i
< 64; i
+= 4)
97 c
= c
+ (b
!= 7 + i
/ 4 * 3);
100 if (c
|| i
!= 64 || b
!= 7 + 16 * 3)
103 #pragma omp parallel for simd lastprivate (i, j) collapse (2) schedule (static, 4) linear(b:2) reduction(+:c)
104 for (i
= 0; i
< 8; i
++)
105 for (j
= 0; j
< 8; j
++)
107 c
= c
+ (b
!= 7 + 2 * j
+ 2 * 8 * i
);
110 if (c
|| i
!= 8 || j
!= 8 || b
!= 7 + 64 * 2)
113 #pragma omp parallel for simd collapse (2) schedule (static, 4) linear(b:2) reduction(+:c)
114 for (i
= 0; i
< 8; i
++)
115 for (j
= 0; j
< 8; j
++)
117 c
= c
+ (b
!= 7 + 2 * j
+ 2 * 8 * i
);
120 if (c
|| i
!= 8 || j
!= 8 || b
!= 7 + 64 * 2)