aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/ProductEvaluators.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-07-31 15:20:22 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-07-31 15:20:22 +0200
commit7995cec90c63380ba05b297d1e196affc371cac9 (patch)
tree6484f8671a84cc9ca9db590591b33e0eac15b0d9 /Eigen/src/Core/ProductEvaluators.h
parent02fe89f5ef060d2348dc67e5a2d3c5b47890e071 (diff)
Fix vectorization logic for coeff-based product for some corner cases.
Diffstat (limited to 'Eigen/src/Core/ProductEvaluators.h')
-rw-r--r--Eigen/src/Core/ProductEvaluators.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/Core/ProductEvaluators.h b/Eigen/src/Core/ProductEvaluators.h
index d739c5156..955668bef 100644
--- a/Eigen/src/Core/ProductEvaluators.h
+++ b/Eigen/src/Core/ProductEvaluators.h
@@ -489,8 +489,8 @@ struct product_evaluator<Product<Lhs, Rhs, LazyProduct>, ProductTag, DenseShape,
SameType = is_same<typename LhsNestedCleaned::Scalar,typename RhsNestedCleaned::Scalar>::value,
- CanVectorizeRhs = bool(RhsRowMajor) && (RhsFlags & PacketAccessBit),
- CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit),
+ CanVectorizeRhs = bool(RhsRowMajor) && (RhsFlags & PacketAccessBit) && (ColsAtCompileTime!=1),
+ CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit) && (RowsAtCompileTime!=1),
EvalToRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1
: (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0