From f4a7679904db08047a6ec5827025972d06e1c649 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 1 Feb 2011 10:41:12 +0100 Subject: [PATCH] fix packing criterion --- Eigen/src/Core/Product.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index d7ba73128..6816c183d 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -483,10 +483,9 @@ template<> struct gemv_selector * RhsBlasTraits::extractScalarFactor(prod.rhs()); enum { - // FIXME I think here we really have to check for packet_traits::size==1 - // because in this case it is fine to have an inner stride - DirectlyUseRhs = ((packet_traits::size==1) || (_ActualRhsType::Flags&ActualPacketAccessBit)) - && (!(_ActualRhsType::Flags & RowMajorBit)) + // FIXME find a way to allow an inner stride on the result if packet_traits::size==1 + // on, the other hand it is good for the cache to pack the vector anyways... + DirectlyUseRhs = _ActualRhsType::InnerStrideAtCompileTime==1 }; gemv_static_vector_if static_rhs;