Revert "add some static checks for packet-picking logic"

This reverts commit 776960024585b907acc4abc3c59aef605941bb75
This commit is contained in:
Rasmus Munk Larsen 2020-02-25 01:07:04 +00:00
parent 87cfa4862f
commit 6ac37768a9

View File

@ -266,38 +266,7 @@ struct vectorization_logic
VERIFY(test_redux(VectorX(10), VERIFY(test_redux(VectorX(10),
LinearVectorizedTraversal,NoUnrolling)); LinearVectorizedTraversal,NoUnrolling));
// Some static checks for packet-picking -- see
// <https://gitlab.com/libeigen/eigen/merge_requests/46#note_271497656> for context.
// Any multiple of the packet size itself will result in the normal packet
STATIC_CHECK((
internal::is_same<typename internal::find_best_packet<Scalar, PacketSize>::type, PacketType>::value
));
STATIC_CHECK((
internal::is_same<typename internal::find_best_packet<Scalar, PacketSize*2>::type, PacketType>::value
));
STATIC_CHECK((
internal::is_same<typename internal::find_best_packet<Scalar, PacketSize*5>::type, PacketType>::value
));
// Moreover, situations where the size is _not_ a multiple but picking the full packet
// is convenient will also work, but only with unaligned vectorize
STATIC_CHECK((
!(EIGEN_UNALIGNED_VECTORIZE || PacketSize == HalfPacketSize) ||
internal::is_same<typename internal::find_best_packet<Scalar, PacketSize*5+1>::type, PacketType>::value
));
STATIC_CHECK((
!(EIGEN_UNALIGNED_VECTORIZE || PacketSize == HalfPacketSize) ||
internal::is_same<typename internal::find_best_packet<Scalar, PacketSize*5+2>::type, PacketType>::value
));
// In situations where the picking the full-packet would be detrimental the half-packet
// is chosen.
STATIC_CHECK((
!(PacketSize > 2) ||
internal::is_same<typename internal::find_best_packet<Scalar, PacketSize*2-1>::type, HalfPacketType>::value
));
} }
}; };
template<typename Scalar> struct vectorization_logic<Scalar,false> template<typename Scalar> struct vectorization_logic<Scalar,false>