Don't initialize the first parameter of _BitScanForward* functions

Like the document example, no need to initialize `r` to 0.
https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanforward-bitscanforward64
This commit is contained in:
Ma Lin
2021-09-25 16:36:53 +08:00
parent 95f492ea17
commit e5ba858270
5 changed files with 10 additions and 12 deletions
+1 -1
View File
@@ -43,7 +43,7 @@ static U32 FSE_ctz(U32 val)
assert(val != 0);
{
# if defined(_MSC_VER) /* Visual */
unsigned long r=0;
unsigned long r;
return _BitScanForward(&r, val) ? (unsigned)r : 0;
# elif defined(__GNUC__) && (__GNUC__ >= 3) /* GCC Intrinsic */
return __builtin_ctz(val);
+2 -2
View File
@@ -391,7 +391,7 @@ MEM_STATIC unsigned ZSTD_countTrailingZeros(size_t val)
# if STATIC_BMI2
return _tzcnt_u64(val);
# else
unsigned long r = 0;
unsigned long r;
return _BitScanForward64( &r, (U64)val ) ? (unsigned)(r >> 3) : 0;
# endif
# elif defined(__GNUC__) && (__GNUC__ >= 4)
@@ -409,7 +409,7 @@ MEM_STATIC unsigned ZSTD_countTrailingZeros(size_t val)
# endif
} else { /* 32 bits */
# if defined(_MSC_VER)
unsigned long r=0;
unsigned long r;
return _BitScanForward( &r, (U32)val ) ? (unsigned)(r >> 3) : 0;
# elif defined(__GNUC__) && (__GNUC__ >= 3)
return (__builtin_ctz((U32)val) >> 3);