From: Jens Axboe Date: Mon, 2 Jun 2008 07:19:37 +0000 (+0200) Subject: Add missing lib/ffz.h file X-Git-Tag: fio-1.21-rc4~9 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=064c636d364fab601a908e040d3aa5eaf2775694 Add missing lib/ffz.h file Signed-off-by: Jens Axboe --- diff --git a/lib/ffz.h b/lib/ffz.h new file mode 100644 index 00000000..7fc7d456 --- /dev/null +++ b/lib/ffz.h @@ -0,0 +1,37 @@ +#ifndef FIO_FFZ_H +#define FIO_FFZ_H + +static inline int __ffs(int word) +{ + int r = 0; + + if (!(word & 0xffff)) { + word >>= 16; + r += 16; + } + if (!(word & 0xff)) { + word >>= 8; + r += 8; + } + if (!(word & 0xf)) { + word >>= 4; + r += 4; + } + if (!(word & 3)) { + word >>= 2; + r += 2; + } + if (!(word & 1)) { + word >>= 1; + r += 1; + } + + return r; +} + +static inline int ffz(unsigned int bitmask) +{ + return ffs(~bitmask); +} + +#endif