[X86][SSE] Add ISD::VECTOR_SHUFFLE to faux shuffle decoding (Reapplied)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 22 Jan 2018 12:05:17 +0000 (12:05 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 22 Jan 2018 12:05:17 +0000 (12:05 +0000)
commit17682a86da5e261be760a4b468206df53cd2c8bc
tree7a278562c88c94d723780a177535f076570804aa
parent11d0b29446a4f70e50ac086ada8dcf8db3016a3c
[X86][SSE] Add ISD::VECTOR_SHUFFLE to faux shuffle decoding (Reapplied)

Primarily, this allows us to use the aggressive extraction mechanisms in combineExtractWithShuffle earlier and make use of UNDEF elements that may be lost during lowering.

Reapplied after rL322279 was reverted at rL322335 due to PR35918, underlying issue was fixed at rL322644.

llvm-svn: 323104
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/2011-12-8-bitcastintprom.ll
llvm/test/CodeGen/X86/pmul.ll
llvm/test/CodeGen/X86/pr35918.ll
llvm/test/CodeGen/X86/promote-vec3.ll
llvm/test/CodeGen/X86/psubus.ll
llvm/test/CodeGen/X86/vector-compare-results.ll
llvm/test/CodeGen/X86/vector-sext.ll
llvm/test/CodeGen/X86/widen_load-2.ll