On Thu, Jan 18, 2018 at 04:51:47PM -0600, Segher Boessenkool wrote:
> > +(define_insn "vsx_ld_elemrev_v1ti"
> > +  [(set (match_operand:V1TI 0 "vsx_register_operand" "=wa")
> > +        (vec_select:V1TI
> > +     (match_operand:V1TI 1 "memory_operand" "Z")
> > +     (parallel [(const_int 0)])))]
> > +  "VECTOR_MEM_VSX_P (V1TImode) && !BYTES_BIG_ENDIAN"
> > +{
> > +  return "lxvd2x %x0,%y1; xxpermdi %x0,%x0,%x0,2";
> > +}

> We currently have exactly as many xxpermdi,2 as xxswapdi (147 each)
> but the latter is more readable, please prefer that.

Ignore this part; I managed to fumble my grep commands.  We have *no*
xxswapd in the source currently (well, one in comments, and 11 xxswapdi
but that is a misspelling); stage 4 is not the time to start using it
(do all supported assemblers implement it, implement it correctly, etc.)

So your xxpermdi is the best for now.


Segher

Reply via email to