summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/graphite/pr14741.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/graphite/pr14741.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/graphite/pr14741.f9029
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/graphite/pr14741.f90 b/gcc/testsuite/gfortran.dg/graphite/pr14741.f90
new file mode 100644
index 000000000..3fe1d690c
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/graphite/pr14741.f90
@@ -0,0 +1,29 @@
+! { dg-options "-O3 -ffast-math -floop-interchange -floop-block -fdump-tree-graphite-all" }
+
+ INTEGER, PARAMETER :: N=1024
+ REAL*8 :: A(N,N), B(N,N), C(N,N)
+ REAL*8 :: t1,t2
+ A=0.1D0
+ B=0.1D0
+ C=0.0D0
+ CALL cpu_time(t1)
+ CALL mult(A,B,C,N)
+ CALL cpu_time(t2)
+ write(6,*) t2-t1,C(1,1)
+END program
+
+SUBROUTINE mult(A,B,C,N)
+ REAL*8 :: A(N,N), B(N,N), C(N,N)
+ INTEGER :: I,J,K,N
+ DO J=1,N
+ DO I=1,N
+ DO K=1,N
+ C(I,J)=C(I,J)+A(I,K)*B(K,J)
+ ENDDO
+ ENDDO
+ ENDDO
+END SUBROUTINE mult
+
+! { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" { xfail *-*-* } } }
+! { dg-final { scan-tree-dump-times "will be loop blocked" 1 "graphite" { xfail *-*-* } } }
+! { dg-final { cleanup-tree-dump "graphite" } }