diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-07-28 11:21:07 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-07-28 11:21:07 +0200 |
commit | a72752caacf997864b0f7d32a45bdc0c98b517b6 (patch) | |
tree | ec90d3f371aeefc3edc6828ef2e9022e125c1ff2 /Eigen/src/Core/ProductEvaluators.h | |
parent | cc2f6d68b192bcce576ee8c0008c4c4b1f2f62ff (diff) |
Vectorize more small product expressions by letting the general assignement logic decides on the sizes that are OK for vectorization.
Diffstat (limited to 'Eigen/src/Core/ProductEvaluators.h')
-rw-r--r-- | Eigen/src/Core/ProductEvaluators.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/Eigen/src/Core/ProductEvaluators.h b/Eigen/src/Core/ProductEvaluators.h index b31473b7b..d739c5156 100644 --- a/Eigen/src/Core/ProductEvaluators.h +++ b/Eigen/src/Core/ProductEvaluators.h @@ -489,11 +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) - && (ColsAtCompileTime == Dynamic || ((ColsAtCompileTime % RhsVecPacketSize) == 0) ), - - CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit) - && (RowsAtCompileTime == Dynamic || ((RowsAtCompileTime % LhsVecPacketSize) == 0) ), + CanVectorizeRhs = bool(RhsRowMajor) && (RhsFlags & PacketAccessBit), + CanVectorizeLhs = (!LhsRowMajor) && (LhsFlags & PacketAccessBit), EvalToRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1 : (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0 |