diff options
Diffstat (limited to 'arch/x32/atomic_arch.h')
-rw-r--r-- | arch/x32/atomic_arch.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x32/atomic_arch.h b/arch/x32/atomic_arch.h index 7daf4ae2..a744c299 100644 --- a/arch/x32/atomic_arch.h +++ b/arch/x32/atomic_arch.h @@ -112,3 +112,10 @@ static inline int a_ctz_l(unsigned long x) __asm__( "bsf %1,%0" : "=r"(x) : "r"(x) ); return x; } + +#define a_clz_64 a_clz_64 +static inline int a_clz_64(uint64_t x) +{ + __asm__( "bsr %1,%0 ; xor $63,%0" : "=r"(x) : "r"(x) ); + return x; +} |