On Fri, 2016-04-15 at 23:20 +0800, zengzhao...@163.com wrote: > From: Zeng Zhaoxiu <zhaoxiu.z...@gmail.com> > > blackfin has popcount instruction (ONES), we can do the efficient > computing (ffz, __ffs, ffs, __fls, and fls) use this instruction. [] > diff --git a/arch/blackfin/include/asm/bitops.h > b/arch/blackfin/include/asm/bitops.h [] > +static inline unsigned int __arch_hweight64(__u64 w) > +{ > + return __arch_hweight32((unsigned int)(w >> 32)) + > + __arch_hweight32((unsigned int)w); > +}
trivia: perhaps this is more readable as: return __arch_hweight32(upper_32_bits(w)) + __arch_hweight32(lower_32_bits(w));