diff options
author | 2016-07-31 15:20:22 +0200 | |
---|---|---|
committer | 2016-07-31 15:20:22 +0200 | |
commit | 7995cec90c63380ba05b297d1e196affc371cac9 (patch) | |
tree | 6484f8671a84cc9ca9db590591b33e0eac15b0d9 /Eigen | |
parent | 02fe89f5ef060d2348dc67e5a2d3c5b47890e071 (diff) |
Fix vectorization logic for coeff-based product for some corner cases.
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/ProductEvaluators.h | 4 |
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 |