10 #ifndef THIRD_PARTY_EIGEN3_EIGEN_SRC_CORE_ARCH_AVX512_MATHFUNCTIONS_H_
11 #define THIRD_PARTY_EIGEN3_EIGEN_SRC_CORE_ARCH_AVX512_MATHFUNCTIONS_H_
13 #include "../../InternalHeaderCheck.h"
51 return generic_sqrt_newton_step<Packet16f>::run(_x, _mm512_rsqrt14_ps(_x));
57 #ifdef EIGEN_VECTORIZE_AVX512ER
58 return generic_sqrt_newton_step<
Packet8d, 1>::run(_x, _mm512_rsqrt28_pd(_x));
60 return generic_sqrt_newton_step<
Packet8d, 2>::run(_x, _mm512_rsqrt14_pd(_x));
66 return _mm512_sqrt_ps(
x);
71 return _mm512_sqrt_pd(
x);
76 #if defined(EIGEN_VECTORIZE_AVX512ER)
79 return _mm512_rsqrt28_ps(
x);
86 return generic_rsqrt_newton_step<
Packet16f, 1>::run(_x, _mm512_rsqrt14_ps(_x));
95 prsqrt<Packet8d>(
const Packet8d& _x) {
96 #ifdef EIGEN_VECTORIZE_AVX512ER
97 return generic_rsqrt_newton_step<
Packet8d, 1>::run(_x, _mm512_rsqrt28_pd(_x));
99 return generic_rsqrt_newton_step<
Packet8d, 2>::run(_x, _mm512_rsqrt14_pd(_x));
104 #ifdef EIGEN_VECTORIZE_AVX512ER
105 return _mm512_rcp28_ps(
a);
107 return generic_reciprocal_newton_step<
Packet16f, 1>::run(
a, _mm512_rcp14_ps(
a));
#define BF16_PACKET_FUNCTION(PACKET_F, PACKET_BF16, METHOD)
#define EIGEN_INSTANTIATE_GENERIC_MATH_FUNCS_DOUBLE(PACKET)
#define EIGEN_INSTANTIATE_GENERIC_MATH_FUNCS_FLOAT(PACKET)
#define F16_PACKET_FUNCTION(PACKET_F, PACKET_F16, METHOD)
#define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexpm1(const Packet &a)
Packet8bf F32ToBf16(Packet4f p4f)
Packet8d psqrt< Packet8d >(const Packet8d &x)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog2(const Packet &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog(const Packet &a)
Packet16f psqrt< Packet16f >(const Packet16f &x)
Packet8f Bf16ToF32(const Packet8bf &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexp(const Packet &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcos(const Packet &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psin(const Packet &a)
eigen_packet_wrapper< __m256i, 2 > Packet16bf
Packet16f pfrexp< Packet16f >(const Packet16f &a, Packet16f &exponent)
Packet8h pfrexp(const Packet8h &a, Packet8h &exponent)
Packet16f pldexp< Packet16f >(const Packet16f &a, const Packet16f &exponent)
Packet8h float2half(const Packet8f &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptanh(const Packet &a)
Packet4f psqrt(const Packet4f &a)
Packet8f half2float(const Packet8h &a)
Packet8h pldexp(const Packet8h &a, const Packet8h &exponent)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog1p(const Packet &a)
Packet preciprocal(const Packet &a)
eigen_packet_wrapper< __m256i, 1 > Packet16h
Packet4f prsqrt(const Packet4f &a)