| 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) | 
|  |