[x86] Initial improvements to the new shuffle lowering for v16i8
authorChandler Carruth <chandlerc@gmail.com>
Thu, 10 Jul 2014 04:34:06 +0000 (04:34 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 10 Jul 2014 04:34:06 +0000 (04:34 +0000)
commit95b14b00dae387a1a2035a1fcaae37a00fef8b2e
tree95df8f40652f3c5feb9e8649dc2c0d3dea8c2eb5
parentac37f731e78134602ac4b8f7a2ac42a3c4ff4a8f
[x86] Initial improvements to the new shuffle lowering for v16i8
shuffles specifically for cases where a small subset of the elements in
the input vector are actually used.

This is specifically targetted at improving the shuffles generated for
trunc operations, but also helps out splat-like operations.

There is still some really low-hanging fruit here that I want to address
but this is a huge step in the right direction.

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