[x86] Restructure the checking patterns for v16 and v32 avx2 vector
authorChandler Carruth <chandlerc@gmail.com>
Fri, 21 Nov 2014 14:53:03 +0000 (14:53 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 21 Nov 2014 14:53:03 +0000 (14:53 +0000)
commitce5a26b0e779afa1a001e5182fd47fa1f2cc658a
tree439dfb23e27413878d9a0428b08ffe619fb8555f
parentf769ae1ac43f8703328bbc9b12b0436c0e0ae0ba
[x86] Restructure the checking patterns for v16 and v32 avx2 vector
shuffle lowering to allow much better blend matching.

Specifically, with the new structure the code seems clearer to me and we
correctly can hit the cases where merging two 128-bit lanes is a clear
win and can be shuffled cheaply afterward.

llvm-svn: 222539
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll