@@ -121,10 +121,9 @@ define i32 @reduce_sum_16xi32_prefix2(ptr %p) {
121
121
define i32 @reduce_sum_16xi32_prefix3 (ptr %p ) {
122
122
; CHECK-LABEL: reduce_sum_16xi32_prefix3:
123
123
; CHECK: # %bb.0:
124
- ; CHECK-NEXT: vsetivli zero, 4 , e32, m1, ta, ma
124
+ ; CHECK-NEXT: vsetivli zero, 3 , e32, m1, ta, ma
125
125
; CHECK-NEXT: vle32.v v8, (a0)
126
126
; CHECK-NEXT: vmv.s.x v9, zero
127
- ; CHECK-NEXT: vsetivli zero, 3, e32, m1, ta, ma
128
127
; CHECK-NEXT: vredsum.vs v8, v8, v9
129
128
; CHECK-NEXT: vmv.x.s a0, v8
130
129
; CHECK-NEXT: ret
@@ -160,10 +159,9 @@ define i32 @reduce_sum_16xi32_prefix4(ptr %p) {
160
159
define i32 @reduce_sum_16xi32_prefix5 (ptr %p ) {
161
160
; CHECK-LABEL: reduce_sum_16xi32_prefix5:
162
161
; CHECK: # %bb.0:
163
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
162
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
164
163
; CHECK-NEXT: vle32.v v8, (a0)
165
164
; CHECK-NEXT: vmv.s.x v10, zero
166
- ; CHECK-NEXT: vsetivli zero, 5, e32, m2, ta, ma
167
165
; CHECK-NEXT: vredsum.vs v8, v8, v10
168
166
; CHECK-NEXT: vmv.x.s a0, v8
169
167
; CHECK-NEXT: ret
@@ -183,10 +181,9 @@ define i32 @reduce_sum_16xi32_prefix5(ptr %p) {
183
181
define i32 @reduce_sum_16xi32_prefix6 (ptr %p ) {
184
182
; CHECK-LABEL: reduce_sum_16xi32_prefix6:
185
183
; CHECK: # %bb.0:
186
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
184
+ ; CHECK-NEXT: vsetivli zero, 6 , e32, m2, ta, ma
187
185
; CHECK-NEXT: vle32.v v8, (a0)
188
186
; CHECK-NEXT: vmv.s.x v10, zero
189
- ; CHECK-NEXT: vsetivli zero, 6, e32, m2, ta, ma
190
187
; CHECK-NEXT: vredsum.vs v8, v8, v10
191
188
; CHECK-NEXT: vmv.x.s a0, v8
192
189
; CHECK-NEXT: ret
@@ -208,10 +205,9 @@ define i32 @reduce_sum_16xi32_prefix6(ptr %p) {
208
205
define i32 @reduce_sum_16xi32_prefix7 (ptr %p ) {
209
206
; CHECK-LABEL: reduce_sum_16xi32_prefix7:
210
207
; CHECK: # %bb.0:
211
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
208
+ ; CHECK-NEXT: vsetivli zero, 7 , e32, m2, ta, ma
212
209
; CHECK-NEXT: vle32.v v8, (a0)
213
210
; CHECK-NEXT: vmv.s.x v10, zero
214
- ; CHECK-NEXT: vsetivli zero, 7, e32, m2, ta, ma
215
211
; CHECK-NEXT: vredsum.vs v8, v8, v10
216
212
; CHECK-NEXT: vmv.x.s a0, v8
217
213
; CHECK-NEXT: ret
@@ -263,10 +259,9 @@ define i32 @reduce_sum_16xi32_prefix8(ptr %p) {
263
259
define i32 @reduce_sum_16xi32_prefix9 (ptr %p ) {
264
260
; CHECK-LABEL: reduce_sum_16xi32_prefix9:
265
261
; CHECK: # %bb.0:
266
- ; CHECK-NEXT: vsetivli zero, 16 , e32, m4, ta, ma
262
+ ; CHECK-NEXT: vsetivli zero, 9 , e32, m4, ta, ma
267
263
; CHECK-NEXT: vle32.v v8, (a0)
268
264
; CHECK-NEXT: vmv.s.x v12, zero
269
- ; CHECK-NEXT: vsetivli zero, 9, e32, m4, ta, ma
270
265
; CHECK-NEXT: vredsum.vs v8, v8, v12
271
266
; CHECK-NEXT: vmv.x.s a0, v8
272
267
; CHECK-NEXT: ret
@@ -294,10 +289,9 @@ define i32 @reduce_sum_16xi32_prefix9(ptr %p) {
294
289
define i32 @reduce_sum_16xi32_prefix13 (ptr %p ) {
295
290
; CHECK-LABEL: reduce_sum_16xi32_prefix13:
296
291
; CHECK: # %bb.0:
297
- ; CHECK-NEXT: vsetivli zero, 16 , e32, m4, ta, ma
292
+ ; CHECK-NEXT: vsetivli zero, 13 , e32, m4, ta, ma
298
293
; CHECK-NEXT: vle32.v v8, (a0)
299
294
; CHECK-NEXT: vmv.s.x v12, zero
300
- ; CHECK-NEXT: vsetivli zero, 13, e32, m4, ta, ma
301
295
; CHECK-NEXT: vredsum.vs v8, v8, v12
302
296
; CHECK-NEXT: vmv.x.s a0, v8
303
297
; CHECK-NEXT: ret
@@ -334,10 +328,9 @@ define i32 @reduce_sum_16xi32_prefix13(ptr %p) {
334
328
define i32 @reduce_sum_16xi32_prefix14 (ptr %p ) {
335
329
; CHECK-LABEL: reduce_sum_16xi32_prefix14:
336
330
; CHECK: # %bb.0:
337
- ; CHECK-NEXT: vsetivli zero, 16 , e32, m4, ta, ma
331
+ ; CHECK-NEXT: vsetivli zero, 14 , e32, m4, ta, ma
338
332
; CHECK-NEXT: vle32.v v8, (a0)
339
333
; CHECK-NEXT: vmv.s.x v12, zero
340
- ; CHECK-NEXT: vsetivli zero, 14, e32, m4, ta, ma
341
334
; CHECK-NEXT: vredsum.vs v8, v8, v12
342
335
; CHECK-NEXT: vmv.x.s a0, v8
343
336
; CHECK-NEXT: ret
@@ -375,10 +368,9 @@ define i32 @reduce_sum_16xi32_prefix14(ptr %p) {
375
368
define i32 @reduce_sum_16xi32_prefix15 (ptr %p ) {
376
369
; CHECK-LABEL: reduce_sum_16xi32_prefix15:
377
370
; CHECK: # %bb.0:
378
- ; CHECK-NEXT: vsetivli zero, 16 , e32, m4, ta, ma
371
+ ; CHECK-NEXT: vsetivli zero, 15 , e32, m4, ta, ma
379
372
; CHECK-NEXT: vle32.v v8, (a0)
380
373
; CHECK-NEXT: vmv.s.x v12, zero
381
- ; CHECK-NEXT: vsetivli zero, 15, e32, m4, ta, ma
382
374
; CHECK-NEXT: vredsum.vs v8, v8, v12
383
375
; CHECK-NEXT: vmv.x.s a0, v8
384
376
; CHECK-NEXT: ret
@@ -499,10 +491,9 @@ define i32 @reduce_xor_16xi32_prefix2(ptr %p) {
499
491
define i32 @reduce_xor_16xi32_prefix5 (ptr %p ) {
500
492
; CHECK-LABEL: reduce_xor_16xi32_prefix5:
501
493
; CHECK: # %bb.0:
502
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
494
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
503
495
; CHECK-NEXT: vle32.v v8, (a0)
504
496
; CHECK-NEXT: vmv.s.x v10, zero
505
- ; CHECK-NEXT: vsetivli zero, 5, e32, m2, ta, ma
506
497
; CHECK-NEXT: vredxor.vs v8, v8, v10
507
498
; CHECK-NEXT: vmv.x.s a0, v8
508
499
; CHECK-NEXT: ret
@@ -537,7 +528,7 @@ define i32 @reduce_and_16xi32_prefix2(ptr %p) {
537
528
define i32 @reduce_and_16xi32_prefix5 (ptr %p ) {
538
529
; CHECK-LABEL: reduce_and_16xi32_prefix5:
539
530
; CHECK: # %bb.0:
540
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
531
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
541
532
; CHECK-NEXT: vle32.v v8, (a0)
542
533
; CHECK-NEXT: vsetivli zero, 5, e32, m1, ta, ma
543
534
; CHECK-NEXT: vmv.v.i v10, -1
@@ -576,10 +567,9 @@ define i32 @reduce_or_16xi32_prefix2(ptr %p) {
576
567
define i32 @reduce_or_16xi32_prefix5 (ptr %p ) {
577
568
; CHECK-LABEL: reduce_or_16xi32_prefix5:
578
569
; CHECK: # %bb.0:
579
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
570
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
580
571
; CHECK-NEXT: vle32.v v8, (a0)
581
572
; CHECK-NEXT: vmv.s.x v10, zero
582
- ; CHECK-NEXT: vsetivli zero, 5, e32, m2, ta, ma
583
573
; CHECK-NEXT: vredor.vs v8, v8, v10
584
574
; CHECK-NEXT: vmv.x.s a0, v8
585
575
; CHECK-NEXT: ret
@@ -619,11 +609,10 @@ define i32 @reduce_smax_16xi32_prefix2(ptr %p) {
619
609
define i32 @reduce_smax_16xi32_prefix5 (ptr %p ) {
620
610
; CHECK-LABEL: reduce_smax_16xi32_prefix5:
621
611
; CHECK: # %bb.0:
622
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
612
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
623
613
; CHECK-NEXT: vle32.v v8, (a0)
624
614
; CHECK-NEXT: lui a0, 524288
625
615
; CHECK-NEXT: vmv.s.x v10, a0
626
- ; CHECK-NEXT: vsetivli zero, 5, e32, m2, ta, ma
627
616
; CHECK-NEXT: vredmax.vs v8, v8, v10
628
617
; CHECK-NEXT: vmv.x.s a0, v8
629
618
; CHECK-NEXT: ret
@@ -658,12 +647,11 @@ define i32 @reduce_smin_16xi32_prefix2(ptr %p) {
658
647
define i32 @reduce_smin_16xi32_prefix5 (ptr %p ) {
659
648
; CHECK-LABEL: reduce_smin_16xi32_prefix5:
660
649
; CHECK: # %bb.0:
661
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
650
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
662
651
; CHECK-NEXT: vle32.v v8, (a0)
663
652
; CHECK-NEXT: lui a0, 524288
664
653
; CHECK-NEXT: addi a0, a0, -1
665
654
; CHECK-NEXT: vmv.s.x v10, a0
666
- ; CHECK-NEXT: vsetivli zero, 5, e32, m2, ta, ma
667
655
; CHECK-NEXT: vredmin.vs v8, v8, v10
668
656
; CHECK-NEXT: vmv.x.s a0, v8
669
657
; CHECK-NEXT: ret
@@ -698,10 +686,9 @@ define i32 @reduce_umax_16xi32_prefix2(ptr %p) {
698
686
define i32 @reduce_umax_16xi32_prefix5 (ptr %p ) {
699
687
; CHECK-LABEL: reduce_umax_16xi32_prefix5:
700
688
; CHECK: # %bb.0:
701
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
689
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
702
690
; CHECK-NEXT: vle32.v v8, (a0)
703
691
; CHECK-NEXT: vmv.s.x v10, zero
704
- ; CHECK-NEXT: vsetivli zero, 5, e32, m2, ta, ma
705
692
; CHECK-NEXT: vredmaxu.vs v8, v8, v10
706
693
; CHECK-NEXT: vmv.x.s a0, v8
707
694
; CHECK-NEXT: ret
@@ -736,7 +723,7 @@ define i32 @reduce_umin_16xi32_prefix2(ptr %p) {
736
723
define i32 @reduce_umin_16xi32_prefix5 (ptr %p ) {
737
724
; RV32-LABEL: reduce_umin_16xi32_prefix5:
738
725
; RV32: # %bb.0:
739
- ; RV32-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
726
+ ; RV32-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
740
727
; RV32-NEXT: vle32.v v8, (a0)
741
728
; RV32-NEXT: vsetivli zero, 5, e32, m1, ta, ma
742
729
; RV32-NEXT: vmv.v.i v10, -1
@@ -747,11 +734,10 @@ define i32 @reduce_umin_16xi32_prefix5(ptr %p) {
747
734
;
748
735
; RV64-LABEL: reduce_umin_16xi32_prefix5:
749
736
; RV64: # %bb.0:
750
- ; RV64-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
737
+ ; RV64-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
751
738
; RV64-NEXT: vle32.v v8, (a0)
752
739
; RV64-NEXT: li a0, -1
753
740
; RV64-NEXT: vmv.s.x v10, a0
754
- ; RV64-NEXT: vsetivli zero, 5, e32, m2, ta, ma
755
741
; RV64-NEXT: vredminu.vs v8, v8, v10
756
742
; RV64-NEXT: vmv.x.s a0, v8
757
743
; RV64-NEXT: ret
@@ -787,11 +773,10 @@ define float @reduce_fadd_16xf32_prefix2(ptr %p) {
787
773
define float @reduce_fadd_16xi32_prefix5 (ptr %p ) {
788
774
; CHECK-LABEL: reduce_fadd_16xi32_prefix5:
789
775
; CHECK: # %bb.0:
790
- ; CHECK-NEXT: vsetivli zero, 8 , e32, m2, ta, ma
776
+ ; CHECK-NEXT: vsetivli zero, 5 , e32, m2, ta, ma
791
777
; CHECK-NEXT: vle32.v v8, (a0)
792
778
; CHECK-NEXT: lui a0, 524288
793
779
; CHECK-NEXT: vmv.s.x v10, a0
794
- ; CHECK-NEXT: vsetivli zero, 5, e32, m2, ta, ma
795
780
; CHECK-NEXT: vfredusum.vs v8, v8, v10
796
781
; CHECK-NEXT: vfmv.f.s fa0, v8
797
782
; CHECK-NEXT: ret
0 commit comments