[llvm] Reapply "[X86] EltsFromConsecutiveLoads - handle trunc(wideload()) patterns" (#199371) (PR #208999)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 12 18:11:05 PDT 2026
================
@@ -107,12 +107,36 @@ define <16 x i8> @buildvec_v16i8_stride4(ptr %p) {
; AVX2-NEXT: vpinsrb $15, 60(%rdi), %xmm0, %xmm0
; AVX2-NEXT: retq
;
-; AVX512-LABEL: buildvec_v16i8_stride4:
-; AVX512: # %bb.0:
-; AVX512-NEXT: vmovdqu64 (%rdi), %zmm0
-; AVX512-NEXT: vpmovdb %zmm0, %xmm0
-; AVX512-NEXT: vzeroupper
-; AVX512-NEXT: retq
+; AVX512F-LABEL: buildvec_v16i8_stride4:
+; AVX512F: # %bb.0:
+; AVX512F-NEXT: movzbl (%rdi), %eax
+; AVX512F-NEXT: vmovd %eax, %xmm0
+; AVX512F-NEXT: vpinsrb $1, 4(%rdi), %xmm0, %xmm0
----------------
phoebewang wrote:
There's no AVX512 instruction in the AVX512VL case. Why can't apply it to AVX2 and AVX512F?
https://github.com/llvm/llvm-project/pull/208999
More information about the llvm-commits
mailing list