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