1 diff -ur linux-/include/asm-i386/bitops.h linux/include/asm-i386/bitops.h
2 --- linux-/include/asm-i386/bitops.h Thu Nov 22 20:46:18 2001
3 +++ linux/include/asm-i386/bitops.h Tue Mar 5 21:08:15 2002
5 return (offset + set + res);
8 +#include <linux/bitops.h>
11 * ffz - find first zero in word.
12 * @word: The word to search
15 static __inline__ int ffs(int x)
19 - __asm__("bsfl %1,%0\n\t"
22 - "1:" : "=r" (r) : "rm" (x));
24 + /* The generic_ffs function is used to avoid the asm when the
25 + argument is a constant. */
26 + if (__builtin_constant_p (x)) {
27 + return generic_ffs (x);
31 + __asm__("bsfl %1,%0\n\t"
34 + "1:" : "=r" (r) : "rm" (x));