[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)
commite4d5423dcdffddf9dd9bb94e19e59e187b7559df
tree8c4067ae7378fd089f50b1090cc4602d19dbf446
parentb9f8ab2c7eb2f6e1110d3beeafb129f0b0037bfd
[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.

llvm-svn: 367306
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/oddsubvector.ll