From 1939c971a3dbdbec9f2539406f61d094c9bead42 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 (grafted from 40b4bf3d32265152ae26c2f630f6f70e5d676f3d ) --- 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 2b2ab44d1..4d4901e03 100644 --- a/Eigen/Core +++ b/Eigen/Core @@ -171,6 +171,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);