[x86] Teach the unpack lowering to try wider element unpacks.
authorChandler Carruth <chandlerc@gmail.com>
Tue, 17 Feb 2015 02:12:24 +0000 (02:12 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 17 Feb 2015 02:12:24 +0000 (02:12 +0000)
commit1e357351bee034815a7ad6c08e998749a0429b1e
tree5350f49f8897ccc284a697cca040af86b7484a9d
parent5b43c8551e055e0644e734efc5e7c3ce90774a60
[x86] Teach the unpack lowering to try wider element unpacks.

This allows it to match still more places where previously we would have
to fall back on floating point shuffles or other more complex lowering
strategies.

I'm hoping to replace some of the hand-rolled unpack matching with this
routine is it gets more and more clever.

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