[X86][SSE] Improvements to byte shift shuffle matching
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 25 Nov 2014 22:34:59 +0000 (22:34 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 25 Nov 2014 22:34:59 +0000 (22:34 +0000)
commit371417db347317ffff9c9469b5ed85a6b3e98382
tree81b78f6109ab675d3066f25fc48fac136225c06c
parentb3d08bb44b641b87743637356acee6f8d35e9401
[X86][SSE] Improvements to byte shift shuffle matching

Since (v)pslldq / (v)psrldq instructions resolve to a single input argument it is useful to match it much earlier than we currently do - this prevents more complicated shuffles (notably insertion into a zero vector) matching before it.

Differential Revision: http://reviews.llvm.org/D6409

llvm-svn: 222796
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/combine-or.ll
llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
llvm/test/CodeGen/X86/vector-shuffle-128-v8.ll