2 ! { dg
-options
"-O3 -ffast-math -floop-interchange -fdump-tree-linterchange-details" }
4 subroutine mat_times_vec
(y
,x
,a
,axp
,ayp
,azp
,axm
,aym
,azm
,
7 integer nb
,nx
,ny
,nz
,i
,j
,k
,m
,l
,kit
,im1
,ip1
,jm1
,jp1
,km1
,kp1
9 real*8 y
(nb
,nx
,ny
,nz
),x
(nb
,nx
,ny
,nz
)
11 real*8 a
(nb
,nb
,nx
,ny
,nz
),
12 1 axp
(nb
,nb
,nx
,ny
,nz
),ayp
(nb
,nb
,nx
,ny
,nz
),azp
(nb
,nb
,nx
,ny
,nz
),
13 2 axm
(nb
,nb
,nx
,ny
,nz
),aym
(nb
,nb
,nx
,ny
,nz
),azm
(nb
,nb
,nx
,ny
,nz
)
28 y
(l
,i
,j
,k
)=y
(l
,i
,j
,k
)+
29 1 a
(l
,m
,i
,j
,k
)*x
(m
,i
,j
,k
)+
30 2 axp
(l
,m
,i
,j
,k
)*x
(m
,ip1
,j
,k
)+
31 3 ayp
(l
,m
,i
,j
,k
)*x
(m
,i
,jp1
,k
)+
32 4 azp
(l
,m
,i
,j
,k
)*x
(m
,i
,j
,kp1
)+
33 5 axm
(l
,m
,i
,j
,k
)*x
(m
,im1
,j
,k
)+
34 6 aym
(l
,m
,i
,j
,k
)*x
(m
,i
,jm1
,k
)+
35 7 azm
(l
,m
,i
,j
,k
)*x
(m
,i
,j
,km1
)
44 ! { dg
-final
{ scan
-tree
-dump
-times
"is interchanged" 1 "linterchange" } }