diff --git a/lib/common/zstd_internal.h b/lib/common/zstd_internal.h index 9dc9c09e3..f791c5b38 100644 --- a/lib/common/zstd_internal.h +++ b/lib/common/zstd_internal.h @@ -314,7 +314,7 @@ MEM_STATIC U32 ZSTD_highbit32(U32 val) /* compress, dictBuilder, decodeCorpus _BitScanReverse(&r, val); return (unsigned)r; # elif defined(__GNUC__) && (__GNUC__ >= 3) /* GCC Intrinsic */ - return 31 - __builtin_clz(val); + return __builtin_clz (val) ^ 31; # elif defined(__ICCARM__) /* IAR Intrinsic */ return 31 - __CLZ(val); # else /* Software version */