mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 19:59:05 +08:00
bug #871: fix compilation on ARM/Neon regarding __has_builtin usage
This commit is contained in:
parent
01f3ca3e8d
commit
0369db12af
@ -52,7 +52,7 @@ typedef uint32x4_t Packet4ui;
|
|||||||
|
|
||||||
// arm64 does have the pld instruction. If available, let's trust the __builtin_prefetch built-in function
|
// arm64 does have the pld instruction. If available, let's trust the __builtin_prefetch built-in function
|
||||||
// which available on LLVM and GCC (at least)
|
// which available on LLVM and GCC (at least)
|
||||||
#if (defined(__has_builtin) && __has_builtin(__builtin_prefetch)) || defined(__GNUC__)
|
#if EIGEN_HAS_BUILTIN(__builtin_prefetch) || defined(__GNUC__)
|
||||||
#define EIGEN_ARM_PREFETCH(ADDR) __builtin_prefetch(ADDR);
|
#define EIGEN_ARM_PREFETCH(ADDR) __builtin_prefetch(ADDR);
|
||||||
#elif defined __pld
|
#elif defined __pld
|
||||||
#define EIGEN_ARM_PREFETCH(ADDR) __pld(ADDR)
|
#define EIGEN_ARM_PREFETCH(ADDR) __pld(ADDR)
|
||||||
|
@ -107,6 +107,13 @@
|
|||||||
#define EIGEN_DEFAULT_DENSE_INDEX_TYPE std::ptrdiff_t
|
#define EIGEN_DEFAULT_DENSE_INDEX_TYPE std::ptrdiff_t
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Cross compiler wrapper around LLVM's __has_builtin
|
||||||
|
#ifdef __has_builtin
|
||||||
|
# define EIGEN_HAS_BUILTIN(x) __has_builtin(x)
|
||||||
|
#else
|
||||||
|
# define EIGEN_HAS_BUILTIN(x) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
// A Clang feature extension to determine compiler features.
|
// A Clang feature extension to determine compiler features.
|
||||||
// We use it to determine 'cxx_rvalue_references'
|
// We use it to determine 'cxx_rvalue_references'
|
||||||
#ifndef __has_feature
|
#ifndef __has_feature
|
||||||
|
Loading…
x
Reference in New Issue
Block a user