aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90')
-rw-r--r--gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90204
1 files changed, 0 insertions, 204 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90 b/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90
deleted file mode 100644
index eac9eac65..000000000
--- a/gcc-4.4.3/libgomp/testsuite/libgomp.fortran/collapse3.f90
+++ /dev/null
@@ -1,204 +0,0 @@
-! { dg-do run }
-
-program collapse3
- call test1
- call test2 (2, 6, -2, 4, 13, 18)
- call test3 (2, 6, -2, 4, 13, 18, 1, 1, 1)
- call test4
- call test5 (2, 6, -2, 4, 13, 18)
- call test6 (2, 6, -2, 4, 13, 18, 1, 1, 1)
-contains
- subroutine test1
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l)
- do i = 2, 6
- do j = -2, 4
- do k = 13, 18
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test1
-
- subroutine test2(v1, v2, v3, v4, v5, v6)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l)
- do i = v1, v2
- do j = v3, v4
- do k = v5, v6
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test2
-
- subroutine test3(v1, v2, v3, v4, v5, v6, v7, v8, v9)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6, v7, v8, v9
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l)
- do i = v1, v2, v7
- do j = v3, v4, v8
- do k = v5, v6, v9
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test3
-
- subroutine test4
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l) &
- !$omp& schedule (dynamic, 5)
- do i = 2, 6
- do j = -2, 4
- do k = 13, 18
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test4
-
- subroutine test5(v1, v2, v3, v4, v5, v6)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l) &
- !$omp & schedule (guided)
- do i = v1, v2
- do j = v3, v4
- do k = v5, v6
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test5
-
- subroutine test6(v1, v2, v3, v4, v5, v6, v7, v8, v9)
- integer :: i, j, k, a(1:7, -3:5, 12:19), m
- integer :: v1, v2, v3, v4, v5, v6, v7, v8, v9
- logical :: l
- l = .false.
- a(:, :, :) = 0
- !$omp parallel do collapse (3) lastprivate (i, j, k, m) reduction (.or.:l) &
- !$omp & schedule (dynamic)
- do i = v1, v2, v7
- do j = v3, v4, v8
- do k = v5, v6, v9
- l = l.or.i.lt.2.or.i.gt.6.or.j.lt.-2.or.j.gt.4
- l = l.or.k.lt.13.or.k.gt.18
- if (.not.l) a(i, j, k) = a(i, j, k) + 1
- m = i * 100 + j * 10 + k
- end do
- end do
- end do
- if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
- if (m.ne.(600+40+18)) call abort
- do i = 1, 7
- do j = -3, 5
- do k = 12, 19
- if (i.eq.1.or.i.eq.7.or.j.eq.-3.or.j.eq.5.or.k.eq.12.or.k.eq.19) then
- if (a(i, j, k).ne.0) print *, i, j, k
- else
- if (a(i, j, k).ne.1) print *, 'kk', i, j, k, a(i, j, k)
- end if
- end do
- end do
- end do
- end subroutine test6
-
-end program collapse3