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

Reply via email to