[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