PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gfortran.dg / inline_matmul_19.f90
blobbf83238786607178fcfbe050d99c8d969a2aa71b
1 ! { dg-do run }
2 ! { dg-options "-ffrontend-optimize" }
3 ! PR 81974 - this used to cause an ICE.
5 implicit none
6 COMPLEX(kind=kind(0d0)), DIMENSION(3, 3) :: R
7 REAL(kind=kind(0d0)), DIMENSION(3, 3) :: M,a,b
8 complex(8), dimension(3,3) :: res, c
9 integer :: i, j, k
10 c = 0
11 call random_number(m)
12 call random_number(a)
13 call random_number(b)
14 r = cmplx(a, b, 8)
15 do k=1,3
16 do j=1,3
17 do i=1,3
18 c(k,j) = c(k,j) + conjg(r(i,k)) * m(i,j)
19 end do
20 end do
21 end do
22 res = MATMUL(TRANSPOSE(CONJG(R)), M)
23 if (any(abs(res-c) >= 1e-6)) STOP 1
24 c = 0
25 do k=1,3
26 do j=1,3
27 do i=1,3
28 c(i,k) = c(i,k) + m(i,j) * conjg(r(k,j))
29 end do
30 end do
31 end do
32 res = matmul(m, transpose(conjg(r)))
33 if (any(abs(res-c) >= 1e-6)) STOP 2
34 END