[llvm] [CodeGen] Expand unsupported interleave to shuffles (PR #210494)
Kamlesh Kumar via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 24 02:59:49 PDT 2026
================
@@ -59,12 +59,21 @@ define {<16 x i8>, <16 x i8>} @vector_deinterleave_load_v16i8_v32i8(ptr %p) {
define {<8 x i16>, <8 x i16>} @vector_deinterleave_load_v8i16_v16i16_align1(ptr %p) {
; CHECK-LABEL: vector_deinterleave_load_v8i16_v16i16_align1:
; CHECK: # %bb.0:
+; CHECK-NEXT: addi sp, sp, -32
+; CHECK-NEXT: .cfi_def_cfa_offset 32
; CHECK-NEXT: li a1, 32
; CHECK-NEXT: vsetvli zero, a1, e8, m2, ta, ma
-; CHECK-NEXT: vle8.v v10, (a0)
+; CHECK-NEXT: vle8.v v8, (a0)
+; CHECK-NEXT: vsetivli zero, 8, e16, m2, ta, ma
+; CHECK-NEXT: vslidedown.vi v10, v8, 8
+; CHECK-NEXT: mv a0, sp
; CHECK-NEXT: vsetivli zero, 8, e16, m1, ta, ma
-; CHECK-NEXT: vnsrl.wi v8, v10, 0
-; CHECK-NEXT: vnsrl.wi v9, v10, 16
+; CHECK-NEXT: vse16.v v8, (a0)
+; CHECK-NEXT: addi a1, sp, 16
+; CHECK-NEXT: vse16.v v10, (a1)
+; CHECK-NEXT: vlseg2e16.v v8, (a0)
----------------
kamleshbhalui wrote:
Even after expanding factor 2 to shuffles at vector legalizer (latest commit) , there seems regressions for riscv.
https://github.com/llvm/llvm-project/pull/210494
More information about the llvm-commits
mailing list