[X86][SSE] psrl(w/d/q) and psll(w/d/q) bit shifts for SSE2
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 3 Feb 2015 21:58:29 +0000 (21:58 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 3 Feb 2015 21:58:29 +0000 (21:58 +0000)
commit3d04e48cb671bec91baf2b2b5e3e98153a3cb73a
treedfb9aef99d7ec27db684007f42d57ddb627321ba
parent8c775a4e7b39674f0450b63d176fc090d4f8d379
[X86][SSE] psrl(w/d/q) and psll(w/d/q) bit shifts for SSE2

Patch to match cases where shuffle masks can be reduced to bit shifts. Similar to byte shift shuffle matching from D5699.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228047 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/combine-or.ll
test/CodeGen/X86/vec_insert-5.ll
test/CodeGen/X86/vector-shuffle-128-v16.ll
test/CodeGen/X86/vector-shuffle-128-v4.ll
test/CodeGen/X86/vector-shuffle-128-v8.ll
test/CodeGen/X86/vector-shuffle-256-v16.ll
test/CodeGen/X86/vector-shuffle-256-v32.ll
test/CodeGen/X86/vector-shuffle-256-v8.ll