summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/loop_interchange_1.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/loop_interchange_1.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/loop_interchange_1.f9022
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/loop_interchange_1.f90 b/gcc/testsuite/gfortran.dg/loop_interchange_1.f90
new file mode 100644
index 00000000000..a061e28b35a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/loop_interchange_1.f90
@@ -0,0 +1,22 @@
+! { dg-do compile }
+! { dg-additional-options "-O -Wfrontend-loop-interchange" }
+PROGRAM TEST_DO_SPEED
+ IMPLICIT NONE
+
+ REAL, ALLOCATABLE :: A(:,:,:), B(:,:,:), C(:,:,:)
+ REAL :: TIC
+ INTEGER :: T0, T1, T2
+ INTEGER :: I, J, K
+ INTEGER, PARAMETER :: L = 512, M = 512, N = 512
+
+ ALLOCATE( A(L,M,N), B(L,M,N), C(L,M,N) )
+ CALL RANDOM_NUMBER(A)
+ CALL RANDOM_NUMBER(B)
+
+ CALL SYSTEM_CLOCK( T0, TIC)
+
+ DO CONCURRENT( K=1:N, J=1:M, I=1:L) ! { dg-warning "Interchanging loops" }
+ C(I,J,K) = A(I,J,K) +B(I,J,K)
+ END DO
+END
+