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));

Reply via email to