From e6e921f0e352bafc51d965ea0ac42a38ce7d372b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20S=C3=A1nchez?= Date: Mon, 26 Jun 2023 18:39:42 +0000 Subject: [PATCH] Disable FP16 arithmetic for arm32. (cherry picked from commit 7465b7651edfb58322557179658853243eb96372) --- Eigen/src/Core/arch/NEON/PacketMath.h | 4 ++-- Eigen/src/Core/util/Macros.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Eigen/src/Core/arch/NEON/PacketMath.h b/Eigen/src/Core/arch/NEON/PacketMath.h index 5915f6af8..f6d6d635a 100644 --- a/Eigen/src/Core/arch/NEON/PacketMath.h +++ b/Eigen/src/Core/arch/NEON/PacketMath.h @@ -3941,6 +3941,8 @@ template<> EIGEN_STRONG_INLINE Packet2d prsqrt(const Packet2d& a) { template<> EIGEN_STRONG_INLINE Packet2d psqrt(const Packet2d& _x){ return vsqrtq_f64(_x); } +#endif // EIGEN_ARCH_ARM64 && !EIGEN_APPLE_DOUBLE_NEON_BUG + // Do we have an fp16 types and supporting Neon intrinsics? #if EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC typedef float16x4_t Packet4hf; @@ -4601,8 +4603,6 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void ptranspose(PacketBlock& } #endif // end EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC -#endif // EIGEN_ARCH_ARM64 - } // end namespace internal } // end namespace Eigen diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h index 6cbb8ec67..6c41bf2ee 100644 --- a/Eigen/src/Core/util/Macros.h +++ b/Eigen/src/Core/util/Macros.h @@ -545,7 +545,7 @@ /// \internal EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC set to 1 if the architecture /// supports Neon vector intrinsics for fp16. -#if EIGEN_ARCH_ARM_OR_ARM64 +#if EIGEN_ARCH_ARM64 #ifndef EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC #if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC) && !defined(EIGEN_GPU_COMPILE_PHASE) #define EIGEN_HAS_ARM64_FP16_VECTOR_ARITHMETIC 1 @@ -557,7 +557,7 @@ /// \internal EIGEN_HAS_ARM64_FP16_SCALAR_ARITHMETIC set to 1 if the architecture /// supports Neon scalar intrinsics for fp16. -#if EIGEN_ARCH_ARM_OR_ARM64 +#if EIGEN_ARCH_ARM64 #ifndef EIGEN_HAS_ARM64_FP16_SCALAR_ARITHMETIC #if defined(__ARM_FEATURE_FP16_SCALAR_ARITHMETIC) && !defined(EIGEN_GPU_COMPILE_PHASE) #define EIGEN_HAS_ARM64_FP16_SCALAR_ARITHMETIC 1