[PATCH] D123221: [X86] `lowerBuildVectorAsBroadcast()`: with AVX512, allow i64 broadcasts from constant pool
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 6 07:40:29 PDT 2022
lebedev.ri added a comment.
There is a number of failures to fold the broadcast load into a folded load.
Is that a blocker? I'm not really sure what is going on with that.
================
Comment at: llvm/test/CodeGen/X86/avx512-ext.ll:3048-3049
; KNL-NEXT: vpmovzxbq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,zero,zero,zero,zero,zero,zero
-; KNL-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
+; KNL-NEXT: vpbroadcastq {{.*#+}} xmm1 = [1,1]
+; KNL-NEXT: vpand %xmm1, %xmm0, %xmm0
; KNL-NEXT: retq
----------------
Folded load folding failure.
================
Comment at: llvm/test/CodeGen/X86/fma-fneg-combine.ll:238-240
+; KNL-NEXT: vmovddup {{.*#+}} xmm1 = [-0.0E+0,-0.0E+0]
+; KNL-NEXT: # xmm1 = mem[0,0]
+; KNL-NEXT: vxorpd %xmm1, %xmm0, %xmm0
----------------
Folded load folding failure.
================
Comment at: llvm/test/CodeGen/X86/sadd_sat_vec.ll:1222-1224
+; AVX512F-NEXT: vmovddup {{.*#+}} xmm4 = [9223372036854775808,9223372036854775808]
+; AVX512F-NEXT: # xmm4 = mem[0,0]
+; AVX512F-NEXT: vblendvpd %xmm2, %xmm3, %xmm4, %xmm3
----------------
Folded load folding failure.
================
Comment at: llvm/test/CodeGen/X86/vec_int_to_fp.ll:5695-5696
; AVX512F: # %bb.0:
-; AVX512F-NEXT: vpaddq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
+; AVX512F-NEXT: vpbroadcastq {{.*#+}} xmm1 = [2,2]
+; AVX512F-NEXT: vpaddq %xmm1, %xmm0, %xmm1
; AVX512F-NEXT: vpxor %xmm2, %xmm2, %xmm2
----------------
Folded load folding failure.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123221/new/
https://reviews.llvm.org/D123221
More information about the llvm-commits
mailing list