2017-12-08 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gfortran.dg / inline_matmul_12.f90
blobcc6fabdcd9ef557a82f8a4231833ee090c1c6327
1 ! { dg-do compile }
2 ! { dg-options "-ffrontend-optimize -fdump-tree-original" }
3 ! PR 69154 - inlined matmul used to cause an ICE inside a WHERE.
4 MODULE m_numeric_tools
5 INTEGER, PARAMETER :: dp=8
6 CONTAINS
7 subroutine llsfit_svd(xx,yy,sigma,nfuncs,funcs,chisq,par,var,cov,info)
8 real(dp),intent(in) :: xx(:),yy(:),sigma(:)
9 real(dp),dimension(SIZE(xx)) :: bb,sigm1
10 real(dp) :: tmp(nfuncs)
11 real(dp),allocatable :: work(:),Vt(:,:),U(:,:),S(:)
12 real(dp),dimension(3,3) :: a, b, c
13 WHERE (S>TOL_*MAXVAL(S))
14 tmp=MATMUL(bb,U)/S
15 END WHERE
16 call random_number(a)
17 call random_number(b)
18 c = matmul(a,b)
19 end subroutine llsfit_svd
21 END MODULE m_numeric_tools
22 ! { dg-final { scan-tree-dump-times "matmul_r8" 1 "original" } }