]> granicus.if.org Git - llvm/commit
[X86][AVX] SimplifyDemandedVectorElts - handle extraction from X86ISD::SUBV_BROADCAST...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 30 Jul 2019 11:35:13 +0000 (11:35 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 30 Jul 2019 11:35:13 +0000 (11:35 +0000)
commit4f4183eff5023e2ecfc5f70f7b35925bf145a074
treec3d58a535a4c7194a0622970cee5962ee16bfbdf
parentac2843934b012f62044a292966bbed43c2b19310
[X86][AVX] SimplifyDemandedVectorElts - handle extraction from X86ISD::SUBV_BROADCAST source (PR42819)

PR42819 showed an issue that we couldn't handle the case where we demanded a 'sub-sub-vector' of the SUBV_BROADCAST 'sub-vector' source.

This patch recognizes these cases and extracts the sub-sub-vector instead of trying to broadcast to a type smaller than the 'sub-vector' source.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367306 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/oddsubvector.ll