1! { dg-do compile }
2
3   SUBROUTINE smm_dnn_4_10_10_1_1_2_1(A,B,C)
4      REAL   :: C(4,10), B(10,10), A(4,10)
5      DO j=           1 ,          10 ,           2
6      DO i=           1 ,           4 ,           1
7      DO l=           1 ,          10 ,           1
8        C(i+0,j+0)=C(i+0,j+0)+A(i+0,l+0)*B(l+0,j+0)
9        C(i+0,j+1)=C(i+0,j+1)+A(i+0,l+0)*B(l+0,j+1)
10      ENDDO
11      ENDDO
12      ENDDO
13    END SUBROUTINE
14   SUBROUTINE smm_dnn_4_10_10_6_4_1_1(A,B,C)
15      REAL   :: C(4,10), B(10,10), A(4,10)
16      DO l=           1 ,          10 ,           1
17      DO j=           1 ,          10 ,           1
18        C(i+0,j+0)=C(i+0,j+0)+A(i+0,l+0)*B(l+0,j+0)
19      ENDDO
20      ENDDO
21    END SUBROUTINE
22 SUBROUTINE S(A,B,C)
23    INTEGER :: Nmin=2,Niter=100
24    REAL, DIMENSION(:,:), ALLOCATABLE   :: A,B,C
25    DO imin=1,Nmin
26     DO i=1,Niter
27       CALL smm_dnn_4_10_10_1_1_2_1(A,B,C)
28     ENDDO
29     DO i=1,Niter
30       CALL smm_dnn_4_10_10_6_4_1_1(A,B,C)
31     ENDDO
32     CALL foo()
33    ENDDO
34 END SUBROUTINE
35
36