On Tue, 2013-12-24 at 07:17 -0800, Richard Henderson wrote:
> On 12/18/2013 12:48 PM, Tom Musta wrote:
> > +DEF_HELPER_3(bpermd, i64, env, i64, i64)
> 
> Should be DEF_HELPER_FLAGS_2(bpermd, TCG_CALL_NO_RWG_SE, i64, i64, i64)
> 
> > +uint64_t helper_bpermd(CPUPPCState *env, uint64_t rs, uint64_t rb)
> > +{
> > +    int i;
> > +    uint64_t ra = 0;
> > +
> > +    for (i = 0; i < 8; i++) {
> > +        int index = (rs >> (i*8)) & 0xFF;
> > +        if (index < 64) {
> > +            if (rb & (1ul << (63-index))) {
> > +                ra |= 1 << i;
> > +            }
> > +        }
> > +    }
> > +    return ra;
> > +}
> > +
> 
> You don't need env as an argument; it's unused.
> 
> Why is all of this specific to ppc64?  Can't you run an ISA2.06B machine in
> 32-bit mode?

bpermd is a 64-bit instruction.  32-bit implementations do not have it.

-Scott



Reply via email to