@@ -481,7 +481,7 @@ declare <2 x i32> @llvm.masked.load.v2i32(ptr, i32, <2 x i1>, <2 x i32>)
481481define void @masked_load_v2i32_align1 (ptr %a , <2 x i32 > %m , ptr %res_ptr ) nounwind {
482482; RV32-SLOW-LABEL: masked_load_v2i32_align1:
483483; RV32-SLOW: # %bb.0:
484- ; RV32-SLOW-NEXT: vsetivli zero, 2 , e32, mf2, ta, ma
484+ ; RV32-SLOW-NEXT: vsetivli zero, 1 , e32, mf2, ta, ma
485485; RV32-SLOW-NEXT: vmseq.vi v8, v8, 0
486486; RV32-SLOW-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
487487; RV32-SLOW-NEXT: vmv.x.s a2, v8
@@ -499,7 +499,7 @@ define void @masked_load_v2i32_align1(ptr %a, <2 x i32> %m, ptr %res_ptr) nounwi
499499; RV32-SLOW-NEXT: slli a6, a6, 24
500500; RV32-SLOW-NEXT: or a4, a6, a5
501501; RV32-SLOW-NEXT: or a3, a4, a3
502- ; RV32-SLOW-NEXT: vsetvli zero, zero , e32, mf2, ta, ma
502+ ; RV32-SLOW-NEXT: vsetivli zero, 2 , e32, mf2, ta, ma
503503; RV32-SLOW-NEXT: vmv.v.x v8, a3
504504; RV32-SLOW-NEXT: .LBB8_2: # %else
505505; RV32-SLOW-NEXT: andi a2, a2, 2
@@ -515,17 +515,19 @@ define void @masked_load_v2i32_align1(ptr %a, <2 x i32> %m, ptr %res_ptr) nounwi
515515; RV32-SLOW-NEXT: slli a0, a0, 24
516516; RV32-SLOW-NEXT: or a0, a0, a4
517517; RV32-SLOW-NEXT: or a0, a0, a2
518- ; RV32-SLOW-NEXT: vsetvli zero, zero , e32, mf2, ta, ma
518+ ; RV32-SLOW-NEXT: vsetivli zero, 2 , e32, mf2, ta, ma
519519; RV32-SLOW-NEXT: vmv.s.x v9, a0
520520; RV32-SLOW-NEXT: vslideup.vi v8, v9, 1
521- ; RV32-SLOW-NEXT: .LBB8_4: # %else2
522- ; RV32-SLOW-NEXT: vsetvli zero, zero, e32, mf2, ta, ma
521+ ; RV32-SLOW-NEXT: vse32.v v8, (a1)
522+ ; RV32-SLOW-NEXT: ret
523+ ; RV32-SLOW-NEXT: .LBB8_4:
524+ ; RV32-SLOW-NEXT: vsetivli zero, 2, e32, mf2, ta, ma
523525; RV32-SLOW-NEXT: vse32.v v8, (a1)
524526; RV32-SLOW-NEXT: ret
525527;
526528; RV64-SLOW-LABEL: masked_load_v2i32_align1:
527529; RV64-SLOW: # %bb.0:
528- ; RV64-SLOW-NEXT: vsetivli zero, 2 , e32, mf2, ta, ma
530+ ; RV64-SLOW-NEXT: vsetivli zero, 1 , e32, mf2, ta, ma
529531; RV64-SLOW-NEXT: vmseq.vi v8, v8, 0
530532; RV64-SLOW-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
531533; RV64-SLOW-NEXT: vmv.x.s a2, v8
@@ -543,7 +545,7 @@ define void @masked_load_v2i32_align1(ptr %a, <2 x i32> %m, ptr %res_ptr) nounwi
543545; RV64-SLOW-NEXT: slli a6, a6, 24
544546; RV64-SLOW-NEXT: or a4, a6, a5
545547; RV64-SLOW-NEXT: or a3, a4, a3
546- ; RV64-SLOW-NEXT: vsetvli zero, zero , e32, mf2, ta, ma
548+ ; RV64-SLOW-NEXT: vsetivli zero, 2 , e32, mf2, ta, ma
547549; RV64-SLOW-NEXT: vmv.v.x v8, a3
548550; RV64-SLOW-NEXT: .LBB8_2: # %else
549551; RV64-SLOW-NEXT: andi a2, a2, 2
@@ -559,11 +561,13 @@ define void @masked_load_v2i32_align1(ptr %a, <2 x i32> %m, ptr %res_ptr) nounwi
559561; RV64-SLOW-NEXT: slli a0, a0, 24
560562; RV64-SLOW-NEXT: or a0, a0, a4
561563; RV64-SLOW-NEXT: or a0, a0, a2
562- ; RV64-SLOW-NEXT: vsetvli zero, zero , e32, mf2, ta, ma
564+ ; RV64-SLOW-NEXT: vsetivli zero, 2 , e32, mf2, ta, ma
563565; RV64-SLOW-NEXT: vmv.s.x v9, a0
564566; RV64-SLOW-NEXT: vslideup.vi v8, v9, 1
565- ; RV64-SLOW-NEXT: .LBB8_4: # %else2
566- ; RV64-SLOW-NEXT: vsetvli zero, zero, e32, mf2, ta, ma
567+ ; RV64-SLOW-NEXT: vse32.v v8, (a1)
568+ ; RV64-SLOW-NEXT: ret
569+ ; RV64-SLOW-NEXT: .LBB8_4:
570+ ; RV64-SLOW-NEXT: vsetivli zero, 2, e32, mf2, ta, ma
567571; RV64-SLOW-NEXT: vse32.v v8, (a1)
568572; RV64-SLOW-NEXT: ret
569573;
@@ -585,7 +589,7 @@ declare void @llvm.masked.store.v2i32.p0(<2 x i32>, ptr, i32, <2 x i1>)
585589define void @masked_store_v2i32_align2 (<2 x i32 > %val , ptr %a , <2 x i32 > %m ) nounwind {
586590; SLOW-LABEL: masked_store_v2i32_align2:
587591; SLOW: # %bb.0:
588- ; SLOW-NEXT: vsetivli zero, 2 , e32, mf2, ta, ma
592+ ; SLOW-NEXT: vsetivli zero, 1 , e32, mf2, ta, ma
589593; SLOW-NEXT: vmseq.vi v9, v9, 0
590594; SLOW-NEXT: vsetvli zero, zero, e8, mf8, ta, ma
591595; SLOW-NEXT: vmv.x.s a1, v9
0 commit comments