diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index 54f8b62a2..1e516d005 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -636,6 +636,7 @@ struct ei_cache_friendly_product_selector::_RhsNested Rhs; enum { UseRhsDirectly = ((ei_packet_traits::size==1) || (Rhs::Flags&ActualPacketAccessBit)) + && (Rhs::Flags&DirectAccessBit) && (!(Rhs::Flags & RowMajorBit)) }; template @@ -664,6 +665,7 @@ struct ei_cache_friendly_product_selector::_LhsNested Lhs; enum { UseLhsDirectly = ((ei_packet_traits::size==1) || (Lhs::Flags&ActualPacketAccessBit)) + && (Lhs::Flags&DirectAccessBit) && (Lhs::Flags & RowMajorBit) }; template