diff options
author | Makoto Kato <m_kato@ga2.so-net.ne.jp> | 2019-02-07 15:50:31 -0700 |
---|---|---|
committer | Makoto Kato <m_kato@ga2.so-net.ne.jp> | 2019-02-07 15:50:31 -0700 |
commit | 7fa6f3b20ae4e4f1b0b5aa2592d29cd1d60c7035 (patch) | |
tree | 6cf03f753a022d44fb48cb378ab85c835be8d3db | |
parent | accb52c9d86a4e758ff187778e576869288cc358 (diff) | |
download | nspr-hg-7fa6f3b20ae4e4f1b0b5aa2592d29cd1d60c7035.tar.gz |
Bug 1525173 - prbit.h should use builtin function on aarch64. r=glandium
-rw-r--r-- | pr/include/prbit.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pr/include/prbit.h b/pr/include/prbit.h index 0434fc68..2ace8997 100644 --- a/pr/include/prbit.h +++ b/pr/include/prbit.h @@ -14,7 +14,8 @@ PR_BEGIN_EXTERN_C ** functions. */ #if defined(_WIN32) && (_MSC_VER >= 1300) && \ - (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM)) + (defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM) || \ + defined(_M_ARM64)) # include <intrin.h> # pragma intrinsic(_BitScanForward,_BitScanReverse) __forceinline static int __prBitScanForward32(unsigned int val) @@ -33,7 +34,8 @@ PR_BEGIN_EXTERN_C # define pr_bitscan_clz32(val) __prBitScanReverse32(val) # define PR_HAVE_BUILTIN_BITSCAN32 #elif ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && \ - (defined(__i386__) || defined(__x86_64__) || defined(__arm__)) + (defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \ + defined(__aarch64__)) # define pr_bitscan_ctz32(val) __builtin_ctz(val) # define pr_bitscan_clz32(val) __builtin_clz(val) # define PR_HAVE_BUILTIN_BITSCAN32 @@ -136,7 +138,7 @@ NSPR_API(PRIntn) PR_FloorLog2(PRUint32 i); */ #if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || \ - defined(_M_X64) || defined(_M_ARM)) + defined(_M_X64) || defined(_M_ARM) || defined(_M_ARM64)) #include <stdlib.h> #pragma intrinsic(_rotl, _rotr) #define PR_ROTATE_LEFT32(a, bits) _rotl(a, bits) |