@@ -898,9 +898,8 @@ define <vscale x 2 x i8> @vsub_if_uge_nxv2i8(<vscale x 2 x i8> %va, <vscale x 2
898898; CHECK-LABEL: vsub_if_uge_nxv2i8:
899899; CHECK: # %bb.0:
900900; CHECK-NEXT: vsetvli a0, zero, e8, mf4, ta, ma
901- ; CHECK-NEXT: vmsltu.vv v0, v8, v9
902901; CHECK-NEXT: vsub.vv v9, v8, v9
903- ; CHECK-NEXT: vmerge.vvm v8, v9, v8, v0
902+ ; CHECK-NEXT: vminu.vv v8, v8, v9
904903; CHECK-NEXT: ret
905904 %cmp = icmp ult <vscale x 2 x i8 > %va , %vb
906905 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i8 > zeroinitializer , <vscale x 2 x i8 > %vb
@@ -911,9 +910,9 @@ define <vscale x 2 x i8> @vsub_if_uge_nxv2i8(<vscale x 2 x i8> %va, <vscale x 2
911910define <vscale x 2 x i8 > @vsub_if_uge_swapped_nxv2i8 (<vscale x 2 x i8 > %va , <vscale x 2 x i8 > %vb ) {
912911; CHECK-LABEL: vsub_if_uge_swapped_nxv2i8:
913912; CHECK: # %bb.0:
914- ; CHECK-NEXT: vsetvli a0, zero, e8, mf4, ta, mu
915- ; CHECK-NEXT: vmsleu .vv v0, v9, v8
916- ; CHECK-NEXT: vsub .vv v8, v8, v9, v0.t
913+ ; CHECK-NEXT: vsetvli a0, zero, e8, mf4, ta, ma
914+ ; CHECK-NEXT: vsub .vv v9, v8, v9
915+ ; CHECK-NEXT: vminu .vv v8, v8, v9
917916; CHECK-NEXT: ret
918917 %cmp = icmp uge <vscale x 2 x i8 > %va , %vb
919918 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i8 > %vb , <vscale x 2 x i8 > zeroinitializer
@@ -925,9 +924,8 @@ define <vscale x 2 x i16> @vsub_if_uge_nxv2i16(<vscale x 2 x i16> %va, <vscale x
925924; CHECK-LABEL: vsub_if_uge_nxv2i16:
926925; CHECK: # %bb.0:
927926; CHECK-NEXT: vsetvli a0, zero, e16, mf2, ta, ma
928- ; CHECK-NEXT: vmsltu.vv v0, v8, v9
929927; CHECK-NEXT: vsub.vv v9, v8, v9
930- ; CHECK-NEXT: vmerge.vvm v8, v9, v8, v0
928+ ; CHECK-NEXT: vminu.vv v8, v8, v9
931929; CHECK-NEXT: ret
932930 %cmp = icmp ult <vscale x 2 x i16 > %va , %vb
933931 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i16 > zeroinitializer , <vscale x 2 x i16 > %vb
@@ -938,9 +936,9 @@ define <vscale x 2 x i16> @vsub_if_uge_nxv2i16(<vscale x 2 x i16> %va, <vscale x
938936define <vscale x 2 x i16 > @vsub_if_uge_swapped_nxv2i16 (<vscale x 2 x i16 > %va , <vscale x 2 x i16 > %vb ) {
939937; CHECK-LABEL: vsub_if_uge_swapped_nxv2i16:
940938; CHECK: # %bb.0:
941- ; CHECK-NEXT: vsetvli a0, zero, e16, mf2, ta, mu
942- ; CHECK-NEXT: vmsleu .vv v0, v9, v8
943- ; CHECK-NEXT: vsub .vv v8, v8, v9, v0.t
939+ ; CHECK-NEXT: vsetvli a0, zero, e16, mf2, ta, ma
940+ ; CHECK-NEXT: vsub .vv v9, v8, v9
941+ ; CHECK-NEXT: vminu .vv v8, v8, v9
944942; CHECK-NEXT: ret
945943 %cmp = icmp uge <vscale x 2 x i16 > %va , %vb
946944 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i16 > %vb , <vscale x 2 x i16 > zeroinitializer
@@ -952,9 +950,8 @@ define <vscale x 2 x i32> @vsub_if_uge_nxv2i32(<vscale x 2 x i32> %va, <vscale x
952950; CHECK-LABEL: vsub_if_uge_nxv2i32:
953951; CHECK: # %bb.0:
954952; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, ma
955- ; CHECK-NEXT: vmsltu.vv v0, v8, v9
956953; CHECK-NEXT: vsub.vv v9, v8, v9
957- ; CHECK-NEXT: vmerge.vvm v8, v9, v8, v0
954+ ; CHECK-NEXT: vminu.vv v8, v8, v9
958955; CHECK-NEXT: ret
959956 %cmp = icmp ult <vscale x 2 x i32 > %va , %vb
960957 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i32 > zeroinitializer , <vscale x 2 x i32 > %vb
@@ -965,9 +962,9 @@ define <vscale x 2 x i32> @vsub_if_uge_nxv2i32(<vscale x 2 x i32> %va, <vscale x
965962define <vscale x 2 x i32 > @vsub_if_uge_swapped_nxv2i32 (<vscale x 2 x i32 > %va , <vscale x 2 x i32 > %vb ) {
966963; CHECK-LABEL: vsub_if_uge_swapped_nxv2i32:
967964; CHECK: # %bb.0:
968- ; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, mu
969- ; CHECK-NEXT: vmsleu .vv v0, v9, v8
970- ; CHECK-NEXT: vsub .vv v8, v8, v9, v0.t
965+ ; CHECK-NEXT: vsetvli a0, zero, e32, m1, ta, ma
966+ ; CHECK-NEXT: vsub .vv v9, v8, v9
967+ ; CHECK-NEXT: vminu .vv v8, v8, v9
971968; CHECK-NEXT: ret
972969 %cmp = icmp uge <vscale x 2 x i32 > %va , %vb
973970 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i32 > %vb , <vscale x 2 x i32 > zeroinitializer
@@ -979,9 +976,8 @@ define <vscale x 2 x i64> @vsub_if_uge_nxv2i64(<vscale x 2 x i64> %va, <vscale x
979976; CHECK-LABEL: vsub_if_uge_nxv2i64:
980977; CHECK: # %bb.0:
981978; CHECK-NEXT: vsetvli a0, zero, e64, m2, ta, ma
982- ; CHECK-NEXT: vmsltu.vv v0, v8, v10
983979; CHECK-NEXT: vsub.vv v10, v8, v10
984- ; CHECK-NEXT: vmerge.vvm v8, v10, v8, v0
980+ ; CHECK-NEXT: vminu.vv v8, v8, v10
985981; CHECK-NEXT: ret
986982 %cmp = icmp ult <vscale x 2 x i64 > %va , %vb
987983 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i64 > zeroinitializer , <vscale x 2 x i64 > %vb
@@ -992,9 +988,9 @@ define <vscale x 2 x i64> @vsub_if_uge_nxv2i64(<vscale x 2 x i64> %va, <vscale x
992988define <vscale x 2 x i64 > @vsub_if_uge_swapped_nxv2i64 (<vscale x 2 x i64 > %va , <vscale x 2 x i64 > %vb ) {
993989; CHECK-LABEL: vsub_if_uge_swapped_nxv2i64:
994990; CHECK: # %bb.0:
995- ; CHECK-NEXT: vsetvli a0, zero, e64, m2, ta, mu
996- ; CHECK-NEXT: vmsleu .vv v0, v10, v8
997- ; CHECK-NEXT: vsub .vv v8, v8, v10, v0.t
991+ ; CHECK-NEXT: vsetvli a0, zero, e64, m2, ta, ma
992+ ; CHECK-NEXT: vsub .vv v10, v8, v10
993+ ; CHECK-NEXT: vminu .vv v8, v8, v10
998994; CHECK-NEXT: ret
999995 %cmp = icmp uge <vscale x 2 x i64 > %va , %vb
1000996 %select = select <vscale x 2 x i1 > %cmp , <vscale x 2 x i64 > %vb , <vscale x 2 x i64 > zeroinitializer
0 commit comments