@@ -4217,11 +4217,22 @@ multiclass sve2_int_un_pred_arit<bits<2> opc, string asm, SDPatternOperator op>
42174217 defm : SVE_3_Op_Undef_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Pseudo>(NAME # _D_UNDEF)>;
42184218}
42194219
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> {
42214227 def _B : sve2_int_un_pred_arit_z<0b00, opc, asm, ZPR8>;
42224228 def _H : sve2_int_un_pred_arit_z<0b01, opc, asm, ZPR16>;
42234229 def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
42244230 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)>;
42254236}
42264237
42274238//===----------------------------------------------------------------------===//
0 commit comments