[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)
commit37a18821cd8b0df5ac877659d2d397f0e268407c
treed537d3e1d271f6cc2dea8589b603911cec9b57c3
parent7bbfd245b08fda1503ec7e3c6954c100235cdee2
[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.

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