2 ! { dg-options "-ffrontend-optimize -fdump-tree-original" }
6 real(kind
=8), ALLOCATABLE
:: a(:,:), b(:,:), v1(:), v2(:)
7 real(kind
=8), dimension(3,3) :: v1res
, v2res
10 data v1res
/ 442.d0
, -492.d0
, 586.d0
, &
11 -4834.d0
, 5694.d0
, -7066.d0
, &
12 13042.d0
, -15450.d0
, 19306.d0
/
14 data v2res
/ 5522.d0
, -6310.d0
, 7754.d0
, &
15 -7794.d0
, 8982.d0
, -11034.d0
, &
16 10490.d0
, -12160.d0
, 14954.d0
/
19 ALLOCATE(a(N
,N
),b(N
,N
),v1(N
), v2(N
))
21 a
= reshape([((-1)**i
*(-i
-5)*(i
+3)+5,i
=1,n
**2)], shape(a
))
22 b
= reshape([((-1)**i
*(-i
-1)*(i
-2),i
=1,n
**2)], shape(a
))
26 if (any(abs(v1
-v1res(:,i
)) > 1e-10)) call abort
29 if (any(abs(v2
-v2res(:,i
)) > 1e-10)) call abort
34 ! { dg-final { scan-tree-dump-times "_gfortran_matmul" 0 "original" } }