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.
298 * @word - The word to search
304 static inline unsigned char __flogr(unsigned long word) in __flogr() argument
306 if (__builtin_constant_p(word)) { in __flogr()
309 if (!word) in __flogr()
311 if (!(word & 0xffffffff00000000UL)) { in __flogr()
312 word <<= 32; in __flogr()
315 if (!(word & 0xffff000000000000UL)) { in __flogr()
316 word <<= 16; in __flogr()
319 if (!(word & 0xff00000000000000UL)) { in __flogr()
320 word <<= 8; in __flogr()
323 if (!(word & 0xf000000000000000UL)) { in __flogr()
324 word <<= 4; in __flogr()
327 if (!(word & 0xc000000000000000UL)) { in __flogr()
328 word <<= 2; in __flogr()
331 if (!(word & 0x8000000000000000UL)) { in __flogr()
332 word <<= 1; in __flogr()
337 register unsigned long bit asm("4") = word; in __flogr()
348 * __ffs - find first bit in word.
349 * @word: The word to search
353 static inline unsigned long __ffs(unsigned long word) in __ffs() argument
355 return __flogr(-word & word) ^ (BITS_PER_LONG - 1); in __ffs()
360 * @word: the word to search
365 static inline int ffs(int word) in ffs() argument
368 unsigned int val = (unsigned int)word; in ffs()
374 * __fls - find last (most-significant) set bit in a long word
375 * @word: the word to search
379 static inline unsigned long __fls(unsigned long word) in __fls() argument
381 return __flogr(word) ^ (BITS_PER_LONG - 1); in __fls()
385 * fls64 - find last set bit in a 64-bit word
386 * @word: the word to search
395 static inline int fls64(unsigned long word) in fls64() argument
399 return (1 + (__flogr(word) ^ (BITS_PER_LONG - 1))) & mask; in fls64()
404 * @word: the word to search
409 static inline int fls(unsigned int word) in fls() argument
411 return fls64(word); in fls()