[LLVMdev] AVX Shuffles & PatLeaf Help Needed

David Greene dag at cray.com
Thu Dec 17 16:12:48 PST 2009


On Thursday 17 December 2009 18:04, Anton Korobeynikov wrote:
> Hello, David
>
> > Can you expand on this with an example?  There seems to be an awful lot
> > of shuffle patterns and predicates in PPCInstrAltivec.td.  What do you
> > mean by, "Canonicalize to byte ops?"  Can you walk me through how that
> > works with Altivec?
>
> The basic idea is quite simple - lower everything to vNi8 and write
> all the patterns using only these types.

Yeah, I figured that out after thinking a bit more.  However, I think in this
case we only want to lower to vNi32 since there are no immediate-mask shuffles
in X86 that operate on smaller element types.  Doing it at the byte level 
would just be more confusing, I think.

PSHUFB is really a completely different instruction than PSHUFD, for example.

                              -Dave




More information about the llvm-dev mailing list