2 ! { dg-additional-options "-O -Wfrontend-loop-interchange" }
6 REAL, ALLOCATABLE
:: A(:,:,:), B(:,:,:), C(:,:,:)
10 INTEGER, PARAMETER :: L
= 512, M
= 512, N
= 512
12 ALLOCATE( A(L
,M
,N
), B(L
,M
,N
), C(L
,M
,N
) )
16 CALL SYSTEM_CLOCK( T0
, TIC
)
18 DO CONCURRENT( K
=1:N
, J
=1:M
, I
=1:L
) ! { dg-warning "Interchanging loops" }
19 C(I
,J
,K
) = A(I
,J
,K
) +B(I
,J
,K
)