@@ -785,8 +785,7 @@ define zeroext i1 @vreduce_and_nxv128i1(<vscale x 128 x i1> %v) {
785
785
; CHECK-LABEL: vreduce_and_nxv128i1:
786
786
; CHECK: # %bb.0:
787
787
; CHECK-NEXT: vsetvli a0, zero, e8, m8, ta, ma
788
- ; CHECK-NEXT: vmand.mm v8, v0, v8
789
- ; CHECK-NEXT: vmnot.m v8, v8
788
+ ; CHECK-NEXT: vmnand.mm v8, v0, v8
790
789
; CHECK-NEXT: vcpop.m a0, v8
791
790
; CHECK-NEXT: seqz a0, a0
792
791
; CHECK-NEXT: ret
@@ -814,8 +813,7 @@ define zeroext i1 @vreduce_smax_nxv128i1(<vscale x 128 x i1> %v) {
814
813
; CHECK-LABEL: vreduce_smax_nxv128i1:
815
814
; CHECK: # %bb.0:
816
815
; CHECK-NEXT: vsetvli a0, zero, e8, m8, ta, ma
817
- ; CHECK-NEXT: vmand.mm v8, v0, v8
818
- ; CHECK-NEXT: vmnot.m v8, v8
816
+ ; CHECK-NEXT: vmnand.mm v8, v0, v8
819
817
; CHECK-NEXT: vcpop.m a0, v8
820
818
; CHECK-NEXT: seqz a0, a0
821
819
; CHECK-NEXT: ret
@@ -829,8 +827,7 @@ define zeroext i1 @vreduce_umin_nxv128i1(<vscale x 128 x i1> %v) {
829
827
; CHECK-LABEL: vreduce_umin_nxv128i1:
830
828
; CHECK: # %bb.0:
831
829
; CHECK-NEXT: vsetvli a0, zero, e8, m8, ta, ma
832
- ; CHECK-NEXT: vmand.mm v8, v0, v8
833
- ; CHECK-NEXT: vmnot.m v8, v8
830
+ ; CHECK-NEXT: vmnand.mm v8, v0, v8
834
831
; CHECK-NEXT: vcpop.m a0, v8
835
832
; CHECK-NEXT: seqz a0, a0
836
833
; CHECK-NEXT: ret
@@ -892,8 +889,7 @@ define zeroext i1 @vreduce_and_nxv256i1(<vscale x 256 x i1> %v) {
892
889
; CHECK-NEXT: vsetvli a0, zero, e8, m8, ta, ma
893
890
; CHECK-NEXT: vmand.mm v8, v8, v10
894
891
; CHECK-NEXT: vmand.mm v9, v0, v9
895
- ; CHECK-NEXT: vmand.mm v8, v9, v8
896
- ; CHECK-NEXT: vmnot.m v8, v8
892
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
897
893
; CHECK-NEXT: vcpop.m a0, v8
898
894
; CHECK-NEXT: seqz a0, a0
899
895
; CHECK-NEXT: ret
@@ -925,8 +921,7 @@ define zeroext i1 @vreduce_smax_nxv256i1(<vscale x 256 x i1> %v) {
925
921
; CHECK-NEXT: vsetvli a0, zero, e8, m8, ta, ma
926
922
; CHECK-NEXT: vmand.mm v8, v8, v10
927
923
; CHECK-NEXT: vmand.mm v9, v0, v9
928
- ; CHECK-NEXT: vmand.mm v8, v9, v8
929
- ; CHECK-NEXT: vmnot.m v8, v8
924
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
930
925
; CHECK-NEXT: vcpop.m a0, v8
931
926
; CHECK-NEXT: seqz a0, a0
932
927
; CHECK-NEXT: ret
@@ -942,8 +937,7 @@ define zeroext i1 @vreduce_umin_nxv256i1(<vscale x 256 x i1> %v) {
942
937
; CHECK-NEXT: vsetvli a0, zero, e8, m8, ta, ma
943
938
; CHECK-NEXT: vmand.mm v8, v8, v10
944
939
; CHECK-NEXT: vmand.mm v9, v0, v9
945
- ; CHECK-NEXT: vmand.mm v8, v9, v8
946
- ; CHECK-NEXT: vmnot.m v8, v8
940
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
947
941
; CHECK-NEXT: vcpop.m a0, v8
948
942
; CHECK-NEXT: seqz a0, a0
949
943
; CHECK-NEXT: ret
@@ -1019,8 +1013,7 @@ define zeroext i1 @vreduce_and_nxv512i1(<vscale x 512 x i1> %v) {
1019
1013
; CHECK-NEXT: vmand.mm v11, v0, v11
1020
1014
; CHECK-NEXT: vmand.mm v8, v8, v10
1021
1015
; CHECK-NEXT: vmand.mm v9, v11, v9
1022
- ; CHECK-NEXT: vmand.mm v8, v9, v8
1023
- ; CHECK-NEXT: vmnot.m v8, v8
1016
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
1024
1017
; CHECK-NEXT: vcpop.m a0, v8
1025
1018
; CHECK-NEXT: seqz a0, a0
1026
1019
; CHECK-NEXT: ret
@@ -1060,8 +1053,7 @@ define zeroext i1 @vreduce_smax_nxv512i1(<vscale x 512 x i1> %v) {
1060
1053
; CHECK-NEXT: vmand.mm v11, v0, v11
1061
1054
; CHECK-NEXT: vmand.mm v8, v8, v10
1062
1055
; CHECK-NEXT: vmand.mm v9, v11, v9
1063
- ; CHECK-NEXT: vmand.mm v8, v9, v8
1064
- ; CHECK-NEXT: vmnot.m v8, v8
1056
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
1065
1057
; CHECK-NEXT: vcpop.m a0, v8
1066
1058
; CHECK-NEXT: seqz a0, a0
1067
1059
; CHECK-NEXT: ret
@@ -1081,8 +1073,7 @@ define zeroext i1 @vreduce_umin_nxv512i1(<vscale x 512 x i1> %v) {
1081
1073
; CHECK-NEXT: vmand.mm v11, v0, v11
1082
1074
; CHECK-NEXT: vmand.mm v8, v8, v10
1083
1075
; CHECK-NEXT: vmand.mm v9, v11, v9
1084
- ; CHECK-NEXT: vmand.mm v8, v9, v8
1085
- ; CHECK-NEXT: vmnot.m v8, v8
1076
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
1086
1077
; CHECK-NEXT: vcpop.m a0, v8
1087
1078
; CHECK-NEXT: seqz a0, a0
1088
1079
; CHECK-NEXT: ret
@@ -1186,8 +1177,7 @@ define zeroext i1 @vreduce_and_nxv1024i1(<vscale x 1024 x i1> %v) {
1186
1177
; CHECK-NEXT: vmand.mm v11, v15, v11
1187
1178
; CHECK-NEXT: vmand.mm v8, v8, v10
1188
1179
; CHECK-NEXT: vmand.mm v9, v11, v9
1189
- ; CHECK-NEXT: vmand.mm v8, v9, v8
1190
- ; CHECK-NEXT: vmnot.m v8, v8
1180
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
1191
1181
; CHECK-NEXT: vcpop.m a0, v8
1192
1182
; CHECK-NEXT: seqz a0, a0
1193
1183
; CHECK-NEXT: ret
@@ -1243,8 +1233,7 @@ define zeroext i1 @vreduce_smax_nxv1024i1(<vscale x 1024 x i1> %v) {
1243
1233
; CHECK-NEXT: vmand.mm v11, v15, v11
1244
1234
; CHECK-NEXT: vmand.mm v8, v8, v10
1245
1235
; CHECK-NEXT: vmand.mm v9, v11, v9
1246
- ; CHECK-NEXT: vmand.mm v8, v9, v8
1247
- ; CHECK-NEXT: vmnot.m v8, v8
1236
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
1248
1237
; CHECK-NEXT: vcpop.m a0, v8
1249
1238
; CHECK-NEXT: seqz a0, a0
1250
1239
; CHECK-NEXT: ret
@@ -1272,8 +1261,7 @@ define zeroext i1 @vreduce_umin_nxv1024i1(<vscale x 1024 x i1> %v) {
1272
1261
; CHECK-NEXT: vmand.mm v11, v15, v11
1273
1262
; CHECK-NEXT: vmand.mm v8, v8, v10
1274
1263
; CHECK-NEXT: vmand.mm v9, v11, v9
1275
- ; CHECK-NEXT: vmand.mm v8, v9, v8
1276
- ; CHECK-NEXT: vmnot.m v8, v8
1264
+ ; CHECK-NEXT: vmnand.mm v8, v9, v8
1277
1265
; CHECK-NEXT: vcpop.m a0, v8
1278
1266
; CHECK-NEXT: seqz a0, a0
1279
1267
; CHECK-NEXT: ret
0 commit comments