[x86] Handle single input shuffles in the SSSE3 case more intelligently.
authorChandler Carruth <chandlerc@gmail.com>
Mon, 4 Aug 2014 01:14:24 +0000 (01:14 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 4 Aug 2014 01:14:24 +0000 (01:14 +0000)
commit73100d8f33493fac4f9ac4ea3d99dce8f1986b8f
treef170b603afaa28b6b613518d4369c3b31b56890c
parentf3ef961a94a948be3f59e63d2485a5d5e87a6b50
[x86] Handle single input shuffles in the SSSE3 case more intelligently.

I spent some time looking into a better or more principled way to handle
this. For example, by detecting arbitrary "unneeded" ORs... But really,
there wasn't any point. We just shouldn't build blatantly wrong code so
late in the pipeline rather than adding more stages and logic later on
to fix it. Avoiding this is just too simple.

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