diff options
Diffstat (limited to 'src/osd/eivc.h')
-rw-r--r-- | src/osd/eivc.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/osd/eivc.h b/src/osd/eivc.h index d17fbc2d0c4..5c41726d2b1 100644 --- a/src/osd/eivc.h +++ b/src/osd/eivc.h @@ -15,8 +15,10 @@ #include <intrin.h> #include <stdlib.h> + #pragma intrinsic(_BitScanReverse) -#ifdef PTR64 + +#if defined(_M_X64) || defined(_M_ARM64) #pragma intrinsic(_BitScanReverse64) #endif @@ -65,7 +67,7 @@ __forceinline uint8_t _count_leading_ones_32(uint32_t value) __forceinline uint8_t _count_leading_zeros_64(uint64_t value) { unsigned long index; -#ifdef PTR64 +#if defined(_M_X64) || defined(_M_ARM64) return _BitScanReverse64(&index, value) ? (63U - index) : 64U; #else return _BitScanReverse(&index, uint32_t(value >> 32)) ? (31U - index) : _BitScanReverse(&index, uint32_t(value)) ? (63U - index) : 64U; @@ -84,7 +86,7 @@ __forceinline uint8_t _count_leading_zeros_64(uint64_t value) __forceinline uint8_t _count_leading_ones_64(uint64_t value) { unsigned long index; -#ifdef PTR64 +#if defined(_M_X64) || defined(_M_ARM64) return _BitScanReverse64(&index, ~value) ? (63U - index) : 64U; #else return _BitScanReverse(&index, ~uint32_t(value >> 32)) ? (31U - index) : _BitScanReverse(&index, ~uint32_t(value)) ? (63U - index) : 64U; |