1! { dg-do compile { target i?86-*-* x86_64-*-* } } 2! { dg-require-effective-target ilp32 } 3! { dg-require-effective-target sse2 } 4! { dg-options "-O2 -floop-strip-mine -fprefetch-loop-arrays -msse2" } 5 6subroutine blts ( ldmx, ldmy, v, tmp1, i, j, k) 7 implicit none 8 integer ldmx, ldmy, i, j, k, ip, m, l 9 real*8 tmp, tmp1, v( 5, ldmx, ldmy, *), tmat(5,5) 10 11 do ip = 1, 4 12 do m = ip+1, 5 13 tmp = tmp1 * tmat( m, ip ) 14 do l = ip+1, 5 15 tmat( m, l ) = tmat( m, l ) - tmat( ip, l ) 16 end do 17 v( m, i, j, k ) = tmp 18 end do 19 end do 20 return 21end subroutine blts 22 23subroutine phasad(t,i,ium) 24 implicit none 25 real t(5,4) 26 integer i,l,ll,ium 27 28 do l=1,2 29 ll=2*l 30 do i=1,ium 31 t(i,ll-1)=t(i,ll-1)+t(i,ll) 32 enddo 33 enddo 34 return 35end subroutine phasad 36