blob: 23ffb084ee1df6d9703e00e2da7dad4cf348d04d [file] [log] [blame]
subroutine foo (a, f)
implicit none (type, external)
interface
subroutine bar (x)
integer :: x
end subroutine
end interface
integer, value :: f
integer, contiguous :: a(0:)
integer :: i, j, k, u, v, w, x, y, z
!$omp parallel masked default(none) private (k) filter (f) firstprivate (f)
call bar (k)
!$omp end parallel masked
!$omp parallel masked default(none) private (k)
call bar (k)
!$omp end parallel masked
!$omp parallel default(none) firstprivate(a, f) shared(x, y, z)
!$omp masked taskloop reduction (+:x) default(none) firstprivate(a) filter (f)
do i = 0, 63
x = x + a(i)
end do
!$omp end masked taskloop
!$omp masked taskloop simd reduction (+:y) default(none) firstprivate(a) private (i) filter (f)
do i = 0, 63
y = y + a(i)
end do
!$omp end masked taskloop simd
!$omp masked taskloop simd reduction (+:y) default(none) firstprivate(a) private (i)
do i = 0, 63
y = y + a(i)
end do
!$omp end masked taskloop simd
!$omp masked taskloop simd collapse(2) reduction (+:z) default(none) firstprivate(a) private (i, j) filter (f)
do j = 0, 0
do i = 0, 63
z = z + a(i)
end do
end do
!$omp end masked taskloop simd
!$omp end parallel
!$omp parallel masked taskloop reduction (+:u) default(none) firstprivate(a, f) filter (f)
do i = 0, 63
u = u + a(i)
end do
!$omp end parallel masked taskloop
!$omp parallel masked taskloop simd reduction (+:v) default(none) firstprivate(a, f) filter (f)
do i = 0, 63
v = v + a(i)
end do
!$omp end parallel masked taskloop simd
!$omp parallel masked taskloop simd collapse(2) reduction (+:w) default(none) firstprivate(a, f) filter (f)
do j = 0, 0
do i = 0, 63
w = w + a(i)
end do
end do
!$omp end parallel masked taskloop simd
end