10 #if !defined __X86INTRIN_H && !defined __IMMINTRIN_H 11 #error "Never use <lzcntintrin.h> directly; include <x86intrin.h> instead." 14 #ifndef __LZCNTINTRIN_H 15 #define __LZCNTINTRIN_H 18 #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("lzcnt"))) 31 #define __lzcnt16(X) __builtin_ia32_lzcnt_u16((unsigned short)(X)) 48 return __builtin_ia32_lzcnt_u32(__X);
65 return __builtin_ia32_lzcnt_u32(__X);
81 #define __lzcnt64(X) __builtin_ia32_lzcnt_u64((unsigned long long)(X)) 96 _lzcnt_u64(
unsigned long long __X)
98 return __builtin_ia32_lzcnt_u64(__X);
102 #undef __DEFAULT_FN_ATTRS __inline __m128d double __X
static __inline__ unsigned int __DEFAULT_FN_ATTRS _lzcnt_u32(unsigned int __X)
Counts the number of leading zero bits in the operand.
static __inline__ unsigned int __DEFAULT_FN_ATTRS __lzcnt32(unsigned int __X)
Counts the number of leading zero bits in the operand.
#define __DEFAULT_FN_ATTRS