From 63974bcb88f23bd4768eb3232906f2b9f3c92fca Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 7 Jan 2015 09:44:25 +0100 Subject: [PATCH] Big 907: workaround some missing intrinsics in current NDK's gcc version (ARM64) --- Eigen/src/Core/arch/NEON/PacketMath.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Eigen/src/Core/arch/NEON/PacketMath.h b/Eigen/src/Core/arch/NEON/PacketMath.h index 586fa95e5..d962e8adc 100644 --- a/Eigen/src/Core/arch/NEON/PacketMath.h +++ b/Eigen/src/Core/arch/NEON/PacketMath.h @@ -492,6 +492,21 @@ ptranspose(PacketBlock& kernel) { //---------- double ---------- #if EIGEN_ARCH_ARM64 +#if EIGEN_COMP_GNUC_STRICT && __ANDROID__ +// Bug 907: workaround missing declarations of the following two functions in the ADK +__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) +vreinterpretq_u64_f64 (float64x2_t __a) +{ + return (uint64x2_t) __a; +} + +__extension__ static __inline float64x2_t __attribute__ ((__always_inline__)) +vreinterpretq_f64_u64 (uint64x2_t __a) +{ + return (float64x2_t) __a; +} +#endif + typedef float64x2_t Packet2d; typedef float64x1_t Packet1d;