@@ -4217,11 +4217,22 @@ multiclass sve2_int_un_pred_arit<bits<2> opc, string asm, SDPatternOperator op>
4217
4217
defm : SVE_3_Op_Undef_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Pseudo>(NAME # _D_UNDEF)>;
4218
4218
}
4219
4219
4220
- multiclass sve2_int_un_pred_arit_z<bits<2> opc, string asm> {
4220
+ multiclass sve2_int_un_pred_arit_z_S<bits<2> opc, string asm, SDPatternOperator op> {
4221
+ def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
4222
+
4223
+ def : SVE_3_Op_UndefZero_Pat<nxv4i32, op, nxv4i32, nxv4i1, nxv4i32, !cast<Instruction>(NAME # _S)>;
4224
+ }
4225
+
4226
+ multiclass sve2_int_un_pred_arit_z<bits<2> opc, string asm, SDPatternOperator op> {
4221
4227
def _B : sve2_int_un_pred_arit_z<0b00, opc, asm, ZPR8>;
4222
4228
def _H : sve2_int_un_pred_arit_z<0b01, opc, asm, ZPR16>;
4223
4229
def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
4224
4230
def _D : sve2_int_un_pred_arit_z<0b11, opc, asm, ZPR64>;
4231
+
4232
+ def : SVE_3_Op_UndefZero_Pat<nxv16i8, op, nxv16i8, nxv16i1, nxv16i8, !cast<Instruction>(NAME # _B)>;
4233
+ def : SVE_3_Op_UndefZero_Pat<nxv8i16, op, nxv8i16, nxv8i1, nxv8i16, !cast<Instruction>(NAME # _H)>;
4234
+ def : SVE_3_Op_UndefZero_Pat<nxv4i32, op, nxv4i32, nxv4i1, nxv4i32, !cast<Instruction>(NAME # _S)>;
4235
+ def : SVE_3_Op_UndefZero_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Instruction>(NAME # _D)>;
4225
4236
}
4226
4237
4227
4238
//===----------------------------------------------------------------------===//
0 commit comments