@@ -1164,6 +1164,30 @@ let Predicates = [HasSVE2] in {
1164
1164
defm SQRSHLR_ZPmZ : sve2_int_arith_pred<0b011100, "sqrshlr">;
1165
1165
defm UQRSHLR_ZPmZ : sve2_int_arith_pred<0b011110, "uqrshlr">;
1166
1166
1167
+ // SVE2 integer add/subtract long
1168
+ defm SADDLB_ZZZ : sve2_wide_int_arith_long<0b00000, "saddlb">;
1169
+ defm SADDLT_ZZZ : sve2_wide_int_arith_long<0b00001, "saddlt">;
1170
+ defm UADDLB_ZZZ : sve2_wide_int_arith_long<0b00010, "uaddlb">;
1171
+ defm UADDLT_ZZZ : sve2_wide_int_arith_long<0b00011, "uaddlt">;
1172
+ defm SSUBLB_ZZZ : sve2_wide_int_arith_long<0b00100, "ssublb">;
1173
+ defm SSUBLT_ZZZ : sve2_wide_int_arith_long<0b00101, "ssublt">;
1174
+ defm USUBLB_ZZZ : sve2_wide_int_arith_long<0b00110, "usublb">;
1175
+ defm USUBLT_ZZZ : sve2_wide_int_arith_long<0b00111, "usublt">;
1176
+ defm SABDLB_ZZZ : sve2_wide_int_arith_long<0b01100, "sabdlb">;
1177
+ defm SABDLT_ZZZ : sve2_wide_int_arith_long<0b01101, "sabdlt">;
1178
+ defm UABDLB_ZZZ : sve2_wide_int_arith_long<0b01110, "uabdlb">;
1179
+ defm UABDLT_ZZZ : sve2_wide_int_arith_long<0b01111, "uabdlt">;
1180
+
1181
+ // SVE2 integer add/subtract wide
1182
+ defm SADDWB_ZZZ : sve2_wide_int_arith_wide<0b000, "saddwb">;
1183
+ defm SADDWT_ZZZ : sve2_wide_int_arith_wide<0b001, "saddwt">;
1184
+ defm UADDWB_ZZZ : sve2_wide_int_arith_wide<0b010, "uaddwb">;
1185
+ defm UADDWT_ZZZ : sve2_wide_int_arith_wide<0b011, "uaddwt">;
1186
+ defm SSUBWB_ZZZ : sve2_wide_int_arith_wide<0b100, "ssubwb">;
1187
+ defm SSUBWT_ZZZ : sve2_wide_int_arith_wide<0b101, "ssubwt">;
1188
+ defm USUBWB_ZZZ : sve2_wide_int_arith_wide<0b110, "usubwb">;
1189
+ defm USUBWT_ZZZ : sve2_wide_int_arith_wide<0b111, "usubwt">;
1190
+
1167
1191
// SVE2 integer multiply long
1168
1192
defm SQDMULLB_ZZZ : sve2_wide_int_arith_long<0b11000, "sqdmullb">;
1169
1193
defm SQDMULLT_ZZZ : sve2_wide_int_arith_long<0b11001, "sqdmullt">;
0 commit comments