diff --git a/llvm/lib/Target/ARM/ARMInstrMVE.td b/llvm/lib/Target/ARM/ARMInstrMVE.td index 12c3968b9cece..04d5d00eef10e 100644 --- a/llvm/lib/Target/ARM/ARMInstrMVE.td +++ b/llvm/lib/Target/ARM/ARMInstrMVE.td @@ -1998,7 +1998,7 @@ class MVE_VQxDMULH_Base size, bit rounding, def MVEvqdmulh : SDNode<"ARMISD::VQDMULH", SDTIntBinOp>; multiclass MVE_VQxDMULH_m { def "" : MVE_VQxDMULH_Base; defvar Inst = !cast(NAME); @@ -2199,7 +2199,7 @@ def subnsw : PatFrag<(ops node:$lhs, node:$rhs), }]>; multiclass MVE_VRHADD_m { + SDPatternOperator unpred_op, Intrinsic PredInt> { def "" : MVE_VRHADD_Base; defvar Inst = !cast(NAME); defm : MVE_TwoOpPattern(NAME)>; @@ -2303,7 +2303,7 @@ class MVE_VHSUB_ size, : MVE_VHADDSUB<"vhsub", suffix, U, 0b1, size, pattern>; multiclass MVE_VHADD_m { def "" : MVE_VHADD_; defvar Inst = !cast(NAME); @@ -2335,7 +2335,7 @@ defm MVE_VHADDu16 : MVE_VHADD; defm MVE_VHADDu32 : MVE_VHADD; multiclass MVE_VHSUB_m { def "" : MVE_VHSUB_; defvar Inst = !cast(NAME); @@ -4794,7 +4794,7 @@ class MVE_VxMULH size, bit round, let validForTailPredication = 1; } -multiclass MVE_VxMULH_m { def "" : MVE_VxMULH; defvar Inst = !cast(NAME); @@ -5370,8 +5370,8 @@ class MVE_VxADDSUB_qr { +multiclass MVE_VHADDSUB_qr_m { def "" : MVE_VxADDSUB_qr; defm : MVE_TwoOpPatternDup(NAME)>; defm : MVE_vec_scalar_int_pat_m(NAME), @@ -5576,7 +5576,7 @@ class MVE_VxxMUL_qr { + SDPatternOperator Op, Intrinsic int_unpred, Intrinsic int_pred> { def "" : MVE_VxxMUL_qr; let Predicates = [HasMVEInt] in { diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td index 48dcbdb137123..20c52206fd3cd 100644 --- a/llvm/lib/Target/ARM/ARMInstrNEON.td +++ b/llvm/lib/Target/ARM/ARMInstrNEON.td @@ -4906,7 +4906,7 @@ let Predicates = [HasMatMulInt8] in { } multiclass SUDOTLane - : N3VMixedDotLane { + : N3VMixedDotLane { def : Pat< (AccumTy (int_arm_neon_usdot (AccumTy RegTy:$Vd), (InputTy (bitconvert (AccumTy