41 lines
838 B
Plaintext
41 lines
838 B
Plaintext
|
|
program loops_combiner_test
|
||
|
|
implicit none
|
||
|
|
parameter (l = 16,m = 6)
|
||
|
|
real :: a(l),b(l),c(l)
|
||
|
|
|
||
|
|
|
||
|
|
! should be combined by it1-it2 dimension only:
|
||
|
|
do it1 = 1,m
|
||
|
|
do k1 = 1,l
|
||
|
|
a(k1) = it1 + k1
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
|
||
|
|
do it2 = 1,m
|
||
|
|
do k2 = 1,l - 1
|
||
|
|
a(k2) = it2 * k2
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
|
||
|
|
! should be combined by it1-it2, k1-k2 dimensions only:
|
||
|
|
do it1 = 1,m - 1
|
||
|
|
do k1 = 1,l
|
||
|
|
do p1 = 1,l,2
|
||
|
|
do j1 = 1, l
|
||
|
|
a(k1) = j1 * p1 - it1
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
|
||
|
|
do it2 = 1,m - 1
|
||
|
|
do k2 = 1,l
|
||
|
|
do p2 = 1,l
|
||
|
|
a(k2) = it2 + k2 * p2
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
|
||
|
|
end
|
||
|
|
|