12345678910111213141516 |
- #ifndef _ASM_GENERIC_BITOPS_BUILTIN_FLS_H_
- #define _ASM_GENERIC_BITOPS_BUILTIN_FLS_H_
- /**
- * fls - find last (most-significant) bit set
- * @x: the word to search
- *
- * This is defined the same way as ffs.
- * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.
- */
- static __always_inline int fls(int x)
- {
- return x ? sizeof(x) * 8 - __builtin_clz(x) : 0;
- }
- #endif
|