[X86][SSE] Add support for combining SSE VSHLI/VSRLI uniform constant shifts.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 12 Dec 2016 13:33:58 +0000 (13:33 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 12 Dec 2016 13:33:58 +0000 (13:33 +0000)
commit5ebd2b542bedc94ebd041f83a59c567ef5758c10
tree740715cc69e0532f08280d2378a74ef1a66f4e1c
parent03a04fe95ffbf54ce54957e378c36a520f0b19d3
[X86][SSE] Add support for combining SSE VSHLI/VSRLI uniform constant shifts.

Fixes some missed constant folding opportunities and allows us to combine shuffles that end with a logical bit shift.

llvm-svn: 289429
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/bswap-vector.ll
llvm/test/CodeGen/X86/pmul.ll
llvm/test/CodeGen/X86/vector-idiv-udiv-128.ll
llvm/test/CodeGen/X86/vector-lzcnt-128.ll
llvm/test/CodeGen/X86/vector-lzcnt-256.ll