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