From 7b378c2d91f5228d1ac6586eb065f3272a307bb0 Mon Sep 17 00:00:00 2001 From: "C. Antonio Sanchez" Date: Mon, 17 Feb 2025 12:59:57 -0800 Subject: [PATCH] Fix cherry-pick bug for NEON make_packet --- Eigen/src/Core/arch/NEON/PacketMath.h | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/Eigen/src/Core/arch/NEON/PacketMath.h b/Eigen/src/Core/arch/NEON/PacketMath.h index b7b880f80..da4c49d73 100644 --- a/Eigen/src/Core/arch/NEON/PacketMath.h +++ b/Eigen/src/Core/arch/NEON/PacketMath.h @@ -93,16 +93,6 @@ EIGEN_ALWAYS_INLINE Packet2f make_packet2f(float a, float b) { return Packet2f{a #endif // EIGEN_COMP_MSVC_STRICT -EIGEN_ALWAYS_INLINE Packet4f make_packet4f(float a, float b, float c, float d) { - float from[4] = {a, b, c, d}; - return vld1q_f32(from); -} - -EIGEN_ALWAYS_INLINE Packet2f make_packet2f(float a, float b) { - float from[2] = {a, b}; - return vld1_f32(from); -} - EIGEN_STRONG_INLINE Packet4f shuffle1(const Packet4f& m, int mask){ const float* a = reinterpret_cast(&m); Packet4f res = make_packet4f(*(a + (mask & 3)), *(a + ((mask >> 2) & 3)), *(a + ((mask >> 4) & 3 )), *(a + ((mask >> 6) & 3))); @@ -3206,7 +3196,7 @@ template<> EIGEN_STRONG_INLINE Packet2f pceil(const Packet2f& a) return padd(tmp, mask); } -#endif +#endif // EIGEN_ARCH_ARMV8 /** * Computes the integer square root @@ -3671,7 +3661,6 @@ template<> EIGEN_STRONG_INLINE Packet4bf pnegate(const Packet4bf& a) // and has lower priority in overload resolution. // This doesn't work with MSVC though, since the function names are macros. template uint64x2_t vreinterpretq_u64_f64(T a) { return (uint64x2_t) a; } - template float64x2_t vreinterpretq_f64_u64(T a) { return (float64x2_t) a; } #endif @@ -3687,17 +3676,13 @@ EIGEN_ALWAYS_INLINE Packet2d make_packet2d(double a, double b) { #else typedef float64x2_t Packet2d; typedef float64x1_t Packet1d; -#endif EIGEN_ALWAYS_INLINE Packet2d make_packet2d(double a, double b) { double from[2] = {a, b}; return vld1q_f64(from); } - -EIGEN_ALWAYS_INLINE Packet2d make_packet2d(double a, double b) { return Packet2d{a, b}; } #endif - // fuctionally equivalent to _mm_shuffle_pd in SSE (i.e. shuffle(m, n, mask) equals _mm_shuffle_pd(m,n,mask)) // Currently used in LU/arch/InverseSize4.h to enable a shared implementation // for fast inversion of matrices of size 4.