@@ -4206,11 +4206,22 @@ multiclass sve2_int_un_pred_arit<bits<2> opc, string asm, SDPatternOperator op>
4206
4206
defm : SVE_3_Op_Undef_Pat<nxv2i64, op, nxv2i64, nxv2i1, nxv2i64, !cast<Pseudo>(NAME # _D_UNDEF)>;
4207
4207
}
4208
4208
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> {
4210
4216
def _B : sve2_int_un_pred_arit_z<0b00, opc, asm, ZPR8>;
4211
4217
def _H : sve2_int_un_pred_arit_z<0b01, opc, asm, ZPR16>;
4212
4218
def _S : sve2_int_un_pred_arit_z<0b10, opc, asm, ZPR32>;
4213
4219
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)>;
4214
4225
}
4215
4226
4216
4227
//===----------------------------------------------------------------------===//
0 commit comments