2 ! { dg-additional-options "-msse2" { target sse2_runtime } }
3 ! { dg-additional-options "-mavx" { target avx_runtime } }
10 !$omp simd linear(b:2) reduction(+:c)
12 c
= c
+ b
- (7 + 2 * i
)
15 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 64 * 2) call abort
19 !$omp simd linear(b:3) reduction(+:c)
21 c
= c
+ b
- (7 + i
/ 4 * 3)
24 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 16 * 3) call abort
28 !$omp simd linear(i) linear(b:2) reduction(+:c)
30 c
= c
+ b
- (7 + 2 * i
)
33 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 64 * 2) call abort
37 !$omp simd linear(i:4) linear(b:3) reduction(+:c)
39 c
= c
+ b
- (7 + i
/ 4 * 3)
42 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 16 * 3) call abort
46 !$omp simd collapse(2) linear(b:2) reduction(+:c)
49 c
= c
+ b
- (7 + 2 * j
+ 2 * 8 * i
)
53 if (c
/= 0 .or
. i
/= 8 .or
. j
/= 8 .or
. b
/= 7 + 64 * 2) call abort
57 !$omp simd collapse(2) linear(b:2) reduction(+:c) lastprivate (i, j)
60 c
= c
+ b
- (7 + 2 * j
+ 2 * 8 * i
)
64 if (c
/= 0 .or
. i
/= 8 .or
. j
/= 8 .or
. b
/= 7 + 64 * 2) call abort
68 !$omp parallel do simd schedule (static, 4) linear(b:2) reduction(+:c)
70 c
= c
+ b
- (7 + 2 * i
)
73 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 64 * 2) call abort
77 !$omp parallel do simd schedule (static, 4) linear(b:3) reduction(+:c)
79 c
= c
+ b
- (7 + i
/ 4 * 3)
82 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 16 * 3) call abort
86 !$omp parallel do simd schedule (static, 4) linear(i) linear(b:2) reduction(+:c)
88 c
= c
+ b
- (7 + 2 * i
)
91 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 64 * 2) call abort
95 !$omp parallel do simd schedule (static, 4) linear(i:4) linear(b:3) reduction(+:c)
97 c
= c
+ b
- (7 + i
/ 4 * 3)
100 if (c
/= 0 .or
. i
/= 64 .or
. b
/= 7 + 16 * 3) call abort
104 !$omp parallel do simd schedule (static, 4) collapse(2) linear(b:2) reduction(+:c)
107 c
= c
+ b
- (7 + 2 * j
+ 2 * 8 * i
)
111 if (c
/= 0 .or
. i
/= 8 .or
. j
/= 8 .or
. b
/= 7 + 64 * 2) call abort
115 !$omp parallel do simd schedule (static, 4) collapse(2) linear(b:2) &
116 !$omp & reduction(+:c) lastprivate (i, j)
119 c
= c
+ b
- (7 + 2 * j
+ 2 * 8 * i
)
123 if (c
/= 0 .or
. i
/= 8 .or
. j
/= 8 .or
. b
/= 7 + 64 * 2) call abort