aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch/AVX512
diff options
context:
space:
mode:
authorGravatar Antonio Sanchez <cantonios@google.com>2020-12-11 15:46:42 -0800
committerGravatar Antonio Sanchez <cantonios@google.com>2020-12-11 15:46:42 -0800
commit8c9976d7f0558fdc8d0be7476c37e5d562332955 (patch)
treed1b883f5992eb4a1a84d7500ed4a956ee4161bb2 /Eigen/src/Core/arch/AVX512
parentc6efc4e0ba4b9acb8f99e6e976d4853bedc21db5 (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.h12
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 <>