bitscan add undef check
This commit is contained in:
@@ -162,8 +162,7 @@ MEM_STATIC unsigned BIT_highbit32 (U32 val)
|
|||||||
{
|
{
|
||||||
# if defined(_MSC_VER) /* Visual */
|
# if defined(_MSC_VER) /* Visual */
|
||||||
unsigned long r=0;
|
unsigned long r=0;
|
||||||
_BitScanReverse ( &r, val );
|
_BitScanReverse ( &r, val ) ? (unsigned)r : 0;
|
||||||
return (unsigned) r;
|
|
||||||
# elif defined(__GNUC__) && (__GNUC__ >= 3) /* Use GCC Intrinsic */
|
# elif defined(__GNUC__) && (__GNUC__ >= 3) /* Use GCC Intrinsic */
|
||||||
return __builtin_clz (val) ^ 31;
|
return __builtin_clz (val) ^ 31;
|
||||||
# elif defined(__ICCARM__) /* IAR Intrinsic */
|
# elif defined(__ICCARM__) /* IAR Intrinsic */
|
||||||
|
|||||||
@@ -298,8 +298,7 @@ MEM_STATIC U32 ZSTD_highbit32(U32 val) /* compress, dictBuilder, decodeCorpus
|
|||||||
{
|
{
|
||||||
# if defined(_MSC_VER) /* Visual */
|
# if defined(_MSC_VER) /* Visual */
|
||||||
unsigned long r=0;
|
unsigned long r=0;
|
||||||
_BitScanReverse(&r, val);
|
_BitScanReverse(&r, val) ? (unsigned)r : 0;
|
||||||
return (unsigned)r;
|
|
||||||
# elif defined(__GNUC__) && (__GNUC__ >= 3) /* GCC Intrinsic */
|
# elif defined(__GNUC__) && (__GNUC__ >= 3) /* GCC Intrinsic */
|
||||||
return __builtin_clz (val) ^ 31;
|
return __builtin_clz (val) ^ 31;
|
||||||
# elif defined(__ICCARM__) /* IAR Intrinsic */
|
# elif defined(__ICCARM__) /* IAR Intrinsic */
|
||||||
|
|||||||
@@ -448,8 +448,7 @@ static unsigned ZSTD_NbCommonBytes (size_t val)
|
|||||||
if (MEM_64bits()) {
|
if (MEM_64bits()) {
|
||||||
# if defined(_MSC_VER) && defined(_WIN64)
|
# if defined(_MSC_VER) && defined(_WIN64)
|
||||||
unsigned long r = 0;
|
unsigned long r = 0;
|
||||||
_BitScanForward64( &r, (U64)val );
|
return _BitScanForward64( &r, (U64)val ) ? (unsigned)(r >> 3) : 0;
|
||||||
return (unsigned)(r>>3);
|
|
||||||
# elif defined(__GNUC__) && (__GNUC__ >= 4)
|
# elif defined(__GNUC__) && (__GNUC__ >= 4)
|
||||||
return (__builtin_ctzll((U64)val) >> 3);
|
return (__builtin_ctzll((U64)val) >> 3);
|
||||||
# else
|
# else
|
||||||
@@ -466,8 +465,7 @@ static unsigned ZSTD_NbCommonBytes (size_t val)
|
|||||||
} else { /* 32 bits */
|
} else { /* 32 bits */
|
||||||
# if defined(_MSC_VER)
|
# if defined(_MSC_VER)
|
||||||
unsigned long r=0;
|
unsigned long r=0;
|
||||||
_BitScanForward( &r, (U32)val );
|
_BitScanForward( &r, (U32)val ) ? return (unsigned)(r >> 3) : 0;
|
||||||
return (unsigned)(r>>3);
|
|
||||||
# elif defined(__GNUC__) && (__GNUC__ >= 3)
|
# elif defined(__GNUC__) && (__GNUC__ >= 3)
|
||||||
return (__builtin_ctz((U32)val) >> 3);
|
return (__builtin_ctz((U32)val) >> 3);
|
||||||
# else
|
# else
|
||||||
@@ -482,8 +480,7 @@ static unsigned ZSTD_NbCommonBytes (size_t val)
|
|||||||
if (MEM_64bits()) {
|
if (MEM_64bits()) {
|
||||||
# if defined(_MSC_VER) && defined(_WIN64)
|
# if defined(_MSC_VER) && defined(_WIN64)
|
||||||
unsigned long r = 0;
|
unsigned long r = 0;
|
||||||
_BitScanReverse64( &r, val );
|
_BitScanReverse64( &r, val ) ? (unsigned)(r >> 3) : 0;
|
||||||
return (unsigned)(r>>3);
|
|
||||||
# elif defined(__GNUC__) && (__GNUC__ >= 4)
|
# elif defined(__GNUC__) && (__GNUC__ >= 4)
|
||||||
return (__builtin_clzll(val) >> 3);
|
return (__builtin_clzll(val) >> 3);
|
||||||
# else
|
# else
|
||||||
@@ -497,8 +494,7 @@ static unsigned ZSTD_NbCommonBytes (size_t val)
|
|||||||
} else { /* 32 bits */
|
} else { /* 32 bits */
|
||||||
# if defined(_MSC_VER)
|
# if defined(_MSC_VER)
|
||||||
unsigned long r = 0;
|
unsigned long r = 0;
|
||||||
_BitScanReverse( &r, (unsigned long)val );
|
_BitScanReverse( &r, (unsigned long)val ) ? (unsigned)(r >> 3) : 0;
|
||||||
return (unsigned)(r>>3);
|
|
||||||
# elif defined(__GNUC__) && (__GNUC__ >= 3)
|
# elif defined(__GNUC__) && (__GNUC__ >= 3)
|
||||||
return (__builtin_clz((U32)val) >> 3);
|
return (__builtin_clz((U32)val) >> 3);
|
||||||
# else
|
# else
|
||||||
|
|||||||
Reference in New Issue
Block a user