| Index: nspr/pr/include/prbit.h
|
| ===================================================================
|
| --- nspr/pr/include/prbit.h (revision 233722)
|
| +++ nspr/pr/include/prbit.h (working copy)
|
| @@ -9,8 +9,12 @@
|
| #include "prtypes.h"
|
| PR_BEGIN_EXTERN_C
|
|
|
| -/* replace compare/jump/add/shift sequence with x86 BSF/BSR instruction */
|
| -#if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_AMD64))
|
| +/*
|
| +** Replace compare/jump/add/shift sequence with compiler built-in/intrinsic
|
| +** functions.
|
| +*/
|
| +#if defined(_WIN32) && (_MSC_VER >= 1300) && \
|
| + (defined(_M_IX86) || defined(_M_AMD64) || defined(_M_ARM))
|
| unsigned char _BitScanForward(unsigned long * Index, unsigned long Mask);
|
| unsigned char _BitScanReverse(unsigned long * Index, unsigned long Mask);
|
| # pragma intrinsic(_BitScanForward,_BitScanReverse)
|
| @@ -133,7 +137,7 @@
|
| */
|
|
|
| #if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64) || \
|
| - defined(_M_X64))
|
| + defined(_M_X64) || defined(_M_ARM))
|
| #include <stdlib.h>
|
| #pragma intrinsic(_rotl, _rotr)
|
| #define PR_ROTATE_LEFT32(a, bits) _rotl(a, bits)
|
|
|