On Fri, Aug 05, 2016 at 05:00:39PM -0500, Pat Haugen wrote: > On 08/03/2016 11:33 PM, Michael Meissner wrote: > > { > > - if (BYTES_BIG_ENDIAN) > > - return "xxpermdi %x0,%x1,%x2,0"; > > + if (which_alternative == 0) > > + return (BYTES_BIG_ENDIAN > > + ? "xxpermdi %x0,%x1,%x2,0" > > + : "xxpermdi %x0,%x2,%x1,0"); > > + > > + else if (which_alternative == 1) > > + return (BYTES_BIG_ENDIAN > > + ? "mtvsrdd %x0,%1,%2" > > + : "mtvsrdd %x0,%2,%1"); > > + > > else > > - return "xxpermdi %x0,%x2,%x1,0"; > > + gcc_unreachable (); > > } > > - [(set_attr "type" "vecperm")]) > > + [(set_attr "type" "vecperm,mftgpr") > > + (set_attr "length" "4")]) > > mtvsrdd actually behaves like a permute, so vecperm would be best insn type > for it.
Ok, when I submit the patch again, I will change the type to "vecperm". I will also change it in "vsx_splat_<mode>" which also generates MTVSRDD. Thanks. -- 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