| ! { 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 |