@@ -65,6 +65,18 @@ define <vscale x 3 x i8> @vpload_nxv3i8(ptr %ptr, <vscale x 3 x i1> %m, i32 zero
6565 ret <vscale x 3 x i8 > %load
6666}
6767
68+ declare <vscale x 4 x i6 > @llvm.vp.load.nxv4i6.nxv4i6.p0 (<vscale x 4 x i6 >*, <vscale x 4 x i1 >, i32 )
69+
70+ define <vscale x 4 x i6 > @vpload_nxv4i6 (<vscale x 4 x i6 >* %ptr , <vscale x 4 x i1 > %m , i32 zeroext %evl ) {
71+ ; CHECK-LABEL: vpload_nxv4i6:
72+ ; CHECK: # %bb.0:
73+ ; CHECK-NEXT: vsetvli zero, a1, e8, mf2, ta, ma
74+ ; CHECK-NEXT: vle8.v v8, (a0), v0.t
75+ ; CHECK-NEXT: ret
76+ %load = call <vscale x 4 x i6 > @llvm.vp.load.nxv4i6.nxv4i6.p0 (<vscale x 4 x i6 >* %ptr , <vscale x 4 x i1 > %m , i32 %evl )
77+ ret <vscale x 4 x i6 > %load
78+ }
79+
6880declare <vscale x 4 x i8 > @llvm.vp.load.nxv4i8.p0 (ptr , <vscale x 4 x i1 >, i32 )
6981
7082define <vscale x 4 x i8 > @vpload_nxv4i8 (ptr %ptr , <vscale x 4 x i1 > %m , i32 zeroext %evl ) {
@@ -523,10 +535,10 @@ define <vscale x 16 x double> @vpload_nxv16f64(ptr %ptr, <vscale x 16 x i1> %m,
523535; CHECK-NEXT: add a4, a0, a4
524536; CHECK-NEXT: vsetvli zero, a3, e64, m8, ta, ma
525537; CHECK-NEXT: vle64.v v16, (a4), v0.t
526- ; CHECK-NEXT: bltu a1, a2, .LBB43_2
538+ ; CHECK-NEXT: bltu a1, a2, .LBB44_2
527539; CHECK-NEXT: # %bb.1:
528540; CHECK-NEXT: mv a1, a2
529- ; CHECK-NEXT: .LBB43_2 :
541+ ; CHECK-NEXT: .LBB44_2 :
530542; CHECK-NEXT: vmv1r.v v0, v8
531543; CHECK-NEXT: vsetvli zero, a1, e64, m8, ta, ma
532544; CHECK-NEXT: vle64.v v8, (a0), v0.t
@@ -553,10 +565,10 @@ define <vscale x 16 x double> @vpload_nxv17f64(ptr %ptr, ptr %out, <vscale x 17
553565; CHECK-NEXT: csrr a3, vlenb
554566; CHECK-NEXT: slli a5, a3, 1
555567; CHECK-NEXT: mv a4, a2
556- ; CHECK-NEXT: bltu a2, a5, .LBB44_2
568+ ; CHECK-NEXT: bltu a2, a5, .LBB45_2
557569; CHECK-NEXT: # %bb.1:
558570; CHECK-NEXT: mv a4, a5
559- ; CHECK-NEXT: .LBB44_2 :
571+ ; CHECK-NEXT: .LBB45_2 :
560572; CHECK-NEXT: sub a6, a4, a3
561573; CHECK-NEXT: slli a7, a3, 3
562574; CHECK-NEXT: srli t0, a3, 3
@@ -572,21 +584,21 @@ define <vscale x 16 x double> @vpload_nxv17f64(ptr %ptr, ptr %out, <vscale x 17
572584; CHECK-NEXT: sltu a2, a2, a5
573585; CHECK-NEXT: addi a2, a2, -1
574586; CHECK-NEXT: and a2, a2, a5
575- ; CHECK-NEXT: bltu a2, a3, .LBB44_4
587+ ; CHECK-NEXT: bltu a2, a3, .LBB45_4
576588; CHECK-NEXT: # %bb.3:
577589; CHECK-NEXT: mv a2, a3
578- ; CHECK-NEXT: .LBB44_4 :
590+ ; CHECK-NEXT: .LBB45_4 :
579591; CHECK-NEXT: slli a5, a3, 4
580592; CHECK-NEXT: srli a6, a3, 2
581593; CHECK-NEXT: vsetvli a7, zero, e8, mf2, ta, ma
582594; CHECK-NEXT: vslidedown.vx v0, v8, a6
583595; CHECK-NEXT: add a5, a0, a5
584596; CHECK-NEXT: vsetvli zero, a2, e64, m8, ta, ma
585597; CHECK-NEXT: vle64.v v24, (a5), v0.t
586- ; CHECK-NEXT: bltu a4, a3, .LBB44_6
598+ ; CHECK-NEXT: bltu a4, a3, .LBB45_6
587599; CHECK-NEXT: # %bb.5:
588600; CHECK-NEXT: mv a4, a3
589- ; CHECK-NEXT: .LBB44_6 :
601+ ; CHECK-NEXT: .LBB45_6 :
590602; CHECK-NEXT: vmv1r.v v0, v8
591603; CHECK-NEXT: vsetvli zero, a4, e64, m8, ta, ma
592604; CHECK-NEXT: vle64.v v8, (a0), v0.t
0 commit comments