2022-11-04 09:35:42 -07:00

46 lines
1008 B
Fortran

! @@name: tile.2
! @@type: F-free
! @@operation: compile
! @@expect: success
! @@version: omp_5.1
subroutine func1(A)
integer :: A(128,100)
integer :: i, j
!$omp tile sizes(4, 4)
!$omp tile sizes(5,16)
do i = 1, 100
do j = 1, 128
A(j,i) = j*1000 + i
end do; end do
end subroutine
subroutine func2(A)
integer :: A(128,100)
integer :: i1, j1, i2, j2
!$omp tile sizes(4,4)
do i1 = 1, 100,5
do j1 = 1, 128,16
do i2 = i1, i1+( 5-1)
do j2 = j1, j1+(16-1)
A(j2,i2) = j2*1000 + i2
end do; end do
end do; end do
end subroutine
subroutine func3(A)
integer :: A(128,100)
integer :: i11, j11, i12, j12, i2, j2
do i11 = 1, 100, 5*4
do j11 = 1, 128, 16*4
do i12 = i11, i11+( 5*4-1), 5
do j12 = j11, j11+(16*4-1), 16
do i2 = i12, i12+ 5-1
do j2 = j12, j12+16-1
A(j2,i2) = j2*1000 + i2
enddo; enddo;
enddo; enddo;
enddo; enddo
end subroutine