handle 32bit size_t when building for x64

This commit is contained in:
Pavel P 2025-01-18 23:37:50 +02:00
parent 936927a427
commit 26e5fb3614

View File

@ -162,9 +162,10 @@ MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC,
FORCE_INLINE_TEMPLATE size_t BIT_getLowerBits(size_t bitContainer, U32 const nbBits)
{
#if defined(STATIC_BMI2) && STATIC_BMI2 == 1 && !defined(ZSTD_NO_INTRINSICS)
# if defined(__x86_64__) || defined(_M_X64)
return sizeof(size_t) == sizeof(U64) ? _bzhi_u64(bitContainer, nbBits) : _bzhi_u32((U32)bitContainer, nbBits);
# if (defined(__x86_64__) || defined(_M_X64)) && !defined(__ILP32__)
return _bzhi_u64(bitContainer, nbBits);
# else
DEBUG_STATIC_ASSERT(sizeof(size_t) == sizeof(U32));
return _bzhi_u32(bitContainer, nbBits);
# endif
#else