! { 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" } }