Re: [PATCH V3] blackfin: optimize ffz, __ffs, ffs, __fls, and fls functions
From: Zhaoxiu Zeng
Date: Fri Apr 15 2016 - 12:19:28 EST
å 2016/4/16 0:08, Joe Perches åé:
> On Fri, 2016-04-15 at 23:20 +0800, zengzhaoxiu@xxxxxxx wrote:
>> From: Zeng Zhaoxiu <zhaoxiu.zeng@xxxxxxxxx>
>>
>> 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));
>
>
Yes.
I just moved these codes from the bottom of bitops.h, didn't change anything.