[X86][SSE] SimplifyDemandedVectorEltsForTargetNode - add faux shuffle support.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 8 Sep 2019 21:38:33 +0000 (21:38 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 8 Sep 2019 21:38:33 +0000 (21:38 +0000)
commite0ea746215c88a713680c32f4589a918e19f385d
tree812d9cdad1037a5c3e80a0285398270b2f69b599
parent139a9d6c0e0d872f0f41f94f621c616d8459817a
[X86][SSE] SimplifyDemandedVectorEltsForTargetNode - add faux shuffle support.

This patch decodes target and faux shuffles with getTargetShuffleInputs - a reduced version of resolveTargetShuffleInputs that doesn't resolve SM_SentinelZero cases, so we can correctly remove zero vectors if they aren't demanded.

llvm-svn: 371353
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-reduce-mul.ll