Revert "Uses _mm512_abs_pd for Packet8d pabs"

This reverts commit f019b97aca82071f35726b1aaebf1c598770f0f5
This commit is contained in:
Christoph Hertzberg 2021-03-23 18:52:19 +00:00
parent 824272cde8
commit 69a4f70956

View File

@ -139,7 +139,6 @@ template<> struct packet_traits<double> : default_packet_traits
size = 8, size = 8,
HasHalfPacket = 1, HasHalfPacket = 1,
#if EIGEN_GNUC_AT_LEAST(5, 3) || (!EIGEN_COMP_GNUC_STRICT) #if EIGEN_GNUC_AT_LEAST(5, 3) || (!EIGEN_COMP_GNUC_STRICT)
HasAbs = 1,
HasLog = 1, HasLog = 1,
HasSqrt = EIGEN_FAST_MATH, HasSqrt = EIGEN_FAST_MATH,
HasRsqrt = EIGEN_FAST_MATH, HasRsqrt = EIGEN_FAST_MATH,
@ -889,7 +888,9 @@ template<> EIGEN_STRONG_INLINE Packet16f pabs(const Packet16f& a)
} }
template <> template <>
EIGEN_STRONG_INLINE Packet8d pabs(const Packet8d& a) { EIGEN_STRONG_INLINE Packet8d pabs(const Packet8d& a) {
return _mm512_abs_pd(a); // _mm512_abs_ps intrinsic not found, so hack around it
return _mm512_castsi512_pd(_mm512_and_si512(_mm512_castpd_si512(a),
_mm512_set1_epi64(0x7fffffffffffffff)));
} }
template<> template<>