From 0e243a8afc1f91951e4c79ad978d1e668281f1f2 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 3 Jun 2016 11:53:34 +0200 Subject: [PATCH] Merged outer loop in sparse_full_mv --- src/mo.irp.f | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/mo.irp.f b/src/mo.irp.f index 0ad7f5b..3825835 100644 --- a/src/mo.irp.f +++ b/src/mo.irp.f @@ -710,16 +710,6 @@ subroutine sparse_full_mv(A,LDA, & d32 = B2(kao+2) d42 = B2(kao+3) - do k=0,LDA-1,$IRP_ALIGN/4 - !DIR$ VECTOR ALIGNED - do j=1,$IRP_ALIGN/4 - C1(j+k) = C1(j+k) + A(j+k,k_vec(1))*d11 + A(j+k,k_vec(2))*d21& - + A(j+k,k_vec(3))*d31 + A(j+k,k_vec(4))*d41 - C2(j+k) = C2(j+k) + A(j+k,k_vec(1))*d12 + A(j+k,k_vec(2))*d22& - + A(j+k,k_vec(3))*d32 + A(j+k,k_vec(4))*d42 - enddo - enddo - d13 = B3(kao ) d23 = B3(kao+1) d33 = B3(kao+2) @@ -730,7 +720,20 @@ subroutine sparse_full_mv(A,LDA, & d34 = B4(kao+2) d44 = B4(kao+3) + d15 = B5(kao ) + d25 = B5(kao+1) + d35 = B5(kao+2) + d45 = B5(kao+3) + do k=0,LDA-1,$IRP_ALIGN/4 + !DIR$ VECTOR ALIGNED + do j=1,$IRP_ALIGN/4 + C1(j+k) = C1(j+k) + A(j+k,k_vec(1))*d11 + A(j+k,k_vec(2))*d21& + + A(j+k,k_vec(3))*d31 + A(j+k,k_vec(4))*d41 + C2(j+k) = C2(j+k) + A(j+k,k_vec(1))*d12 + A(j+k,k_vec(2))*d22& + + A(j+k,k_vec(3))*d32 + A(j+k,k_vec(4))*d42 + enddo + !DIR$ VECTOR ALIGNED do j=1,$IRP_ALIGN/4 C3(j+k) = C3(j+k) + A(j+k,k_vec(1))*d13 + A(j+k,k_vec(2))*d23& @@ -738,14 +741,7 @@ subroutine sparse_full_mv(A,LDA, & C4(j+k) = C4(j+k) + A(j+k,k_vec(1))*d14 + A(j+k,k_vec(2))*d24& + A(j+k,k_vec(3))*d34 + A(j+k,k_vec(4))*d44 enddo - enddo - d15 = B5(kao ) - d25 = B5(kao+1) - d35 = B5(kao+2) - d45 = B5(kao+3) - - do k=0,LDA-1,$IRP_ALIGN/4 !DIR$ VECTOR ALIGNED do j=1,$IRP_ALIGN/4 C5(j+k) = C5(j+k) + A(j+k,k_vec(1))*d15 + A(j+k,k_vec(2))*d25&