! { dg-do compile { target i?86-*-* x86_64-*-* } } ! { dg-require-effective-target ilp32 } ! { dg-require-effective-target sse2 } ! { dg-options "-O2 -floop-strip-mine -fprefetch-loop-arrays -msse2" } subroutine blts ( ldmx, ldmy, v, tmp1, i, j, k) implicit none integer ldmx, ldmy, i, j, k, ip, m, l real*8 tmp, tmp1, v( 5, ldmx, ldmy, *), tmat(5,5) do ip = 1, 4 do m = ip+1, 5 tmp = tmp1 * tmat( m, ip ) do l = ip+1, 5 tmat( m, l ) = tmat( m, l ) - tmat( ip, l ) end do v( m, i, j, k ) = tmp end do end do return end subroutine blts subroutine phasad(t,i,ium) implicit none real t(5,4) integer i,l,ll,ium do l=1,2 ll=2*l do i=1,ium t(i,ll-1)=t(i,ll-1)+t(i,ll) enddo enddo return end subroutine phasad