On Mon, Sep 19, 2016 at 06:20:59PM -0500, Segher Boessenkool wrote:
> On Mon, Sep 19, 2016 at 06:51:42PM -0400, Michael Meissner wrote:
> > > > However ISA 2.07 (i.e. power8) added the VMRGEW instruction, which can 
> > > > do this
> > > > more simply:
> > > > 
> > > >         xxpermdi 34,1,2,0
> > > >         xxpermdi 32,3,4,0
> > > >         xvcvdpsp 34,34
> > > >         xvcvdpsp 32,32
> > > >         vmrgew 2,2,0
> > > 
> > > This results in {a,c,b,d} instead?
> > 
> > Yes.
> 
> [ snip ]
> 
> My question was if you typoed/pastoed/thinkoed it here and you meant
> 
>         xxpermdi 34,1,3,0
>         xxpermdi 32,2,4,0
>         xvcvdpsp 34,34
>         xvcvdpsp 32,32
>         vmrgew 2,2,0
> 
> which a) works, and b) seems to be what the code generates :-)

Yes it works on both big endian and little endian power8's.  And yes, it is the
code generated by the patch.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Reply via email to