From dd71c5c6ac80fc1c1090b03c1cab2b8acb958433 Mon Sep 17 00:00:00 2001 From: Maxwell Geng <33229754+MaxwellGengYF@users.noreply.github.com> Date: Thu, 7 Aug 2025 14:12:36 +0800 Subject: [PATCH] Fix windows clang compiling _lzcnt_u64 may not supported by native LLVM compiler on Windows. --- include/mimalloc/bits.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mimalloc/bits.h b/include/mimalloc/bits.h index c40b32f6..805ea5be 100644 --- a/include/mimalloc/bits.h +++ b/include/mimalloc/bits.h @@ -226,7 +226,7 @@ static inline size_t mi_clz(size_t x) { size_t r; __asm ("lzcnt\t%1, %0" : "=r"(r) : "r"(x) : "cc"); return r; - #elif defined(_MSC_VER) && MI_ARCH_X64 && defined(__BMI1__) + #elif defined(_MSC_VER) && !defined(__clang__) && MI_ARCH_X64 && defined(__BMI1__) return _lzcnt_u64(x); #elif defined(_MSC_VER) && (MI_ARCH_X64 || MI_ARCH_X86 || MI_ARCH_ARM64 || MI_ARCH_ARM32) unsigned long idx;