[PATCH] D109348: [X86][AVX] Prohibit creating X86ISD::VBROADCAST(128->256) when it is AVX in combineConcatVectorOps

Bing Yu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 7 02:24:49 PDT 2021


yubing added a comment.

Hi, @lebedev.ri .

1. I think https://reviews.llvm.org/D105390 also has similar issue where you might create X86ISD::VBROADCAST(128->256) in AVX.
2. Besides, Before https://reviews.llvm.org/D105390, we have nicer asm output for the testcase we added:

  movq    qa_ at GOTPCREL(%rip), %rax
  movl    $1091567616, 30256(%rax)        # imm = 0x41100000
  movabsq $4294967297, %rcx               # imm = 0x100000001
  movq    %rcx, 46348(%rax)
  vbroadcastf128  .LCPI0_0(%rip), %ymm0   # ymm0 = [7.812501848093234E-3,7.812501848093234E-3,7.812501848093234E-3,7.812501848093234E-3]
                                  # ymm0 = mem[0,1,0,1]
  vmovups %ymm0, 48296(%rax)
  vmovsd  .LCPI0_1(%rip), %xmm0           # xmm0 = mem[0],zero
  vmovsd  %xmm0, 47372(%rax)
  vzeroupper
  retq

Would you take a look at the issue?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D109348



More information about the llvm-commits mailing list