! { dg-do compile } ! { dg-require-effective-target vect_double } subroutine to_product_of(self,a,b,a1,a2) complex(kind=8) :: self (:) complex(kind=8), intent(in) :: a(:,:) complex(kind=8), intent(in) :: b(:) integer a1,a2 self = ZERO do i = 1,a1 do j = 1,a2 self(i) = self(i) + a(i,j)*b(j) end do end do end subroutine ! { dg-final { scan-tree-dump "vectorized 2 loops" "vect" } }