aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/products
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2019-01-16 21:47:42 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2019-01-16 21:47:42 +0100
commite118ce86fdbb83fdce8f64baaabb1ed93dd8f070 (patch)
treed83a1d06d4113fe406b586c8f62f3b070c236f2f /Eigen/src/Core/products
parent70e133333d733886923cd5a9082e92714b95d076 (diff)
GEBP: cleanup logic to choose between a 4 packets of 1 packet
Diffstat (limited to 'Eigen/src/Core/products')
-rw-r--r--Eigen/src/Core/products/GeneralBlockPanelKernel.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/Eigen/src/Core/products/GeneralBlockPanelKernel.h
index 8b4b1dbd3..fdc050e05 100644
--- a/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+++ b/Eigen/src/Core/products/GeneralBlockPanelKernel.h
@@ -350,9 +350,9 @@ inline void computeProductBlockingSizes(Index& k, Index& m, Index& n, Index num_
template <typename RhsPacket, typename RhsPacketx4, int registers_taken>
struct RhsPanelHelper {
private:
- typedef typename conditional<(registers_taken < 15), RhsPacket, RhsPacketx4>::type inter_type;
+ static const int remaining_registers = EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS - registers_taken;
public:
- typedef typename conditional<(EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS < 32), RhsPacket, inter_type>::type type;
+ typedef typename conditional<remaining_registers>=4, RhsPacketx4, RhsPacket>::type type;
};
template <typename Packet>