[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)
commit7d2ffb549285b814da284cfced222c827bffa90f
treef1fd9dc3ad057ad0b3eb4b56b38cf8a990f41142
parent05b9ebf2f96b7d6f4d8110195d4d728e892e84c8
[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.

llvm-svn: 212680
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll