diff options
| -rw-r--r-- | src/internal/atomic.h | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/src/internal/atomic.h b/src/internal/atomic.h index f938879b..99539cc0 100644 --- a/src/internal/atomic.h +++ b/src/internal/atomic.h @@ -315,4 +315,19 @@ static inline int a_clz_64(uint64_t x)  }  #endif +#ifndef a_clz_32 +#define a_clz_32 a_clz_32 +static inline int a_clz_32(uint32_t x) +{ +	x--; +	x |= x >> 1; +	x |= x >> 2; +	x |= x >> 4; +	x |= x >> 8; +	x |= x >> 16; +	x++; +	return 31-a_ctz_32(x); +} +#endif +  #endif | 
