patch: make instcombine remove shuffles by reordering vector elements
Bob Wilson
bob.wilson at apple.com
Sat May 4 21:32:24 PDT 2013
On May 4, 2013, at 6:27 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> Maybe that's not so bad ;) The PPC has a whole perfect-shuffle generation framework to handle these kinds of things for Altivec. Have you ever looked at PPCPerfectShuffle.h and utils/PerfectShuffle/PerfectShuffle.cpp?
We use "perfect shuffle" code for ARM Neon, too, except only for vectors with 4 elements. The tables get way too big with 8- and 16-element vectors.
If InstCombine creates a shuffle for a 16-element Neon vector that doesn't directly match an instruction, you can end up with absolutely terrible code. Until someone comes up with a general solution to that, it is really important that none of the target-independent code create new shuffles that might cause trouble for code-gen.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130504/782abc9d/attachment.html>
More information about the llvm-commits
mailing list