@@ -184,9 +184,8 @@ define <vscale x 1 x i1> @icmp_uge_vv_nxv1i8(<vscale x 1 x i8> %va, <vscale x 1
184
184
define <vscale x 1 x i1 > @icmp_uge_vx_nxv1i8 (<vscale x 1 x i8 > %va , i8 %b , <vscale x 1 x i1 > %m , i32 zeroext %evl ) {
185
185
; CHECK-LABEL: icmp_uge_vx_nxv1i8:
186
186
; CHECK: # %bb.0:
187
- ; CHECK-NEXT: vsetvli a2, zero, e8, mf8, ta, ma
188
- ; CHECK-NEXT: vmv.v.x v9, a0
189
187
; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma
188
+ ; CHECK-NEXT: vmv.v.x v9, a0
190
189
; CHECK-NEXT: vmsleu.vv v0, v9, v8, v0.t
191
190
; CHECK-NEXT: ret
192
191
%elt.head = insertelement <vscale x 1 x i8 > poison, i8 %b , i32 0
@@ -348,9 +347,8 @@ define <vscale x 1 x i1> @icmp_sge_vv_nxv1i8(<vscale x 1 x i8> %va, <vscale x 1
348
347
define <vscale x 1 x i1 > @icmp_sge_vx_nxv1i8 (<vscale x 1 x i8 > %va , i8 %b , <vscale x 1 x i1 > %m , i32 zeroext %evl ) {
349
348
; CHECK-LABEL: icmp_sge_vx_nxv1i8:
350
349
; CHECK: # %bb.0:
351
- ; CHECK-NEXT: vsetvli a2, zero, e8, mf8, ta, ma
352
- ; CHECK-NEXT: vmv.v.x v9, a0
353
350
; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma
351
+ ; CHECK-NEXT: vmv.v.x v9, a0
354
352
; CHECK-NEXT: vmsle.vv v0, v9, v8, v0.t
355
353
; CHECK-NEXT: ret
356
354
%elt.head = insertelement <vscale x 1 x i8 > poison, i8 %b , i32 0
@@ -470,9 +468,8 @@ define <vscale x 1 x i1> @icmp_sle_vx_nxv1i8(<vscale x 1 x i8> %va, i8 %b, <vsca
470
468
define <vscale x 1 x i1 > @icmp_sle_vx_swap_nxv1i8 (<vscale x 1 x i8 > %va , i8 %b , <vscale x 1 x i1 > %m , i32 zeroext %evl ) {
471
469
; CHECK-LABEL: icmp_sle_vx_swap_nxv1i8:
472
470
; CHECK: # %bb.0:
473
- ; CHECK-NEXT: vsetvli a2, zero, e8, mf8, ta, ma
474
- ; CHECK-NEXT: vmv.v.x v9, a0
475
471
; CHECK-NEXT: vsetvli zero, a1, e8, mf8, ta, ma
472
+ ; CHECK-NEXT: vmv.v.x v9, a0
476
473
; CHECK-NEXT: vmsle.vv v0, v9, v8, v0.t
477
474
; CHECK-NEXT: ret
478
475
%elt.head = insertelement <vscale x 1 x i8 > poison, i8 %b , i32 0
@@ -543,10 +540,9 @@ define <vscale x 8 x i1> @icmp_eq_vv_nxv8i7(<vscale x 8 x i7> %va, <vscale x 8 x
543
540
; CHECK-LABEL: icmp_eq_vv_nxv8i7:
544
541
; CHECK: # %bb.0:
545
542
; CHECK-NEXT: li a1, 127
546
- ; CHECK-NEXT: vsetvli a2, zero , e8, m1, ta, ma
543
+ ; CHECK-NEXT: vsetvli zero, a0 , e8, m1, ta, ma
547
544
; CHECK-NEXT: vand.vx v9, v9, a1
548
545
; CHECK-NEXT: vand.vx v8, v8, a1
549
- ; CHECK-NEXT: vsetvli zero, a0, e8, m1, ta, ma
550
546
; CHECK-NEXT: vmseq.vv v0, v8, v9, v0.t
551
547
; CHECK-NEXT: ret
552
548
%v = call <vscale x 8 x i1 > @llvm.vp.icmp.nxv8i7 (<vscale x 8 x i7 > %va , <vscale x 8 x i7 > %vb , metadata !"eq" , <vscale x 8 x i1 > %m , i32 %evl )
@@ -557,11 +553,10 @@ define <vscale x 8 x i1> @icmp_eq_vx_nxv8i7(<vscale x 8 x i7> %va, i7 %b, <vscal
557
553
; CHECK-LABEL: icmp_eq_vx_nxv8i7:
558
554
; CHECK: # %bb.0:
559
555
; CHECK-NEXT: li a2, 127
560
- ; CHECK-NEXT: vsetvli a3, zero , e8, m1, ta, ma
556
+ ; CHECK-NEXT: vsetvli zero, a1 , e8, m1, ta, ma
561
557
; CHECK-NEXT: vmv.v.x v9, a0
562
558
; CHECK-NEXT: vand.vx v8, v8, a2
563
559
; CHECK-NEXT: vand.vx v9, v9, a2
564
- ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma
565
560
; CHECK-NEXT: vmseq.vv v0, v8, v9, v0.t
566
561
; CHECK-NEXT: ret
567
562
%elt.head = insertelement <vscale x 8 x i7 > poison, i7 %b , i32 0
@@ -574,11 +569,10 @@ define <vscale x 8 x i1> @icmp_eq_vx_swap_nxv8i7(<vscale x 8 x i7> %va, i7 %b, <
574
569
; CHECK-LABEL: icmp_eq_vx_swap_nxv8i7:
575
570
; CHECK: # %bb.0:
576
571
; CHECK-NEXT: li a2, 127
577
- ; CHECK-NEXT: vsetvli a3, zero , e8, m1, ta, ma
572
+ ; CHECK-NEXT: vsetvli zero, a1 , e8, m1, ta, ma
578
573
; CHECK-NEXT: vmv.v.x v9, a0
579
574
; CHECK-NEXT: vand.vx v8, v8, a2
580
575
; CHECK-NEXT: vand.vx v9, v9, a2
581
- ; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma
582
576
; CHECK-NEXT: vmseq.vv v0, v9, v8, v0.t
583
577
; CHECK-NEXT: ret
584
578
%elt.head = insertelement <vscale x 8 x i7 > poison, i7 %b , i32 0
@@ -764,9 +758,8 @@ define <vscale x 8 x i1> @icmp_uge_vv_nxv8i8(<vscale x 8 x i8> %va, <vscale x 8
764
758
define <vscale x 8 x i1 > @icmp_uge_vx_nxv8i8 (<vscale x 8 x i8 > %va , i8 %b , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
765
759
; CHECK-LABEL: icmp_uge_vx_nxv8i8:
766
760
; CHECK: # %bb.0:
767
- ; CHECK-NEXT: vsetvli a2, zero, e8, m1, ta, ma
768
- ; CHECK-NEXT: vmv.v.x v9, a0
769
761
; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma
762
+ ; CHECK-NEXT: vmv.v.x v9, a0
770
763
; CHECK-NEXT: vmsleu.vv v0, v9, v8, v0.t
771
764
; CHECK-NEXT: ret
772
765
%elt.head = insertelement <vscale x 8 x i8 > poison, i8 %b , i32 0
@@ -928,9 +921,8 @@ define <vscale x 8 x i1> @icmp_sge_vv_nxv8i8(<vscale x 8 x i8> %va, <vscale x 8
928
921
define <vscale x 8 x i1 > @icmp_sge_vx_nxv8i8 (<vscale x 8 x i8 > %va , i8 %b , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
929
922
; CHECK-LABEL: icmp_sge_vx_nxv8i8:
930
923
; CHECK: # %bb.0:
931
- ; CHECK-NEXT: vsetvli a2, zero, e8, m1, ta, ma
932
- ; CHECK-NEXT: vmv.v.x v9, a0
933
924
; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma
925
+ ; CHECK-NEXT: vmv.v.x v9, a0
934
926
; CHECK-NEXT: vmsle.vv v0, v9, v8, v0.t
935
927
; CHECK-NEXT: ret
936
928
%elt.head = insertelement <vscale x 8 x i8 > poison, i8 %b , i32 0
@@ -1050,9 +1042,8 @@ define <vscale x 8 x i1> @icmp_sle_vx_nxv8i8(<vscale x 8 x i8> %va, i8 %b, <vsca
1050
1042
define <vscale x 8 x i1 > @icmp_sle_vx_swap_nxv8i8 (<vscale x 8 x i8 > %va , i8 %b , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
1051
1043
; CHECK-LABEL: icmp_sle_vx_swap_nxv8i8:
1052
1044
; CHECK: # %bb.0:
1053
- ; CHECK-NEXT: vsetvli a2, zero, e8, m1, ta, ma
1054
- ; CHECK-NEXT: vmv.v.x v9, a0
1055
1045
; CHECK-NEXT: vsetvli zero, a1, e8, m1, ta, ma
1046
+ ; CHECK-NEXT: vmv.v.x v9, a0
1056
1047
; CHECK-NEXT: vmsle.vv v0, v9, v8, v0.t
1057
1048
; CHECK-NEXT: ret
1058
1049
%elt.head = insertelement <vscale x 8 x i8 > poison, i8 %b , i32 0
@@ -1377,9 +1368,8 @@ define <vscale x 1 x i1> @icmp_uge_vv_nxv1i32(<vscale x 1 x i32> %va, <vscale x
1377
1368
define <vscale x 1 x i1 > @icmp_uge_vx_nxv1i32 (<vscale x 1 x i32 > %va , i32 %b , <vscale x 1 x i1 > %m , i32 zeroext %evl ) {
1378
1369
; CHECK-LABEL: icmp_uge_vx_nxv1i32:
1379
1370
; CHECK: # %bb.0:
1380
- ; CHECK-NEXT: vsetvli a2, zero, e32, mf2, ta, ma
1381
- ; CHECK-NEXT: vmv.v.x v9, a0
1382
1371
; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma
1372
+ ; CHECK-NEXT: vmv.v.x v9, a0
1383
1373
; CHECK-NEXT: vmsleu.vv v0, v9, v8, v0.t
1384
1374
; CHECK-NEXT: ret
1385
1375
%elt.head = insertelement <vscale x 1 x i32 > poison, i32 %b , i32 0
@@ -1541,9 +1531,8 @@ define <vscale x 1 x i1> @icmp_sge_vv_nxv1i32(<vscale x 1 x i32> %va, <vscale x
1541
1531
define <vscale x 1 x i1 > @icmp_sge_vx_nxv1i32 (<vscale x 1 x i32 > %va , i32 %b , <vscale x 1 x i1 > %m , i32 zeroext %evl ) {
1542
1532
; CHECK-LABEL: icmp_sge_vx_nxv1i32:
1543
1533
; CHECK: # %bb.0:
1544
- ; CHECK-NEXT: vsetvli a2, zero, e32, mf2, ta, ma
1545
- ; CHECK-NEXT: vmv.v.x v9, a0
1546
1534
; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma
1535
+ ; CHECK-NEXT: vmv.v.x v9, a0
1547
1536
; CHECK-NEXT: vmsle.vv v0, v9, v8, v0.t
1548
1537
; CHECK-NEXT: ret
1549
1538
%elt.head = insertelement <vscale x 1 x i32 > poison, i32 %b , i32 0
@@ -1663,9 +1652,8 @@ define <vscale x 1 x i1> @icmp_sle_vx_nxv1i32(<vscale x 1 x i32> %va, i32 %b, <v
1663
1652
define <vscale x 1 x i1 > @icmp_sle_vx_swap_nxv1i32 (<vscale x 1 x i32 > %va , i32 %b , <vscale x 1 x i1 > %m , i32 zeroext %evl ) {
1664
1653
; CHECK-LABEL: icmp_sle_vx_swap_nxv1i32:
1665
1654
; CHECK: # %bb.0:
1666
- ; CHECK-NEXT: vsetvli a2, zero, e32, mf2, ta, ma
1667
- ; CHECK-NEXT: vmv.v.x v9, a0
1668
1655
; CHECK-NEXT: vsetvli zero, a1, e32, mf2, ta, ma
1656
+ ; CHECK-NEXT: vmv.v.x v9, a0
1669
1657
; CHECK-NEXT: vmsle.vv v0, v9, v8, v0.t
1670
1658
; CHECK-NEXT: ret
1671
1659
%elt.head = insertelement <vscale x 1 x i32 > poison, i32 %b , i32 0
@@ -1887,9 +1875,8 @@ define <vscale x 8 x i1> @icmp_uge_vv_nxv8i32(<vscale x 8 x i32> %va, <vscale x
1887
1875
define <vscale x 8 x i1 > @icmp_uge_vx_nxv8i32 (<vscale x 8 x i32 > %va , i32 %b , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
1888
1876
; CHECK-LABEL: icmp_uge_vx_nxv8i32:
1889
1877
; CHECK: # %bb.0:
1890
- ; CHECK-NEXT: vsetvli a2, zero, e32, m4, ta, ma
1891
- ; CHECK-NEXT: vmv.v.x v16, a0
1892
1878
; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma
1879
+ ; CHECK-NEXT: vmv.v.x v16, a0
1893
1880
; CHECK-NEXT: vmsleu.vv v12, v16, v8, v0.t
1894
1881
; CHECK-NEXT: vmv1r.v v0, v12
1895
1882
; CHECK-NEXT: ret
@@ -2066,9 +2053,8 @@ define <vscale x 8 x i1> @icmp_sge_vv_nxv8i32(<vscale x 8 x i32> %va, <vscale x
2066
2053
define <vscale x 8 x i1 > @icmp_sge_vx_nxv8i32 (<vscale x 8 x i32 > %va , i32 %b , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
2067
2054
; CHECK-LABEL: icmp_sge_vx_nxv8i32:
2068
2055
; CHECK: # %bb.0:
2069
- ; CHECK-NEXT: vsetvli a2, zero, e32, m4, ta, ma
2070
- ; CHECK-NEXT: vmv.v.x v16, a0
2071
2056
; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma
2057
+ ; CHECK-NEXT: vmv.v.x v16, a0
2072
2058
; CHECK-NEXT: vmsle.vv v12, v16, v8, v0.t
2073
2059
; CHECK-NEXT: vmv1r.v v0, v12
2074
2060
; CHECK-NEXT: ret
@@ -2199,9 +2185,8 @@ define <vscale x 8 x i1> @icmp_sle_vx_nxv8i32(<vscale x 8 x i32> %va, i32 %b, <v
2199
2185
define <vscale x 8 x i1 > @icmp_sle_vx_swap_nxv8i32 (<vscale x 8 x i32 > %va , i32 %b , <vscale x 8 x i1 > %m , i32 zeroext %evl ) {
2200
2186
; CHECK-LABEL: icmp_sle_vx_swap_nxv8i32:
2201
2187
; CHECK: # %bb.0:
2202
- ; CHECK-NEXT: vsetvli a2, zero, e32, m4, ta, ma
2203
- ; CHECK-NEXT: vmv.v.x v16, a0
2204
2188
; CHECK-NEXT: vsetvli zero, a1, e32, m4, ta, ma
2189
+ ; CHECK-NEXT: vmv.v.x v16, a0
2205
2190
; CHECK-NEXT: vmsle.vv v12, v16, v8, v0.t
2206
2191
; CHECK-NEXT: vmv1r.v v0, v12
2207
2192
; CHECK-NEXT: ret
@@ -2644,9 +2629,8 @@ define <vscale x 1 x i1> @icmp_uge_vx_nxv1i64(<vscale x 1 x i64> %va, i64 %b, <v
2644
2629
;
2645
2630
; RV64-LABEL: icmp_uge_vx_nxv1i64:
2646
2631
; RV64: # %bb.0:
2647
- ; RV64-NEXT: vsetvli a2, zero, e64, m1, ta, ma
2648
- ; RV64-NEXT: vmv.v.x v9, a0
2649
2632
; RV64-NEXT: vsetvli zero, a1, e64, m1, ta, ma
2633
+ ; RV64-NEXT: vmv.v.x v9, a0
2650
2634
; RV64-NEXT: vmsleu.vv v0, v9, v8, v0.t
2651
2635
; RV64-NEXT: ret
2652
2636
%elt.head = insertelement <vscale x 1 x i64 > poison, i64 %b , i32 0
@@ -2898,9 +2882,8 @@ define <vscale x 1 x i1> @icmp_sge_vx_nxv1i64(<vscale x 1 x i64> %va, i64 %b, <v
2898
2882
;
2899
2883
; RV64-LABEL: icmp_sge_vx_nxv1i64:
2900
2884
; RV64: # %bb.0:
2901
- ; RV64-NEXT: vsetvli a2, zero, e64, m1, ta, ma
2902
- ; RV64-NEXT: vmv.v.x v9, a0
2903
2885
; RV64-NEXT: vsetvli zero, a1, e64, m1, ta, ma
2886
+ ; RV64-NEXT: vmv.v.x v9, a0
2904
2887
; RV64-NEXT: vmsle.vv v0, v9, v8, v0.t
2905
2888
; RV64-NEXT: ret
2906
2889
%elt.head = insertelement <vscale x 1 x i64 > poison, i64 %b , i32 0
@@ -3095,9 +3078,8 @@ define <vscale x 1 x i1> @icmp_sle_vx_swap_nxv1i64(<vscale x 1 x i64> %va, i64 %
3095
3078
;
3096
3079
; RV64-LABEL: icmp_sle_vx_swap_nxv1i64:
3097
3080
; RV64: # %bb.0:
3098
- ; RV64-NEXT: vsetvli a2, zero, e64, m1, ta, ma
3099
- ; RV64-NEXT: vmv.v.x v9, a0
3100
3081
; RV64-NEXT: vsetvli zero, a1, e64, m1, ta, ma
3082
+ ; RV64-NEXT: vmv.v.x v9, a0
3101
3083
; RV64-NEXT: vmsle.vv v0, v9, v8, v0.t
3102
3084
; RV64-NEXT: ret
3103
3085
%elt.head = insertelement <vscale x 1 x i64 > poison, i64 %b , i32 0
@@ -3431,9 +3413,8 @@ define <vscale x 8 x i1> @icmp_uge_vx_nxv8i64(<vscale x 8 x i64> %va, i64 %b, <v
3431
3413
;
3432
3414
; RV64-LABEL: icmp_uge_vx_nxv8i64:
3433
3415
; RV64: # %bb.0:
3434
- ; RV64-NEXT: vsetvli a2, zero, e64, m8, ta, ma
3435
- ; RV64-NEXT: vmv.v.x v24, a0
3436
3416
; RV64-NEXT: vsetvli zero, a1, e64, m8, ta, ma
3417
+ ; RV64-NEXT: vmv.v.x v24, a0
3437
3418
; RV64-NEXT: vmsleu.vv v16, v24, v8, v0.t
3438
3419
; RV64-NEXT: vmv1r.v v0, v16
3439
3420
; RV64-NEXT: ret
@@ -3706,9 +3687,8 @@ define <vscale x 8 x i1> @icmp_sge_vx_nxv8i64(<vscale x 8 x i64> %va, i64 %b, <v
3706
3687
;
3707
3688
; RV64-LABEL: icmp_sge_vx_nxv8i64:
3708
3689
; RV64: # %bb.0:
3709
- ; RV64-NEXT: vsetvli a2, zero, e64, m8, ta, ma
3710
- ; RV64-NEXT: vmv.v.x v24, a0
3711
3690
; RV64-NEXT: vsetvli zero, a1, e64, m8, ta, ma
3691
+ ; RV64-NEXT: vmv.v.x v24, a0
3712
3692
; RV64-NEXT: vmsle.vv v16, v24, v8, v0.t
3713
3693
; RV64-NEXT: vmv1r.v v0, v16
3714
3694
; RV64-NEXT: ret
@@ -3919,9 +3899,8 @@ define <vscale x 8 x i1> @icmp_sle_vx_swap_nxv8i64(<vscale x 8 x i64> %va, i64 %
3919
3899
;
3920
3900
; RV64-LABEL: icmp_sle_vx_swap_nxv8i64:
3921
3901
; RV64: # %bb.0:
3922
- ; RV64-NEXT: vsetvli a2, zero, e64, m8, ta, ma
3923
- ; RV64-NEXT: vmv.v.x v24, a0
3924
3902
; RV64-NEXT: vsetvli zero, a1, e64, m8, ta, ma
3903
+ ; RV64-NEXT: vmv.v.x v24, a0
3925
3904
; RV64-NEXT: vmsle.vv v16, v24, v8, v0.t
3926
3905
; RV64-NEXT: vmv1r.v v0, v16
3927
3906
; RV64-NEXT: ret
0 commit comments