GEBP: cleanup logic to choose between a 4 packets of 1 packet

This commit is contained in:
Gael Guennebaud 2019-01-16 21:47:42 +01:00
parent 70e133333d
commit e118ce86fd

View File

@ -350,9 +350,9 @@ inline void computeProductBlockingSizes(Index& k, Index& m, Index& n, Index num_
template <typename RhsPacket, typename RhsPacketx4, int registers_taken> template <typename RhsPacket, typename RhsPacketx4, int registers_taken>
struct RhsPanelHelper { struct RhsPanelHelper {
private: 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: 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> template <typename Packet>