@@ -4180,11 +4180,22 @@ multiclass sve2_int_un_pred_arit<bits<2> opc, string asm, SDPatternOperator op>
41804180 defm : SVE_3_Op_Undef_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Pseudo>(NAME # _D_UNDEF)>;
41814181}
41824182
4183- multiclass sve2_int_un_pred_arit_z<bits<2> opc, string asm> {
4183+ multiclass sve2_int_un_pred_arit_z_S<bits<2> opc, string asm, SDPatternOperator op> {
4184+ def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
4185+
4186+ def : SVE_3_Op_UndefZero_Pat<nxv4i32, op, nxv4i32, nxv4i1, nxv4i32, !cast<Instruction>(NAME # _S)>;
4187+ }
4188+
4189+ multiclass sve2_int_un_pred_arit_z<bits<2> opc, string asm, SDPatternOperator op> {
41844190 def _B : sve2_int_un_pred_arit_z<0b00, opc, asm, ZPR8>;
41854191 def _H : sve2_int_un_pred_arit_z<0b01, opc, asm, ZPR16>;
41864192 def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
41874193 def _D : sve2_int_un_pred_arit_z<0b11, opc, asm, ZPR64>;
4194+
4195+ def : SVE_3_Op_UndefZero_Pat<nxv16i8, op, nxv16i8, nxv16i1, nxv16i8, !cast<Instruction>(NAME # _B)>;
4196+ def : SVE_3_Op_UndefZero_Pat<nxv8i16, op, nxv8i16, nxv8i1, nxv8i16, !cast<Instruction>(NAME # _H)>;
4197+ def : SVE_3_Op_UndefZero_Pat<nxv4i32, op, nxv4i32, nxv4i1, nxv4i32, !cast<Instruction>(NAME # _S)>;
4198+ def : SVE_3_Op_UndefZero_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Instruction>(NAME # _D)>;
41884199}
41894200
41904201//===----------------------------------------------------------------------===//
0 commit comments