2 ! { dg
-options
"-O3 -ffast-math -fdump-tree-reassoc1" }
3 ! { dg
-options
"-O3 -ffast-math -fdump-tree-reassoc1 --param max-completely-peel-times=16" { target spu
-*-* } }
4 subroutine anisonl
(w
,vo
,anisox
,s
,ii1
,jj1
,weight
)
5 integer ii1
,jj1
,i1
,iii1
,j1
,jjj1
,k1
,l1
,m1
,n1
6 real*8 w
(3,3),vo
(3,3),anisox
(3,3,3,3),s
(60,60),weight
8 ! This routine replaces the following lines in e_c3d
.f
for
9 ! an anisotropic material
17 s
(iii1
,jjj1
)=s
(iii1
,jjj1
)
18 & +anisox
(i1
,k1
,j1
,l1
)*w
(k1
,l1
)*weight
20 s
(iii1
,jjj1
)=s
(iii1
,jjj1
)
21 & +anisox
(i1
,k1
,m1
,l1
)*w
(k1
,l1
)
23 & +anisox
(m1
,k1
,j1
,l1
)*w
(k1
,l1
)
26 s
(iii1
,jjj1
)=s
(iii1
,jjj1
)
27 & +anisox
(m1
,k1
,n1
,l1
)
28 & *w
(k1
,l1
)*vo
(i1
,m1
)*vo
(j1
,n1
)*weight
39 ! There should be
22 multiplications left after un
-distributing
40 ! weigth
, w
(k1
,l1
), vo
(i1
,m1
) and vo
(j1
,m1
) on the innermost two
43 ! { dg
-final
{ scan
-tree
-dump
-times
"\[0-9\] \\\* " 22 "reassoc1" } }
44 ! { dg
-final
{ cleanup
-tree
-dump
"reassoc1" } }