blob: 1bd61760ced2052e1b98d75fe17f45068990376a [file] [log] [blame]
! { dg-additional-options "-ffree-line-length-none" }
subroutine foo (x, a)
implicit none
integer, value :: x
integer, contiguous :: a(0:)
external :: bar
integer :: i
!$omp masked
call bar ()
!$omp end masked
!$omp masked filter (0)
call bar ()
!$omp end masked
!$omp masked filter (7)
call bar ()
!$omp end masked
!$omp masked filter (x)
call bar ()
!$omp end masked
!$omp masked taskloop simd filter (x) grainsize (12) simdlen (4)
do i = 0, 127
a(i) = i
end do
!$omp end masked taskloop simd
!$omp parallel masked filter (x) firstprivate (x)
call bar ()
!$omp end parallel masked
!$omp masked
!$omp masked filter (0)
!$omp masked filter (x)
!$omp end masked
!$omp end masked
!$omp end masked
end
subroutine foobar (d, f, fi, p, s, g, i1, i2, l, ll, nth, ntm, pp, q, r, r2)
implicit none (type, external)
logical :: i1, i2, fi
integer :: i, d, f, p, s, g, l, ll, nth, ntm, pp, q, r, r2
allocatable :: q
integer, save :: t
!$omp threadprivate (t)
!$omp parallel masked &
!$omp& private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) reduction(+:r) &
!$omp& num_threads (nth) proc_bind(spread) copyin(t) filter (d) ! allocate (f)
!
!$omp end parallel masked
!$omp taskgroup task_reduction (+:r2) ! allocate (r2)
!$omp masked taskloop &
!$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) &
!$omp& reduction(default, +:r) in_reduction(+:r2) filter (d) ! allocate (f)
do i = 0, 63
ll = ll + 1
end do
!$omp end masked taskloop
!$omp end taskgroup
!$omp taskgroup task_reduction (+:r2) ! allocate (r2)
!$omp masked taskloop simd &
!$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) &
!$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) &
!$omp& order(concurrent) filter (d) ! allocate (f)
do i = 0, 63
ll = ll + 1
end do
!$omp end masked taskloop simd
!$omp end taskgroup
!$omp parallel masked taskloop &
!$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) &
!$omp& reduction(default, +:r) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) filter (d) ! allocate (f)
do i = 0, 63
ll = ll + 1
end do
!$omp end parallel masked taskloop
!$omp parallel masked taskloop simd &
!$omp& private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) &
!$omp& safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) &
!$omp& order(concurrent) filter (d) ! allocate (f)
do i = 0, 63
ll = ll + 1
end do
!$omp end parallel masked taskloop simd
end subroutine