[X86][AVX] Remove X86ISD::SUBV_BROADCAST (PR38969)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 18 Dec 2020 15:19:43 +0000 (15:19 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 18 Dec 2020 15:49:53 +0000 (15:49 +0000)
commit8767f3bb972f5122ad2e914df13470219b68bac4
treeccbbabdacf4d4e55aef6f420812dc2d85ad92f49
parentdb2195bc5b3e3ef60e840d5877a62871a369203c
[X86][AVX] Remove X86ISD::SUBV_BROADCAST (PR38969)

Followup to D92645 - remove the remaining places where we create X86ISD::SUBV_BROADCAST, and fold splatted vector loads to X86ISD::SUBV_BROADCAST_LOAD instead.

Remove all the X86SubVBroadcast isel patterns, including all the fallbacks for if memory folding failed.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
llvm/lib/Target/X86/X86InstrSSE.td
llvm/test/CodeGen/X86/avx-vbroadcastf128.ll
llvm/test/CodeGen/X86/avx2-vbroadcasti128.ll
llvm/test/CodeGen/X86/oddshuffles.ll
llvm/test/CodeGen/X86/oddsubvector.ll
llvm/test/CodeGen/X86/subvector-broadcast.ll
llvm/test/CodeGen/X86/x86-upgrade-avx2-vbroadcast.ll