From 0916d69ca5e77aef08e9aafec1df5ae840862a89 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 22 Jul 2010 13:17:12 +0200 Subject: [PATCH] fix inner vectorization logic --- Eigen/src/Core/products/CoeffBasedProduct.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Core/products/CoeffBasedProduct.h b/Eigen/src/Core/products/CoeffBasedProduct.h index 66976d8e2..c79a34de0 100644 --- a/Eigen/src/Core/products/CoeffBasedProduct.h +++ b/Eigen/src/Core/products/CoeffBasedProduct.h @@ -108,7 +108,8 @@ struct ei_traits > * loop of the product might be vectorized. This is the meaning of CanVectorizeInner. Since it doesn't affect * the Flags, it is safe to make this value depend on ActualPacketAccessBit, that doesn't affect the ABI. */ - CanVectorizeInner = LhsRowMajor + CanVectorizeInner = SameType + && LhsRowMajor && (!RhsRowMajor) && (LhsFlags & RhsFlags & ActualPacketAccessBit) && (LhsFlags & RhsFlags & AlignedBit)