diff options
author | Antonio Sanchez <cantonios@google.com> | 2020-12-11 15:46:42 -0800 |
---|---|---|
committer | Antonio Sanchez <cantonios@google.com> | 2020-12-11 15:46:42 -0800 |
commit | 8c9976d7f0558fdc8d0be7476c37e5d562332955 (patch) | |
tree | d1b883f5992eb4a1a84d7500ed4a956ee4161bb2 /Eigen/src/Core/arch/AVX512 | |
parent | c6efc4e0ba4b9acb8f99e6e976d4853bedc21db5 (diff) |
Fix more SSE/AVX packet conversions for peven.
MSVC doesn't like function-style casts and forces us to use intrinsics.
Diffstat (limited to 'Eigen/src/Core/arch/AVX512')
-rw-r--r-- | Eigen/src/Core/arch/AVX512/PacketMath.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Eigen/src/Core/arch/AVX512/PacketMath.h b/Eigen/src/Core/arch/AVX512/PacketMath.h index 6662a5fe7..7d7e3175f 100644 --- a/Eigen/src/Core/arch/AVX512/PacketMath.h +++ b/Eigen/src/Core/arch/AVX512/PacketMath.h @@ -220,16 +220,16 @@ template<> EIGEN_STRONG_INLINE Packet8d pzero(const Packet8d& /*a*/) { return _m template<> EIGEN_STRONG_INLINE Packet16i pzero(const Packet16i& /*a*/) { return _mm512_setzero_si512(); } template<> EIGEN_STRONG_INLINE Packet16f peven_mask(const Packet16f& /*a*/) { - return Packet16f(_mm512_set_epi32(0, -1, 0, -1, 0, -1, 0, -1, - 0, -1, 0, -1, 0, -1, 0, -1)); + return _mm512_castsi512_ps(_mm512_set_epi32(0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1)); } template<> EIGEN_STRONG_INLINE Packet16i peven_mask(const Packet16i& /*a*/) { - return Packet16i(_mm512_set_epi32(0, -1, 0, -1, 0, -1, 0, -1, - 0, -1, 0, -1, 0, -1, 0, -1)); + return _mm512_set_epi32(0, -1, 0, -1, 0, -1, 0, -1, + 0, -1, 0, -1, 0, -1, 0, -1); } template<> EIGEN_STRONG_INLINE Packet8d peven_mask(const Packet8d& /*a*/) { - return Packet8d(_mm512_set_epi32(0, 0, -1, -1, 0, 0, -1, -1, - 0, 0, -1, -1, 0, 0, -1, -1)); + return _m512_castsi512_pd(_mm512_set_epi32(0, 0, -1, -1, 0, 0, -1, -1, + 0, 0, -1, -1, 0, 0, -1, -1)); } template <> |