[x86] Add the dispatch skeleton to the new vector shuffle lowering for
authorChandler Carruth <chandlerc@gmail.com>
Mon, 29 Sep 2014 00:37:27 +0000 (00:37 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 29 Sep 2014 00:37:27 +0000 (00:37 +0000)
commit8e93ce17803b6b3249846f42916a5c9fbb53330a
treee2af3a5f25a5668e3533ef16069621458a245e09
parent3bc1ba672c7102605015be77df5b54b3822c3cd8
[x86] Add the dispatch skeleton to the new vector shuffle lowering for
AVX-512.

There is no interesting logic yet. Everything ends up eventually
delegating to the generic code to split the vector and shuffle the
halves. Interestingly, that logic does a significantly better job of
lowering all of these types than the generic vector expansion code does.
Mostly, it lets most of the cases fall back to nice AVX2 code rather
than all the way back to SSE code paths.

Step 2 of basic AVX-512 support in the new vector shuffle lowering. Next
up will be to incrementally add direct support for the basic instruction
set to each type (adding tests first).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218585 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-shuffle-512-v8.ll