microoptimized unchecked_countr_zero for GCC/Clang

This commit is contained in:
joaquintides
2025-08-26 17:08:01 +02:00
committed by GitHub
parent 6fd63ab727
commit cc9a787f14

View File

@@ -923,6 +923,8 @@ inline unsigned int unchecked_countr_zero(int x)
unsigned long r;
_BitScanForward(&r,(unsigned long)x);
return (unsigned int)r;
#elif defined(BOOST_GCC)||defined(BOOST_CLANG)
return (unsigned int)__builtin_ctz((unsigned int)x);
#else
BOOST_UNORDERED_ASSUME(x!=0);
return (unsigned int)boost::core::countr_zero((unsigned int)x);