blob: a061e28b35ad2a9a820968cb91d4b5387c5173fe [file] [log] [blame]
! { 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