[X86][AVX] SimplifyDemandedVectorElts - handle extraction from X86ISD::SUBV_BROADCAST...
commit4db09abbaacf4dc6c01b5f82a25b74de4101291f
authorSimon Pilgrim <lvm-dev@redking.me.uk>
Tue, 30 Jul 2019 11:35:13 +0000 (30 11:35 +0000)
committerSimon Pilgrim <lvm-dev@redking.me.uk>
Tue, 30 Jul 2019 11:35:13 +0000 (30 11:35 +0000)
treec3d58a535a4c7194a0622970cee5962ee16bfbdf
parentc54519dcdde615df36be52bf398247701d738c9c
[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