@@ -52,9 +52,8 @@ define {<vscale x 16 x i8>, <vscale x 16 x i8>} @vector_deinterleave_load_nxv16i
5252define <vscale x 16 x i8 > @vector_deinterleave_load_nxv16i8_nxv32i8_oneactive (ptr %p ) {
5353; CHECK-LABEL: vector_deinterleave_load_nxv16i8_nxv32i8_oneactive:
5454; CHECK: # %bb.0:
55- ; CHECK-NEXT: vl4r.v v12, (a0)
56- ; CHECK-NEXT: vsetvli a0, zero, e8, m2, ta, ma
57- ; CHECK-NEXT: vnsrl.wi v8, v12, 0
55+ ; CHECK-NEXT: vsetvli a1, zero, e8, m2, ta, ma
56+ ; CHECK-NEXT: vlseg2e8.v v8, (a0)
5857; CHECK-NEXT: ret
5958 %vec = load <vscale x 32 x i8 >, ptr %p
6059 %deinterleaved.results = call {<vscale x 16 x i8 >, <vscale x 16 x i8 >} @llvm.vector.deinterleave2.nxv32i8 (<vscale x 32 x i8 > %vec )
@@ -65,9 +64,8 @@ define <vscale x 16 x i8> @vector_deinterleave_load_nxv16i8_nxv32i8_oneactive(pt
6564define <vscale x 16 x i8 > @vector_deinterleave_load_nxv16i8_nxv32i8_oneactive2 (ptr %p ) {
6665; CHECK-LABEL: vector_deinterleave_load_nxv16i8_nxv32i8_oneactive2:
6766; CHECK: # %bb.0:
68- ; CHECK-NEXT: vl4r.v v12, (a0)
69- ; CHECK-NEXT: vsetvli a0, zero, e8, m2, ta, ma
70- ; CHECK-NEXT: vnsrl.wi v8, v12, 8
67+ ; CHECK-NEXT: vsetvli a1, zero, e8, m2, ta, ma
68+ ; CHECK-NEXT: vlseg2e8.v v6, (a0)
7169; CHECK-NEXT: ret
7270 %vec = load <vscale x 32 x i8 >, ptr %p
7371 %deinterleaved.results = call {<vscale x 16 x i8 >, <vscale x 16 x i8 >} @llvm.vector.deinterleave2.nxv32i8 (<vscale x 32 x i8 > %vec )
@@ -409,23 +407,8 @@ define { <vscale x 8 x i8>, <vscale x 8 x i8>, <vscale x 8 x i8>, <vscale x 8 x
409407define <vscale x 8 x i8 > @vector_deinterleave_load_factor4_oneactive (ptr %p ) {
410408; CHECK-LABEL: vector_deinterleave_load_factor4_oneactive:
411409; CHECK: # %bb.0:
412- ; CHECK-NEXT: addi sp, sp, -16
413- ; CHECK-NEXT: .cfi_def_cfa_offset 16
414- ; CHECK-NEXT: csrr a1, vlenb
415- ; CHECK-NEXT: slli a1, a1, 2
416- ; CHECK-NEXT: sub sp, sp, a1
417- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x04, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 4 * vlenb
418- ; CHECK-NEXT: vl4r.v v8, (a0)
419- ; CHECK-NEXT: addi a0, sp, 16
420- ; CHECK-NEXT: vs4r.v v8, (a0)
421410; CHECK-NEXT: vsetvli a1, zero, e8, m1, ta, ma
422411; CHECK-NEXT: vlseg4e8.v v8, (a0)
423- ; CHECK-NEXT: csrr a0, vlenb
424- ; CHECK-NEXT: slli a0, a0, 2
425- ; CHECK-NEXT: add sp, sp, a0
426- ; CHECK-NEXT: .cfi_def_cfa sp, 16
427- ; CHECK-NEXT: addi sp, sp, 16
428- ; CHECK-NEXT: .cfi_def_cfa_offset 0
429412; CHECK-NEXT: ret
430413 %vec = load <vscale x 32 x i8 >, ptr %p
431414 %d0 = call { <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 > } @llvm.vector.deinterleave4 (<vscale x 32 x i8 > %vec )
@@ -436,23 +419,8 @@ define <vscale x 8 x i8> @vector_deinterleave_load_factor4_oneactive(ptr %p) {
436419define <vscale x 8 x i8 > @vector_deinterleave_load_factor4_oneactive2 (ptr %p ) {
437420; CHECK-LABEL: vector_deinterleave_load_factor4_oneactive2:
438421; CHECK: # %bb.0:
439- ; CHECK-NEXT: addi sp, sp, -16
440- ; CHECK-NEXT: .cfi_def_cfa_offset 16
441- ; CHECK-NEXT: csrr a1, vlenb
442- ; CHECK-NEXT: slli a1, a1, 2
443- ; CHECK-NEXT: sub sp, sp, a1
444- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x04, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 4 * vlenb
445- ; CHECK-NEXT: vl4r.v v8, (a0)
446- ; CHECK-NEXT: addi a0, sp, 16
447- ; CHECK-NEXT: vs4r.v v8, (a0)
448422; CHECK-NEXT: vsetvli a1, zero, e8, m1, ta, ma
449423; CHECK-NEXT: vlseg4e8.v v5, (a0)
450- ; CHECK-NEXT: csrr a0, vlenb
451- ; CHECK-NEXT: slli a0, a0, 2
452- ; CHECK-NEXT: add sp, sp, a0
453- ; CHECK-NEXT: .cfi_def_cfa sp, 16
454- ; CHECK-NEXT: addi sp, sp, 16
455- ; CHECK-NEXT: .cfi_def_cfa_offset 0
456424; CHECK-NEXT: ret
457425 %vec = load <vscale x 32 x i8 >, ptr %p
458426 %d0 = call { <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 > } @llvm.vector.deinterleave4 (<vscale x 32 x i8 > %vec )
@@ -463,23 +431,8 @@ define <vscale x 8 x i8> @vector_deinterleave_load_factor4_oneactive2(ptr %p) {
463431define { <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 > } @vector_deinterleave_load_factor4_twoactive (ptr %p ) {
464432; CHECK-LABEL: vector_deinterleave_load_factor4_twoactive:
465433; CHECK: # %bb.0:
466- ; CHECK-NEXT: addi sp, sp, -16
467- ; CHECK-NEXT: .cfi_def_cfa_offset 16
468- ; CHECK-NEXT: csrr a1, vlenb
469- ; CHECK-NEXT: slli a1, a1, 2
470- ; CHECK-NEXT: sub sp, sp, a1
471- ; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x04, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 4 * vlenb
472- ; CHECK-NEXT: vl4r.v v8, (a0)
473- ; CHECK-NEXT: addi a0, sp, 16
474- ; CHECK-NEXT: vs4r.v v8, (a0)
475434; CHECK-NEXT: vsetvli a1, zero, e8, m1, ta, ma
476435; CHECK-NEXT: vlseg4e8.v v8, (a0)
477- ; CHECK-NEXT: csrr a0, vlenb
478- ; CHECK-NEXT: slli a0, a0, 2
479- ; CHECK-NEXT: add sp, sp, a0
480- ; CHECK-NEXT: .cfi_def_cfa sp, 16
481- ; CHECK-NEXT: addi sp, sp, 16
482- ; CHECK-NEXT: .cfi_def_cfa_offset 0
483436; CHECK-NEXT: ret
484437 %vec = load <vscale x 32 x i8 >, ptr %p
485438 %d0 = call { <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 >, <vscale x 8 x i8 > } @llvm.vector.deinterleave4 (<vscale x 32 x i8 > %vec )
0 commit comments