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