From 287412f74602225ff292d440fb71f4420174f3ae Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Wed, 16 Nov 2022 15:49:34 +0000 Subject: [PATCH] [util] Cast _tzcnt_u64 to uint32_t MSVC has _tzcnt_u64 return a uint64_t, which obviously, it can never return a number that big. --- src/util/util_bit.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/util_bit.h b/src/util/util_bit.h index aabc2649b..e5ee5ac2c 100644 --- a/src/util/util_bit.h +++ b/src/util/util_bit.h @@ -101,7 +101,7 @@ namespace dxvk::bit { inline uint32_t tzcnt(uint64_t n) { #if defined(DXVK_ARCH_X86_64) && defined(_MSC_VER) && !defined(__clang__) - return _tzcnt_u64(n); + return (uint32_t)_tzcnt_u64(n); #elif defined(DXVK_ARCH_X86_64) && defined(__BMI__) return __tzcnt_u64(n); #elif defined(DXVK_ARCH_X86_64) && (defined(__GNUC__) || defined(__clang__))