return result + size; /* Nope. */
}
found_middle:
- return result + bitops_ffsl(tmp);
+ return result + ctzl(tmp);
}
/*
return result + size; /* Nope. */
}
found_middle:
- return result + ffz(tmp);
+ return result + ctzl(~tmp);
}
unsigned long find_last_bit(const unsigned long *addr, unsigned long size)
tmp = addr[--words];
if (tmp) {
found:
- return words * BITS_PER_LONG + bitops_flsl(tmp);
+ return words * BITS_PER_LONG + BITS_PER_LONG - 1 - clzl(tmp);
}
}