Lines Matching full:word
9 * Within a word, bits are numbered LSB first. Lot's of places make
11 * This can cause confusion for large (> 1 word) bitmaps on a
13 * bit depends on the word size.
263 * @word - The word to search
269 static inline unsigned char __flogr(unsigned long word) in __flogr() argument
271 if (__builtin_constant_p(word)) { in __flogr()
274 if (!word) in __flogr()
276 if (!(word & 0xffffffff00000000UL)) { in __flogr()
277 word <<= 32; in __flogr()
280 if (!(word & 0xffff000000000000UL)) { in __flogr()
281 word <<= 16; in __flogr()
284 if (!(word & 0xff00000000000000UL)) { in __flogr()
285 word <<= 8; in __flogr()
288 if (!(word & 0xf000000000000000UL)) { in __flogr()
289 word <<= 4; in __flogr()
292 if (!(word & 0xc000000000000000UL)) { in __flogr()
293 word <<= 2; in __flogr()
296 if (!(word & 0x8000000000000000UL)) { in __flogr()
297 word <<= 1; in __flogr()
304 rp.even = word; in __flogr()
313 * __ffs - find first bit in word.
314 * @word: The word to search
318 static inline unsigned long __ffs(unsigned long word) in __ffs() argument
320 return __flogr(-word & word) ^ (BITS_PER_LONG - 1); in __ffs()
325 * @word: the word to search
330 static inline int ffs(int word) in ffs() argument
333 unsigned int val = (unsigned int)word; in ffs()
339 * __fls - find last (most-significant) set bit in a long word
340 * @word: the word to search
344 static inline unsigned long __fls(unsigned long word) in __fls() argument
346 return __flogr(word) ^ (BITS_PER_LONG - 1); in __fls()
350 * fls64 - find last set bit in a 64-bit word
351 * @word: the word to search
360 static inline int fls64(unsigned long word) in fls64() argument
364 return (1 + (__flogr(word) ^ (BITS_PER_LONG - 1))) & mask; in fls64()
369 * @word: the word to search
374 static inline int fls(unsigned int word) in fls() argument
376 return fls64(word); in fls()