diff options
author | 2015-01-07 09:44:25 +0100 | |
---|---|---|
committer | 2015-01-07 09:44:25 +0100 | |
commit | 63974bcb88f23bd4768eb3232906f2b9f3c92fca (patch) | |
tree | d8b35e46e602e3bb3e2ce7853a12dc7da690368a /Eigen/src/Core/arch/NEON/PacketMath.h | |
parent | 79f4a59ed9ac3fc1a3b6e4516c2b3e04cec5f522 (diff) |
Big 907: workaround some missing intrinsics in current NDK's gcc version (ARM64)
Diffstat (limited to 'Eigen/src/Core/arch/NEON/PacketMath.h')
-rw-r--r-- | Eigen/src/Core/arch/NEON/PacketMath.h | 15 |
1 files changed, 15 insertions, 0 deletions
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<Packet4i,4>& 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; |