[PATCH 3/5] powerpc/lib/sstep: Add bpermd instruction emulation
Segher Boessenkool
segher at kernel.crashing.org
Thu Jul 13 17:28:21 AEST 2017
On Thu, Jul 13, 2017 at 01:25:46PM +1000, Matt Brown wrote:
> +static nokprobe_inline void do_bpermd(struct pt_regs *regs, unsigned long v1,
> + unsigned long v2, int ra)
> +{
> + unsigned int idx, i;
> + unsigned char perm;
> +
> + perm = 0x0;
> + for (i = 0; i < 8; i++) {
> + idx = (v1 >> (i * 8)) & 0xff;
> + if (idx < 64)
> + perm |= (v2 & (1 << idx)) >> (idx - i);
That doesn't work I think, the bit numbers ("idx") are big-endian?
> + }
> + regs->gpr[ra] = 0 | perm;
And that is just silly :-)
> +}
Segher
More information about the Linuxppc-dev
mailing list