Use native _Float16 for AVX512FP16 and update vectorization.

This commit is contained in:
Antonio Sánchez
2025-03-19 19:55:26 +00:00
committed by Rasmus Munk Larsen
parent 0259a52b0e
commit 70f2aead9a
15 changed files with 1422 additions and 449 deletions

View File

@@ -76,7 +76,7 @@ struct generic_rsqrt_newton_step {
static_assert(Steps > 0, "Steps must be at least 1.");
using Scalar = typename unpacket_traits<Packet>::type;
EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE Packet run(const Packet& a, const Packet& approx_rsqrt) {
constexpr Scalar kMinusHalf = Scalar(-1) / Scalar(2);
const Scalar kMinusHalf = Scalar(-1) / Scalar(2);
const Packet cst_minus_half = pset1<Packet>(kMinusHalf);
const Packet cst_minus_one = pset1<Packet>(Scalar(-1));