@@ -51,9 +51,8 @@ define <2 x half> @expandload_v2f16(ptr %base, <2 x half> %src0, <2 x i1> %mask)
5151; RV32-NEXT: beqz a1, .LBB1_2
5252; RV32-NEXT: .LBB1_4: # %cond.load1
5353; RV32-NEXT: flh fa5, 0(a0)
54- ; RV32-NEXT: vsetvli zero, zero, e16, m2, ta, ma
55- ; RV32-NEXT: vfmv.s.f v9, fa5
5654; RV32-NEXT: vsetivli zero, 2, e16, mf4, ta, ma
55+ ; RV32-NEXT: vfmv.s.f v9, fa5
5756; RV32-NEXT: vslideup.vi v8, v9, 1
5857; RV32-NEXT: ret
5958;
@@ -77,9 +76,8 @@ define <2 x half> @expandload_v2f16(ptr %base, <2 x half> %src0, <2 x i1> %mask)
7776; RV64-NEXT: beqz a1, .LBB1_2
7877; RV64-NEXT: .LBB1_4: # %cond.load1
7978; RV64-NEXT: flh fa5, 0(a0)
80- ; RV64-NEXT: vsetvli zero, zero, e16, m2, ta, ma
81- ; RV64-NEXT: vfmv.s.f v9, fa5
8279; RV64-NEXT: vsetivli zero, 2, e16, mf4, ta, ma
80+ ; RV64-NEXT: vfmv.s.f v9, fa5
8381; RV64-NEXT: vslideup.vi v8, v9, 1
8482; RV64-NEXT: ret
8583 %res = call <2 x half > @llvm.masked.expandload.v2f16 (ptr align 2 %base , <2 x i1 > %mask , <2 x half > %src0 )
@@ -114,9 +112,8 @@ define <4 x half> @expandload_v4f16(ptr %base, <4 x half> %src0, <4 x i1> %mask)
114112; RV32-NEXT: beqz a2, .LBB2_2
115113; RV32-NEXT: .LBB2_6: # %cond.load1
116114; RV32-NEXT: flh fa5, 0(a0)
117- ; RV32-NEXT: vsetvli zero, zero, e16, m2, ta, ma
118- ; RV32-NEXT: vfmv.s.f v9, fa5
119115; RV32-NEXT: vsetivli zero, 2, e16, mf2, tu, ma
116+ ; RV32-NEXT: vfmv.s.f v9, fa5
120117; RV32-NEXT: vslideup.vi v8, v9, 1
121118; RV32-NEXT: addi a0, a0, 2
122119; RV32-NEXT: andi a2, a1, 4
@@ -162,9 +159,8 @@ define <4 x half> @expandload_v4f16(ptr %base, <4 x half> %src0, <4 x i1> %mask)
162159; RV64-NEXT: beqz a2, .LBB2_2
163160; RV64-NEXT: .LBB2_6: # %cond.load1
164161; RV64-NEXT: flh fa5, 0(a0)
165- ; RV64-NEXT: vsetvli zero, zero, e16, m2, ta, ma
166- ; RV64-NEXT: vfmv.s.f v9, fa5
167162; RV64-NEXT: vsetivli zero, 2, e16, mf2, tu, ma
163+ ; RV64-NEXT: vfmv.s.f v9, fa5
168164; RV64-NEXT: vslideup.vi v8, v9, 1
169165; RV64-NEXT: addi a0, a0, 2
170166; RV64-NEXT: andi a2, a1, 4
@@ -227,9 +223,8 @@ define <8 x half> @expandload_v8f16(ptr %base, <8 x half> %src0, <8 x i1> %mask)
227223; RV32-NEXT: beqz a2, .LBB3_2
228224; RV32-NEXT: .LBB3_10: # %cond.load1
229225; RV32-NEXT: flh fa5, 0(a0)
230- ; RV32-NEXT: vsetvli zero, zero, e16, m2, ta, ma
231- ; RV32-NEXT: vfmv.s.f v9, fa5
232226; RV32-NEXT: vsetivli zero, 2, e16, m1, tu, ma
227+ ; RV32-NEXT: vfmv.s.f v9, fa5
233228; RV32-NEXT: vslideup.vi v8, v9, 1
234229; RV32-NEXT: addi a0, a0, 2
235230; RV32-NEXT: andi a2, a1, 4
@@ -319,9 +314,8 @@ define <8 x half> @expandload_v8f16(ptr %base, <8 x half> %src0, <8 x i1> %mask)
319314; RV64-NEXT: beqz a2, .LBB3_2
320315; RV64-NEXT: .LBB3_10: # %cond.load1
321316; RV64-NEXT: flh fa5, 0(a0)
322- ; RV64-NEXT: vsetvli zero, zero, e16, m2, ta, ma
323- ; RV64-NEXT: vfmv.s.f v9, fa5
324317; RV64-NEXT: vsetivli zero, 2, e16, m1, tu, ma
318+ ; RV64-NEXT: vfmv.s.f v9, fa5
325319; RV64-NEXT: vslideup.vi v8, v9, 1
326320; RV64-NEXT: addi a0, a0, 2
327321; RV64-NEXT: andi a2, a1, 4
@@ -425,9 +419,8 @@ define <2 x float> @expandload_v2f32(ptr %base, <2 x float> %src0, <2 x i1> %mas
425419; RV32-NEXT: beqz a1, .LBB5_2
426420; RV32-NEXT: .LBB5_4: # %cond.load1
427421; RV32-NEXT: flw fa5, 0(a0)
428- ; RV32-NEXT: vsetvli zero, zero, e32, m4, ta, ma
429- ; RV32-NEXT: vfmv.s.f v9, fa5
430422; RV32-NEXT: vsetivli zero, 2, e32, mf2, ta, ma
423+ ; RV32-NEXT: vfmv.s.f v9, fa5
431424; RV32-NEXT: vslideup.vi v8, v9, 1
432425; RV32-NEXT: ret
433426;
@@ -451,9 +444,8 @@ define <2 x float> @expandload_v2f32(ptr %base, <2 x float> %src0, <2 x i1> %mas
451444; RV64-NEXT: beqz a1, .LBB5_2
452445; RV64-NEXT: .LBB5_4: # %cond.load1
453446; RV64-NEXT: flw fa5, 0(a0)
454- ; RV64-NEXT: vsetvli zero, zero, e32, m4, ta, ma
455- ; RV64-NEXT: vfmv.s.f v9, fa5
456447; RV64-NEXT: vsetivli zero, 2, e32, mf2, ta, ma
448+ ; RV64-NEXT: vfmv.s.f v9, fa5
457449; RV64-NEXT: vslideup.vi v8, v9, 1
458450; RV64-NEXT: ret
459451 %res = call <2 x float > @llvm.masked.expandload.v2f32 (ptr align 4 %base , <2 x i1 > %mask , <2 x float > %src0 )
@@ -488,9 +480,8 @@ define <4 x float> @expandload_v4f32(ptr %base, <4 x float> %src0, <4 x i1> %mas
488480; RV32-NEXT: beqz a2, .LBB6_2
489481; RV32-NEXT: .LBB6_6: # %cond.load1
490482; RV32-NEXT: flw fa5, 0(a0)
491- ; RV32-NEXT: vsetvli zero, zero, e32, m4, ta, ma
492- ; RV32-NEXT: vfmv.s.f v9, fa5
493483; RV32-NEXT: vsetivli zero, 2, e32, m1, tu, ma
484+ ; RV32-NEXT: vfmv.s.f v9, fa5
494485; RV32-NEXT: vslideup.vi v8, v9, 1
495486; RV32-NEXT: addi a0, a0, 4
496487; RV32-NEXT: andi a2, a1, 4
@@ -536,9 +527,8 @@ define <4 x float> @expandload_v4f32(ptr %base, <4 x float> %src0, <4 x i1> %mas
536527; RV64-NEXT: beqz a2, .LBB6_2
537528; RV64-NEXT: .LBB6_6: # %cond.load1
538529; RV64-NEXT: flw fa5, 0(a0)
539- ; RV64-NEXT: vsetvli zero, zero, e32, m4, ta, ma
540- ; RV64-NEXT: vfmv.s.f v9, fa5
541530; RV64-NEXT: vsetivli zero, 2, e32, m1, tu, ma
531+ ; RV64-NEXT: vfmv.s.f v9, fa5
542532; RV64-NEXT: vslideup.vi v8, v9, 1
543533; RV64-NEXT: addi a0, a0, 4
544534; RV64-NEXT: andi a2, a1, 4
@@ -601,9 +591,8 @@ define <8 x float> @expandload_v8f32(ptr %base, <8 x float> %src0, <8 x i1> %mas
601591; RV32-NEXT: beqz a2, .LBB7_2
602592; RV32-NEXT: .LBB7_10: # %cond.load1
603593; RV32-NEXT: flw fa5, 0(a0)
604- ; RV32-NEXT: vsetvli zero, zero, e32, m4, ta, ma
605- ; RV32-NEXT: vfmv.s.f v10, fa5
606594; RV32-NEXT: vsetivli zero, 2, e32, m1, tu, ma
595+ ; RV32-NEXT: vfmv.s.f v10, fa5
607596; RV32-NEXT: vslideup.vi v8, v10, 1
608597; RV32-NEXT: addi a0, a0, 4
609598; RV32-NEXT: andi a2, a1, 4
@@ -693,9 +682,8 @@ define <8 x float> @expandload_v8f32(ptr %base, <8 x float> %src0, <8 x i1> %mas
693682; RV64-NEXT: beqz a2, .LBB7_2
694683; RV64-NEXT: .LBB7_10: # %cond.load1
695684; RV64-NEXT: flw fa5, 0(a0)
696- ; RV64-NEXT: vsetvli zero, zero, e32, m4, ta, ma
697- ; RV64-NEXT: vfmv.s.f v10, fa5
698685; RV64-NEXT: vsetivli zero, 2, e32, m1, tu, ma
686+ ; RV64-NEXT: vfmv.s.f v10, fa5
699687; RV64-NEXT: vslideup.vi v8, v10, 1
700688; RV64-NEXT: addi a0, a0, 4
701689; RV64-NEXT: andi a2, a1, 4
@@ -799,9 +787,8 @@ define <2 x double> @expandload_v2f64(ptr %base, <2 x double> %src0, <2 x i1> %m
799787; RV32-NEXT: beqz a1, .LBB9_2
800788; RV32-NEXT: .LBB9_4: # %cond.load1
801789; RV32-NEXT: fld fa5, 0(a0)
802- ; RV32-NEXT: vsetvli zero, zero, e64, m8, ta, ma
803- ; RV32-NEXT: vfmv.s.f v9, fa5
804790; RV32-NEXT: vsetivli zero, 2, e64, m1, ta, ma
791+ ; RV32-NEXT: vfmv.s.f v9, fa5
805792; RV32-NEXT: vslideup.vi v8, v9, 1
806793; RV32-NEXT: ret
807794;
@@ -825,9 +812,8 @@ define <2 x double> @expandload_v2f64(ptr %base, <2 x double> %src0, <2 x i1> %m
825812; RV64-NEXT: beqz a1, .LBB9_2
826813; RV64-NEXT: .LBB9_4: # %cond.load1
827814; RV64-NEXT: fld fa5, 0(a0)
828- ; RV64-NEXT: vsetvli zero, zero, e64, m8, ta, ma
829- ; RV64-NEXT: vfmv.s.f v9, fa5
830815; RV64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
816+ ; RV64-NEXT: vfmv.s.f v9, fa5
831817; RV64-NEXT: vslideup.vi v8, v9, 1
832818; RV64-NEXT: ret
833819 %res = call <2 x double > @llvm.masked.expandload.v2f64 (ptr align 8 %base , <2 x i1 > %mask , <2 x double > %src0 )
@@ -862,9 +848,8 @@ define <4 x double> @expandload_v4f64(ptr %base, <4 x double> %src0, <4 x i1> %m
862848; RV32-NEXT: beqz a2, .LBB10_2
863849; RV32-NEXT: .LBB10_6: # %cond.load1
864850; RV32-NEXT: fld fa5, 0(a0)
865- ; RV32-NEXT: vsetvli zero, zero, e64, m8, ta, ma
866- ; RV32-NEXT: vfmv.s.f v10, fa5
867851; RV32-NEXT: vsetivli zero, 2, e64, m1, tu, ma
852+ ; RV32-NEXT: vfmv.s.f v10, fa5
868853; RV32-NEXT: vslideup.vi v8, v10, 1
869854; RV32-NEXT: addi a0, a0, 8
870855; RV32-NEXT: andi a2, a1, 4
@@ -910,9 +895,8 @@ define <4 x double> @expandload_v4f64(ptr %base, <4 x double> %src0, <4 x i1> %m
910895; RV64-NEXT: beqz a2, .LBB10_2
911896; RV64-NEXT: .LBB10_6: # %cond.load1
912897; RV64-NEXT: fld fa5, 0(a0)
913- ; RV64-NEXT: vsetvli zero, zero, e64, m8, ta, ma
914- ; RV64-NEXT: vfmv.s.f v10, fa5
915898; RV64-NEXT: vsetivli zero, 2, e64, m1, tu, ma
899+ ; RV64-NEXT: vfmv.s.f v10, fa5
916900; RV64-NEXT: vslideup.vi v8, v10, 1
917901; RV64-NEXT: addi a0, a0, 8
918902; RV64-NEXT: andi a2, a1, 4
@@ -975,9 +959,8 @@ define <8 x double> @expandload_v8f64(ptr %base, <8 x double> %src0, <8 x i1> %m
975959; RV32-NEXT: beqz a2, .LBB11_2
976960; RV32-NEXT: .LBB11_10: # %cond.load1
977961; RV32-NEXT: fld fa5, 0(a0)
978- ; RV32-NEXT: vsetvli zero, zero, e64, m8, ta, ma
979- ; RV32-NEXT: vfmv.s.f v12, fa5
980962; RV32-NEXT: vsetivli zero, 2, e64, m1, tu, ma
963+ ; RV32-NEXT: vfmv.s.f v12, fa5
981964; RV32-NEXT: vslideup.vi v8, v12, 1
982965; RV32-NEXT: addi a0, a0, 8
983966; RV32-NEXT: andi a2, a1, 4
@@ -1067,9 +1050,8 @@ define <8 x double> @expandload_v8f64(ptr %base, <8 x double> %src0, <8 x i1> %m
10671050; RV64-NEXT: beqz a2, .LBB11_2
10681051; RV64-NEXT: .LBB11_10: # %cond.load1
10691052; RV64-NEXT: fld fa5, 0(a0)
1070- ; RV64-NEXT: vsetvli zero, zero, e64, m8, ta, ma
1071- ; RV64-NEXT: vfmv.s.f v12, fa5
10721053; RV64-NEXT: vsetivli zero, 2, e64, m1, tu, ma
1054+ ; RV64-NEXT: vfmv.s.f v12, fa5
10731055; RV64-NEXT: vslideup.vi v8, v12, 1
10741056; RV64-NEXT: addi a0, a0, 8
10751057; RV64-NEXT: andi a2, a1, 4
0 commit comments