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