Change x86 intrinsic to work with 32bit environment

This commit is contained in:
Matt Borland
2023-02-21 10:33:06 -08:00
parent 861bcf7f62
commit 57919cea20

View File

@@ -76,7 +76,7 @@ inline int leading_zeros(std::uint64_t val) noexcept
return static_cast<int>(63 - leading_zero);
}
#elif defined(BOOST_CHARCONV_HAS_X86_INTRINSICS)
return static_cast<int>(_lzcnt_u64(val);)
return static_cast<int>(__builtin_clzll(val));
#elif defined(BOOST_CHARCONV_HAS_ARM_INTRINSICS)
// CLZ Xd, Xm
return __builtin_clzll(val);