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: [email protected], phone: +1 (978) 899-4797