Re: [PATCH 10/31] Add sparc-specific parity functions

Zeng Zhaoxiu
2016-03-28T05:44:20Z

在 2016年03月28日 10:43, David Miller 写道:
> From: "zhaoxiu.zeng" <zhaoxiu.zeng@gmail.com>
> Date: Sun, 27 Mar 2016 14:43:10 +0800
>
>> +
>> +/*
>> + * parityN: returns the parity of a N-bit word,
>> + * i.e. the number of 1-bits in x modulo 2.
>> + */
>> +
>> +#define __arch_parity4(w) (__arch_hweight8((w) & 0xf) & 1)
>> +#define __arch_parity8(w) (__arch_hweight8(w) & 1)
>> +#define __arch_parity16(w) (__arch_hweight16(w) & 1)
>> +#define __arch_parity32(w) (__arch_hweight32(w) & 1)
>> +#define __arch_parity64(w) ((unsigned int)__arch_hweight64(w) & 1)
> This looks like asm-generic/ material to me.

This is generic for the architectures which have popcount instruction,
but more higher costs than asm-generic/ for others.