Subject: Re: [PATCH 4/5] powerpc/lib/sstep: Add prty instruction emulation

From: Segher Boessenkool <[email-masked]>
Date: Thu, 13 Jul 2017 02:37:57 -0500

On Thu, Jul 13, 2017 at 01:25:47PM +1000, Matt Brown wrote:
> +static nokprobe_inline void do_prtyw(struct pt_regs *regs, unsigned long v,
> +				int ra)
> +{
> +	unsigned long low, high, out;
> +	unsigned int i;
> +
> +	high = 0;
> +	low = 0;
> +	out = 0;
> +
> +	for (i = 0; i < 8; i++) {
> +		if (v & (1 << (i * 8)))

1UL

> +			(i < 4) ? (low++) : (high++);
> +	}
> +
> +	if (low % 2)
> +		out |= low;
> +	if (high % 2)
> +		out |= (high << 32);

Only the low bit of each word of the output can be set.  Something
like

  out = ((high & 1) << 32) | (low & 1);

Segher