2 ! { dg-options "-O -fdump-tree-optimized -finline-matmul-limit=1000" }
7 real, dimension(3,3) :: afunc
8 afunc
= reshape([ 2., 3., 5., 7., 11., 13., 17., 19., 23. ], [3,3])
12 real, dimension(3,3) :: bfunc
13 bfunc
= reshape([29., 31., 37., 41., 43., 47., 53., 59., 61., 67.],[3,3])
20 real, dimension(3,3), parameter :: &
21 & aval
= reshape([ 2., 3., 5., 7., 11., 13., 17., 19., 23. ], [3,3]), &
22 & bval
= reshape([29., 31., 37., 41., 43., 47., 53., 59., 61., 67.],[3,3])
23 integer, dimension(3) :: ind
24 real, dimension(3,3) :: a
, b
,c
,d
, ri
25 data ri
/120430., 187861., 151737., 161022., 251139., 202847., 212566., 331537., 267781./
26 data d
/904., 1131., 1399., 1182., 1489., 1845., 1556., 1967., 2435. /
31 if (any(a
-c
/= 0)) STOP 1
35 if (any(b
-c
/= 0)) STOP 2
38 if (any(a
-c
/= 0)) STOP 3
40 c
= matmul(a(ind
,:),b
)
41 if (any(c
-ri
/= 0)) STOP 4
43 if (any(c
-d
/= 0)) STOP 5
45 c
= matmul(a
, bfunc())
46 if (any(c
-d
/= 0)) STOP 6
48 ! { dg-final { scan-tree-dump-times "matmul_r4" 2 "optimized" } }