[X86][SSE] Added support for combining bit-shifts with shuffles.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 28 Nov 2016 16:25:01 +0000 (16:25 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 28 Nov 2016 16:25:01 +0000 (16:25 +0000)
commit3f10e669817f174cb99da771e1cd6ecbbfb44fa1
tree3944b493e1be9c23aee12fb82b3b5fd81dc18b95
parent7fcacd8e0e9fd5dc937da96c77b7b2239e022f69
[X86][SSE] Added support for combining bit-shifts with shuffles.

Bit-shifts by a whole number of bytes can be represented as a shuffle mask suitable for combining.

Added a 'getFauxShuffleMask' function to allow us to create shuffle masks from other suitable operations.

llvm-svn: 288040
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-sext.ll
llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll