2 ! { dg-additional-options "-msse2" { target sse2_runtime } }
3 ! { dg-additional-options "-mavx" { target avx_runtime } }
9 integer :: i
, j
, k
, l
, r
, s
, a(30)
10 integer, target
:: q(30)
11 integer, pointer :: p(:)
12 !$omp declare reduction (foo : integer : &
13 !$omp & omp_out = omp_out + omp_in) initializer (omp_priv = 0)
14 !$omp declare reduction (+ : dt : omp_out%x = omp_out%x &
23 !$omp simd safelen (8) reduction(+:r, t) linear(j, k : 2) &
24 !$omp& private (l) aligned(p : 4) reduction(foo:s)
26 l
= j
+ k
+ a(i
) + p(i
)
33 if (r
.ne
.2700.or
.j
.ne
.70.or
.k
.ne
.80.or
.s
.ne
.2700) stop 1
34 if (t
%x
.ne
.2700) stop 2