Merge pull request #4265 from pps83/static-bmi2-check
Check `STATIC_BMI2` instead of `STATIC_BMI2 == 1`
This commit is contained in:
+10
-13
@@ -29,7 +29,7 @@ MEM_STATIC unsigned ZSTD_countTrailingZeros32(U32 val)
|
|||||||
{
|
{
|
||||||
assert(val != 0);
|
assert(val != 0);
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
# if STATIC_BMI2 == 1
|
# if STATIC_BMI2
|
||||||
return (unsigned)_tzcnt_u32(val);
|
return (unsigned)_tzcnt_u32(val);
|
||||||
# else
|
# else
|
||||||
if (val != 0) {
|
if (val != 0) {
|
||||||
@@ -37,8 +37,7 @@ MEM_STATIC unsigned ZSTD_countTrailingZeros32(U32 val)
|
|||||||
_BitScanForward(&r, val);
|
_BitScanForward(&r, val);
|
||||||
return (unsigned)r;
|
return (unsigned)r;
|
||||||
} else {
|
} else {
|
||||||
/* Should not reach this code path */
|
__assume(0); /* Should not reach this code path */
|
||||||
__assume(0);
|
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
#elif defined(__GNUC__) && (__GNUC__ >= 4)
|
#elif defined(__GNUC__) && (__GNUC__ >= 4)
|
||||||
@@ -50,7 +49,8 @@ MEM_STATIC unsigned ZSTD_countTrailingZeros32(U32 val)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
MEM_STATIC unsigned ZSTD_countLeadingZeros32_fallback(U32 val) {
|
MEM_STATIC unsigned ZSTD_countLeadingZeros32_fallback(U32 val)
|
||||||
|
{
|
||||||
assert(val != 0);
|
assert(val != 0);
|
||||||
{
|
{
|
||||||
static const U32 DeBruijnClz[32] = {0, 9, 1, 10, 13, 21, 2, 29,
|
static const U32 DeBruijnClz[32] = {0, 9, 1, 10, 13, 21, 2, 29,
|
||||||
@@ -70,7 +70,7 @@ MEM_STATIC unsigned ZSTD_countLeadingZeros32(U32 val)
|
|||||||
{
|
{
|
||||||
assert(val != 0);
|
assert(val != 0);
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
# if STATIC_BMI2 == 1
|
# if STATIC_BMI2
|
||||||
return (unsigned)_lzcnt_u32(val);
|
return (unsigned)_lzcnt_u32(val);
|
||||||
# else
|
# else
|
||||||
if (val != 0) {
|
if (val != 0) {
|
||||||
@@ -78,8 +78,7 @@ MEM_STATIC unsigned ZSTD_countLeadingZeros32(U32 val)
|
|||||||
_BitScanReverse(&r, val);
|
_BitScanReverse(&r, val);
|
||||||
return (unsigned)(31 - r);
|
return (unsigned)(31 - r);
|
||||||
} else {
|
} else {
|
||||||
/* Should not reach this code path */
|
__assume(0); /* Should not reach this code path */
|
||||||
__assume(0);
|
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
#elif defined(__GNUC__) && (__GNUC__ >= 4)
|
#elif defined(__GNUC__) && (__GNUC__ >= 4)
|
||||||
@@ -95,7 +94,7 @@ MEM_STATIC unsigned ZSTD_countTrailingZeros64(U64 val)
|
|||||||
{
|
{
|
||||||
assert(val != 0);
|
assert(val != 0);
|
||||||
#if defined(_MSC_VER) && defined(_WIN64)
|
#if defined(_MSC_VER) && defined(_WIN64)
|
||||||
# if STATIC_BMI2 == 1
|
# if STATIC_BMI2
|
||||||
return (unsigned)_tzcnt_u64(val);
|
return (unsigned)_tzcnt_u64(val);
|
||||||
# else
|
# else
|
||||||
if (val != 0) {
|
if (val != 0) {
|
||||||
@@ -103,8 +102,7 @@ MEM_STATIC unsigned ZSTD_countTrailingZeros64(U64 val)
|
|||||||
_BitScanForward64(&r, val);
|
_BitScanForward64(&r, val);
|
||||||
return (unsigned)r;
|
return (unsigned)r;
|
||||||
} else {
|
} else {
|
||||||
/* Should not reach this code path */
|
__assume(0); /* Should not reach this code path */
|
||||||
__assume(0);
|
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
#elif defined(__GNUC__) && (__GNUC__ >= 4) && defined(__LP64__)
|
#elif defined(__GNUC__) && (__GNUC__ >= 4) && defined(__LP64__)
|
||||||
@@ -128,7 +126,7 @@ MEM_STATIC unsigned ZSTD_countLeadingZeros64(U64 val)
|
|||||||
{
|
{
|
||||||
assert(val != 0);
|
assert(val != 0);
|
||||||
#if defined(_MSC_VER) && defined(_WIN64)
|
#if defined(_MSC_VER) && defined(_WIN64)
|
||||||
# if STATIC_BMI2 == 1
|
# if STATIC_BMI2
|
||||||
return (unsigned)_lzcnt_u64(val);
|
return (unsigned)_lzcnt_u64(val);
|
||||||
# else
|
# else
|
||||||
if (val != 0) {
|
if (val != 0) {
|
||||||
@@ -136,8 +134,7 @@ MEM_STATIC unsigned ZSTD_countLeadingZeros64(U64 val)
|
|||||||
_BitScanReverse64(&r, val);
|
_BitScanReverse64(&r, val);
|
||||||
return (unsigned)(63 - r);
|
return (unsigned)(63 - r);
|
||||||
} else {
|
} else {
|
||||||
/* Should not reach this code path */
|
__assume(0); /* Should not reach this code path */
|
||||||
__assume(0);
|
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
#elif defined(__GNUC__) && (__GNUC__ >= 4)
|
#elif defined(__GNUC__) && (__GNUC__ >= 4)
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ MEM_STATIC size_t BIT_initCStream(BIT_CStream_t* bitC,
|
|||||||
|
|
||||||
FORCE_INLINE_TEMPLATE BitContainerType BIT_getLowerBits(BitContainerType bitContainer, U32 const nbBits)
|
FORCE_INLINE_TEMPLATE BitContainerType BIT_getLowerBits(BitContainerType bitContainer, U32 const nbBits)
|
||||||
{
|
{
|
||||||
#if defined(STATIC_BMI2) && STATIC_BMI2 == 1 && !defined(ZSTD_NO_INTRINSICS)
|
#if STATIC_BMI2 && !defined(ZSTD_NO_INTRINSICS)
|
||||||
# if (defined(__x86_64__) || defined(_M_X64)) && !defined(__ILP32__)
|
# if (defined(__x86_64__) || defined(_M_X64)) && !defined(__ILP32__)
|
||||||
return _bzhi_u64(bitContainer, nbBits);
|
return _bzhi_u64(bitContainer, nbBits);
|
||||||
# else
|
# else
|
||||||
|
|||||||
Reference in New Issue
Block a user