@@ -51,9 +51,8 @@ define <2 x half> @expandload_v2f16(ptr %base, <2 x half> %src0, <2 x i1> %mask)
51
51
; RV32-NEXT: beqz a1, .LBB1_2
52
52
; RV32-NEXT: .LBB1_4: # %cond.load1
53
53
; RV32-NEXT: flh fa5, 0(a0)
54
- ; RV32-NEXT: vsetvli zero, zero, e16, m2, ta, ma
55
- ; RV32-NEXT: vfmv.s.f v9, fa5
56
54
; RV32-NEXT: vsetivli zero, 2, e16, mf4, ta, ma
55
+ ; RV32-NEXT: vfmv.s.f v9, fa5
57
56
; RV32-NEXT: vslideup.vi v8, v9, 1
58
57
; RV32-NEXT: ret
59
58
;
@@ -77,9 +76,8 @@ define <2 x half> @expandload_v2f16(ptr %base, <2 x half> %src0, <2 x i1> %mask)
77
76
; RV64-NEXT: beqz a1, .LBB1_2
78
77
; RV64-NEXT: .LBB1_4: # %cond.load1
79
78
; RV64-NEXT: flh fa5, 0(a0)
80
- ; RV64-NEXT: vsetvli zero, zero, e16, m2, ta, ma
81
- ; RV64-NEXT: vfmv.s.f v9, fa5
82
79
; RV64-NEXT: vsetivli zero, 2, e16, mf4, ta, ma
80
+ ; RV64-NEXT: vfmv.s.f v9, fa5
83
81
; RV64-NEXT: vslideup.vi v8, v9, 1
84
82
; RV64-NEXT: ret
85
83
%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)
114
112
; RV32-NEXT: beqz a2, .LBB2_2
115
113
; RV32-NEXT: .LBB2_6: # %cond.load1
116
114
; RV32-NEXT: flh fa5, 0(a0)
117
- ; RV32-NEXT: vsetvli zero, zero, e16, m2, ta, ma
118
- ; RV32-NEXT: vfmv.s.f v9, fa5
119
115
; RV32-NEXT: vsetivli zero, 2, e16, mf2, tu, ma
116
+ ; RV32-NEXT: vfmv.s.f v9, fa5
120
117
; RV32-NEXT: vslideup.vi v8, v9, 1
121
118
; RV32-NEXT: addi a0, a0, 2
122
119
; 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)
162
159
; RV64-NEXT: beqz a2, .LBB2_2
163
160
; RV64-NEXT: .LBB2_6: # %cond.load1
164
161
; RV64-NEXT: flh fa5, 0(a0)
165
- ; RV64-NEXT: vsetvli zero, zero, e16, m2, ta, ma
166
- ; RV64-NEXT: vfmv.s.f v9, fa5
167
162
; RV64-NEXT: vsetivli zero, 2, e16, mf2, tu, ma
163
+ ; RV64-NEXT: vfmv.s.f v9, fa5
168
164
; RV64-NEXT: vslideup.vi v8, v9, 1
169
165
; RV64-NEXT: addi a0, a0, 2
170
166
; 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)
227
223
; RV32-NEXT: beqz a2, .LBB3_2
228
224
; RV32-NEXT: .LBB3_10: # %cond.load1
229
225
; RV32-NEXT: flh fa5, 0(a0)
230
- ; RV32-NEXT: vsetvli zero, zero, e16, m2, ta, ma
231
- ; RV32-NEXT: vfmv.s.f v9, fa5
232
226
; RV32-NEXT: vsetivli zero, 2, e16, m1, tu, ma
227
+ ; RV32-NEXT: vfmv.s.f v9, fa5
233
228
; RV32-NEXT: vslideup.vi v8, v9, 1
234
229
; RV32-NEXT: addi a0, a0, 2
235
230
; 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)
319
314
; RV64-NEXT: beqz a2, .LBB3_2
320
315
; RV64-NEXT: .LBB3_10: # %cond.load1
321
316
; RV64-NEXT: flh fa5, 0(a0)
322
- ; RV64-NEXT: vsetvli zero, zero, e16, m2, ta, ma
323
- ; RV64-NEXT: vfmv.s.f v9, fa5
324
317
; RV64-NEXT: vsetivli zero, 2, e16, m1, tu, ma
318
+ ; RV64-NEXT: vfmv.s.f v9, fa5
325
319
; RV64-NEXT: vslideup.vi v8, v9, 1
326
320
; RV64-NEXT: addi a0, a0, 2
327
321
; 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
425
419
; RV32-NEXT: beqz a1, .LBB5_2
426
420
; RV32-NEXT: .LBB5_4: # %cond.load1
427
421
; RV32-NEXT: flw fa5, 0(a0)
428
- ; RV32-NEXT: vsetvli zero, zero, e32, m4, ta, ma
429
- ; RV32-NEXT: vfmv.s.f v9, fa5
430
422
; RV32-NEXT: vsetivli zero, 2, e32, mf2, ta, ma
423
+ ; RV32-NEXT: vfmv.s.f v9, fa5
431
424
; RV32-NEXT: vslideup.vi v8, v9, 1
432
425
; RV32-NEXT: ret
433
426
;
@@ -451,9 +444,8 @@ define <2 x float> @expandload_v2f32(ptr %base, <2 x float> %src0, <2 x i1> %mas
451
444
; RV64-NEXT: beqz a1, .LBB5_2
452
445
; RV64-NEXT: .LBB5_4: # %cond.load1
453
446
; RV64-NEXT: flw fa5, 0(a0)
454
- ; RV64-NEXT: vsetvli zero, zero, e32, m4, ta, ma
455
- ; RV64-NEXT: vfmv.s.f v9, fa5
456
447
; RV64-NEXT: vsetivli zero, 2, e32, mf2, ta, ma
448
+ ; RV64-NEXT: vfmv.s.f v9, fa5
457
449
; RV64-NEXT: vslideup.vi v8, v9, 1
458
450
; RV64-NEXT: ret
459
451
%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
488
480
; RV32-NEXT: beqz a2, .LBB6_2
489
481
; RV32-NEXT: .LBB6_6: # %cond.load1
490
482
; RV32-NEXT: flw fa5, 0(a0)
491
- ; RV32-NEXT: vsetvli zero, zero, e32, m4, ta, ma
492
- ; RV32-NEXT: vfmv.s.f v9, fa5
493
483
; RV32-NEXT: vsetivli zero, 2, e32, m1, tu, ma
484
+ ; RV32-NEXT: vfmv.s.f v9, fa5
494
485
; RV32-NEXT: vslideup.vi v8, v9, 1
495
486
; RV32-NEXT: addi a0, a0, 4
496
487
; 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
536
527
; RV64-NEXT: beqz a2, .LBB6_2
537
528
; RV64-NEXT: .LBB6_6: # %cond.load1
538
529
; RV64-NEXT: flw fa5, 0(a0)
539
- ; RV64-NEXT: vsetvli zero, zero, e32, m4, ta, ma
540
- ; RV64-NEXT: vfmv.s.f v9, fa5
541
530
; RV64-NEXT: vsetivli zero, 2, e32, m1, tu, ma
531
+ ; RV64-NEXT: vfmv.s.f v9, fa5
542
532
; RV64-NEXT: vslideup.vi v8, v9, 1
543
533
; RV64-NEXT: addi a0, a0, 4
544
534
; 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
601
591
; RV32-NEXT: beqz a2, .LBB7_2
602
592
; RV32-NEXT: .LBB7_10: # %cond.load1
603
593
; RV32-NEXT: flw fa5, 0(a0)
604
- ; RV32-NEXT: vsetvli zero, zero, e32, m4, ta, ma
605
- ; RV32-NEXT: vfmv.s.f v10, fa5
606
594
; RV32-NEXT: vsetivli zero, 2, e32, m1, tu, ma
595
+ ; RV32-NEXT: vfmv.s.f v10, fa5
607
596
; RV32-NEXT: vslideup.vi v8, v10, 1
608
597
; RV32-NEXT: addi a0, a0, 4
609
598
; 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
693
682
; RV64-NEXT: beqz a2, .LBB7_2
694
683
; RV64-NEXT: .LBB7_10: # %cond.load1
695
684
; RV64-NEXT: flw fa5, 0(a0)
696
- ; RV64-NEXT: vsetvli zero, zero, e32, m4, ta, ma
697
- ; RV64-NEXT: vfmv.s.f v10, fa5
698
685
; RV64-NEXT: vsetivli zero, 2, e32, m1, tu, ma
686
+ ; RV64-NEXT: vfmv.s.f v10, fa5
699
687
; RV64-NEXT: vslideup.vi v8, v10, 1
700
688
; RV64-NEXT: addi a0, a0, 4
701
689
; 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
799
787
; RV32-NEXT: beqz a1, .LBB9_2
800
788
; RV32-NEXT: .LBB9_4: # %cond.load1
801
789
; RV32-NEXT: fld fa5, 0(a0)
802
- ; RV32-NEXT: vsetvli zero, zero, e64, m8, ta, ma
803
- ; RV32-NEXT: vfmv.s.f v9, fa5
804
790
; RV32-NEXT: vsetivli zero, 2, e64, m1, ta, ma
791
+ ; RV32-NEXT: vfmv.s.f v9, fa5
805
792
; RV32-NEXT: vslideup.vi v8, v9, 1
806
793
; RV32-NEXT: ret
807
794
;
@@ -825,9 +812,8 @@ define <2 x double> @expandload_v2f64(ptr %base, <2 x double> %src0, <2 x i1> %m
825
812
; RV64-NEXT: beqz a1, .LBB9_2
826
813
; RV64-NEXT: .LBB9_4: # %cond.load1
827
814
; RV64-NEXT: fld fa5, 0(a0)
828
- ; RV64-NEXT: vsetvli zero, zero, e64, m8, ta, ma
829
- ; RV64-NEXT: vfmv.s.f v9, fa5
830
815
; RV64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
816
+ ; RV64-NEXT: vfmv.s.f v9, fa5
831
817
; RV64-NEXT: vslideup.vi v8, v9, 1
832
818
; RV64-NEXT: ret
833
819
%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
862
848
; RV32-NEXT: beqz a2, .LBB10_2
863
849
; RV32-NEXT: .LBB10_6: # %cond.load1
864
850
; RV32-NEXT: fld fa5, 0(a0)
865
- ; RV32-NEXT: vsetvli zero, zero, e64, m8, ta, ma
866
- ; RV32-NEXT: vfmv.s.f v10, fa5
867
851
; RV32-NEXT: vsetivli zero, 2, e64, m1, tu, ma
852
+ ; RV32-NEXT: vfmv.s.f v10, fa5
868
853
; RV32-NEXT: vslideup.vi v8, v10, 1
869
854
; RV32-NEXT: addi a0, a0, 8
870
855
; 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
910
895
; RV64-NEXT: beqz a2, .LBB10_2
911
896
; RV64-NEXT: .LBB10_6: # %cond.load1
912
897
; RV64-NEXT: fld fa5, 0(a0)
913
- ; RV64-NEXT: vsetvli zero, zero, e64, m8, ta, ma
914
- ; RV64-NEXT: vfmv.s.f v10, fa5
915
898
; RV64-NEXT: vsetivli zero, 2, e64, m1, tu, ma
899
+ ; RV64-NEXT: vfmv.s.f v10, fa5
916
900
; RV64-NEXT: vslideup.vi v8, v10, 1
917
901
; RV64-NEXT: addi a0, a0, 8
918
902
; 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
975
959
; RV32-NEXT: beqz a2, .LBB11_2
976
960
; RV32-NEXT: .LBB11_10: # %cond.load1
977
961
; RV32-NEXT: fld fa5, 0(a0)
978
- ; RV32-NEXT: vsetvli zero, zero, e64, m8, ta, ma
979
- ; RV32-NEXT: vfmv.s.f v12, fa5
980
962
; RV32-NEXT: vsetivli zero, 2, e64, m1, tu, ma
963
+ ; RV32-NEXT: vfmv.s.f v12, fa5
981
964
; RV32-NEXT: vslideup.vi v8, v12, 1
982
965
; RV32-NEXT: addi a0, a0, 8
983
966
; 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
1067
1050
; RV64-NEXT: beqz a2, .LBB11_2
1068
1051
; RV64-NEXT: .LBB11_10: # %cond.load1
1069
1052
; RV64-NEXT: fld fa5, 0(a0)
1070
- ; RV64-NEXT: vsetvli zero, zero, e64, m8, ta, ma
1071
- ; RV64-NEXT: vfmv.s.f v12, fa5
1072
1053
; RV64-NEXT: vsetivli zero, 2, e64, m1, tu, ma
1054
+ ; RV64-NEXT: vfmv.s.f v12, fa5
1073
1055
; RV64-NEXT: vslideup.vi v8, v12, 1
1074
1056
; RV64-NEXT: addi a0, a0, 8
1075
1057
; RV64-NEXT: andi a2, a1, 4
0 commit comments