This patchset replaces the following bitops by builtin/generic ones: - ffs() / __ffs() - fls() / __fls() / fls64() - ffz() - __ilog2() / __ilog2_u32() / __ilog2_u64()
The current functions are written as inline assembly which prevents GCC to optimise them in case of constant parameters and obliges GCC to group the related instructions all together. With the builtin alternatives, GCC optimises better Christophe Leroy (4): powerpc: Discard ffs()/__ffs() function and use builtin functions instead powerpc: Use builtin functions for fls()/__fls()/fls64() powerpc: Replace ffz() by equivalent generic function powerpc: remove __ilog2()s and use generic ones arch/powerpc/Kconfig | 8 ---- arch/powerpc/include/asm/bitops.h | 87 ++++----------------------------------- 2 files changed, 7 insertions(+), 88 deletions(-) -- 2.12.0