From 40b4bf3d32265152ae26c2f630f6f70e5d676f3d Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 3 Apr 2018 14:36:27 +0200 Subject: [PATCH] AVX512: _mm512_rsqrt28_ps is available for AVX512ER only --- Eigen/Core | 3 +++ Eigen/src/Core/arch/AVX512/MathFunctions.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Eigen/Core b/Eigen/Core index a9bbfe276..c74340b81 100644 --- a/Eigen/Core +++ b/Eigen/Core @@ -183,6 +183,9 @@ #ifdef __AVX512DQ__ #define EIGEN_VECTORIZE_AVX512DQ #endif + #ifdef __AVX512ER__ + #define EIGEN_VECTORIZE_AVX512ER + #endif #endif // include files diff --git a/Eigen/src/Core/arch/AVX512/MathFunctions.h b/Eigen/src/Core/arch/AVX512/MathFunctions.h index 4695fbc81..61434a33e 100644 --- a/Eigen/src/Core/arch/AVX512/MathFunctions.h +++ b/Eigen/src/Core/arch/AVX512/MathFunctions.h @@ -375,7 +375,7 @@ prsqrt(const Packet8d& _x) { // Insert NaNs and Infs in all the right places. return _mm512_mask_blend_pd(le_zero_mask, x, infs_and_nans); } -#else +#elif defined(EIGEN_VECTORIZE_AVX512ER) template <> EIGEN_STRONG_INLINE Packet16f prsqrt(const Packet16f& x) { return _mm512_rsqrt28_ps(x);