| author | Rich Felker <dalias@aerifal.cx> | 2020年06月11日 00:12:48 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2020年06月11日 00:12:48 -0400 | 
| commit | ca36573ecfbbef7a1563aaa1a8486081f8c9fdda (patch) | |
| tree | 5f85ff1f9d9b28c986415d42b226009fb63daf0c /src/internal | |
| parent | 1fc67fc117f9d25d240d46bbef78ebccacec7097 (diff) | |
| download | musl-ca36573ecfbbef7a1563aaa1a8486081f8c9fdda.tar.gz | |
| -rw-r--r-- | src/internal/atomic.h | 15 | 
| 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 |