@@ -4206,11 +4206,22 @@ multiclass sve2_int_un_pred_arit<bits<2> opc, string asm, SDPatternOperator op>
42064206 defm : SVE_3_Op_Undef_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Pseudo>(NAME # _D_UNDEF)>;
42074207}
42084208
4209- multiclass sve2_int_un_pred_arit_z<bits<2> opc, string asm> {
4209+ multiclass sve2_int_un_pred_arit_z_S<bits<2> opc, string asm, SDPatternOperator op> {
4210+ def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
4211+
4212+ def : SVE_3_Op_UndefZero_Pat<nxv4i32, op, nxv4i32, nxv4i1, nxv4i32, !cast<Instruction>(NAME # _S)>;
4213+ }
4214+
4215+ multiclass sve2_int_un_pred_arit_z<bits<2> opc, string asm, SDPatternOperator op> {
42104216 def _B : sve2_int_un_pred_arit_z<0b00, opc, asm, ZPR8>;
42114217 def _H : sve2_int_un_pred_arit_z<0b01, opc, asm, ZPR16>;
42124218 def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
42134219 def _D : sve2_int_un_pred_arit_z<0b11, opc, asm, ZPR64>;
4220+
4221+ def : SVE_3_Op_UndefZero_Pat<nxv16i8, op, nxv16i8, nxv16i1, nxv16i8, !cast<Instruction>(NAME # _B)>;
4222+ def : SVE_3_Op_UndefZero_Pat<nxv8i16, op, nxv8i16, nxv8i1, nxv8i16, !cast<Instruction>(NAME # _H)>;
4223+ def : SVE_3_Op_UndefZero_Pat<nxv4i32, op, nxv4i32, nxv4i1, nxv4i32, !cast<Instruction>(NAME # _S)>;
4224+ def : SVE_3_Op_UndefZero_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Instruction>(NAME # _D)>;
42144225}
42154226
42164227//===----------------------------------------------------------------------===//
0 commit comments