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

Segher Boessenkool segher at kernel.crashing.org
Thu Jul 13 17:37:57 AEST 2017


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


More information about the Linuxppc-dev mailing list