[PATCH] D92645: [X86] Add X86ISD::SUBV_BROADCAST_LOAD and begin removing X86ISD::SUBV_BROADCAST (PR38969)

Bing Yu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 10 00:59:07 PST 2020


yubing added inline comments.


================
Comment at: llvm/test/CodeGen/X86/subvector-broadcast.ll:826
 ; X64-AVX512-NEXT:    vpaddq %ymm2, %ymm0, %ymm0
-; X64-AVX512-NEXT:    vinserti64x4 $1, %ymm2, %zmm2, %zmm2
 ; X64-AVX512-NEXT:    vpaddq %zmm2, %zmm1, %zmm1
----------------
Hi, Simon. I have a question about previous code.
Before ISEL, there are the following nodes:
t42: i32 = X86ISD::Wrapper TargetConstantPool:i32<<8 x i32> <i32 1, i32 0, i32 2, i32 0, i32 3, i32 0, i32 4, i32 0>> 0
t35: v8i32,ch = load<(load 32 from constant-pool)> t0, t42, undef:i32
t36: v16i32 = X86ISD::SUBV_BROADCAST t35
But they are not morphed into vbroadcasti64x4. Did you know why?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92645/new/

https://reviews.llvm.org/D92645



More information about the llvm-commits mailing list