@@ -1998,7 +1998,7 @@ class MVE_VQxDMULH_Base<string iname, string suffix, bits<2> size, bit rounding,
1998
1998
def MVEvqdmulh : SDNode<"ARMISD::VQDMULH", SDTIntBinOp>;
1999
1999
2000
2000
multiclass MVE_VQxDMULH_m<string iname, MVEVectorVTInfo VTI,
2001
- SDNode Op, Intrinsic unpred_int, Intrinsic pred_int,
2001
+ SDPatternOperator Op, Intrinsic unpred_int, Intrinsic pred_int,
2002
2002
bit rounding> {
2003
2003
def "" : MVE_VQxDMULH_Base<iname, VTI.Suffix, VTI.Size, rounding>;
2004
2004
defvar Inst = !cast<Instruction>(NAME);
@@ -2199,7 +2199,7 @@ def subnsw : PatFrag<(ops node:$lhs, node:$rhs),
2199
2199
}]>;
2200
2200
2201
2201
multiclass MVE_VRHADD_m<MVEVectorVTInfo VTI, SDNode Op,
2202
- SDNode unpred_op, Intrinsic PredInt> {
2202
+ SDPatternOperator unpred_op, Intrinsic PredInt> {
2203
2203
def "" : MVE_VRHADD_Base<VTI.Suffix, VTI.Unsigned, VTI.Size>;
2204
2204
defvar Inst = !cast<Instruction>(NAME);
2205
2205
defm : MVE_TwoOpPattern<VTI, Op, PredInt, (? (i32 VTI.Unsigned)), !cast<Instruction>(NAME)>;
@@ -2303,7 +2303,7 @@ class MVE_VHSUB_<string suffix, bit U, bits<2> size,
2303
2303
: MVE_VHADDSUB<"vhsub", suffix, U, 0b1, size, pattern>;
2304
2304
2305
2305
multiclass MVE_VHADD_m<MVEVectorVTInfo VTI, SDNode Op,
2306
- SDNode unpred_op, Intrinsic PredInt, PatFrag add_op,
2306
+ SDPatternOperator unpred_op, Intrinsic PredInt, PatFrag add_op,
2307
2307
SDNode shift_op> {
2308
2308
def "" : MVE_VHADD_<VTI.Suffix, VTI.Unsigned, VTI.Size>;
2309
2309
defvar Inst = !cast<Instruction>(NAME);
@@ -2335,7 +2335,7 @@ defm MVE_VHADDu16 : MVE_VHADD<MVE_v8u16, avgflooru, addnuw, ARMvshruImm>;
2335
2335
defm MVE_VHADDu32 : MVE_VHADD<MVE_v4u32, avgflooru, addnuw, ARMvshruImm>;
2336
2336
2337
2337
multiclass MVE_VHSUB_m<MVEVectorVTInfo VTI,
2338
- SDNode unpred_op, Intrinsic pred_int, PatFrag sub_op,
2338
+ SDPatternOperator unpred_op, Intrinsic pred_int, PatFrag sub_op,
2339
2339
SDNode shift_op> {
2340
2340
def "" : MVE_VHSUB_<VTI.Suffix, VTI.Unsigned, VTI.Size>;
2341
2341
defvar Inst = !cast<Instruction>(NAME);
@@ -4794,7 +4794,7 @@ class MVE_VxMULH<string iname, string suffix, bit U, bits<2> size, bit round,
4794
4794
let validForTailPredication = 1;
4795
4795
}
4796
4796
4797
- multiclass MVE_VxMULH_m<string iname, MVEVectorVTInfo VTI, SDNode unpred_op,
4797
+ multiclass MVE_VxMULH_m<string iname, MVEVectorVTInfo VTI, SDPatternOperator unpred_op,
4798
4798
Intrinsic PredInt, bit round> {
4799
4799
def "" : MVE_VxMULH<iname, VTI.Suffix, VTI.Unsigned, VTI.Size, round>;
4800
4800
defvar Inst = !cast<Instruction>(NAME);
@@ -5370,8 +5370,8 @@ class MVE_VxADDSUB_qr<string iname, string suffix,
5370
5370
let validForTailPredication = 1;
5371
5371
}
5372
5372
5373
- multiclass MVE_VHADDSUB_qr_m<string iname, MVEVectorVTInfo VTI, bit subtract, SDNode Op,
5374
- Intrinsic unpred_int, Intrinsic pred_int, PatFrag add_op, PatFrag shift_op> {
5373
+ multiclass MVE_VHADDSUB_qr_m<string iname, MVEVectorVTInfo VTI, bit subtract, SDPatternOperator Op,
5374
+ Intrinsic unpred_int, Intrinsic pred_int, PatFrag add_op, SDNode shift_op> {
5375
5375
def "" : MVE_VxADDSUB_qr<iname, VTI.Suffix, VTI.Unsigned, VTI.Size, subtract, VTI.Size>;
5376
5376
defm : MVE_TwoOpPatternDup<VTI, Op, pred_int, (? (i32 VTI.Unsigned)), !cast<Instruction>(NAME)>;
5377
5377
defm : MVE_vec_scalar_int_pat_m<!cast<Instruction>(NAME),
@@ -5576,7 +5576,7 @@ class MVE_VxxMUL_qr<string iname, string suffix,
5576
5576
}
5577
5577
5578
5578
multiclass MVE_VxxMUL_qr_m<string iname, MVEVectorVTInfo VTI, bit bit_28,
5579
- PatFrag Op, Intrinsic int_unpred, Intrinsic int_pred> {
5579
+ SDPatternOperator Op, Intrinsic int_unpred, Intrinsic int_pred> {
5580
5580
def "" : MVE_VxxMUL_qr<iname, VTI.Suffix, bit_28, VTI.Size, VTI.Size>;
5581
5581
5582
5582
let Predicates = [HasMVEInt] in {
0 commit comments