1 ! Test of worker-private variables declared on a loop directive, broadcasting
2 ! to vector-partitioned mode. Back-to-back worker loops.
7 integer :: x
, i
, j
, k
, idx
, arr(0:32*32*32)
13 !$acc kernels copy(arr)
14 !$acc loop gang(num:32)
16 !$acc loop worker(num:8) private(x)
20 !$acc loop vector(length:32)
22 arr(i
* 1024 + j
* 32 + k
) = arr(i
* 1024 + j
* 32 + k
) + x
* k
26 !$acc loop worker(num:8) private(x)
30 !$acc loop vector(length:32)
32 arr(i
* 1024 + j
* 32 + k
) = arr(i
* 1024 + j
* 32 + k
) + x
* k
41 idx
= i
* 1024 + j
* 32 + k
42 if (arr(idx
) .ne
. idx
+ ieor(i
, j
* 3) * k
+ ior(i
, j
* 5) * k
) then