diff --git a/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td b/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td --- a/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td +++ b/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td @@ -141,8 +141,8 @@ def M3WriteAX : SchedWriteVariant<[SchedVar, SchedVar, SchedVar]>; -def M3WriteAY : SchedWriteVariant<[SchedVar, - SchedVar]>; +def M3WriteAY : SchedWriteVariant<[SchedVar, + SchedVar]>; def M3WriteB1 : SchedWriteRes<[M3UnitB]> { let Latency = 1; } def M3WriteBX : SchedWriteVariant<[SchedVar, diff --git a/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td b/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td --- a/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td +++ b/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td @@ -166,8 +166,8 @@ def M4WriteAX : SchedWriteVariant<[SchedVar, SchedVar, SchedVar]>; -def M4WriteAY : SchedWriteVariant<[SchedVar, - SchedVar]>; +def M4WriteAY : SchedWriteVariant<[SchedVar, + SchedVar]>; def M4WriteB1 : SchedWriteRes<[M4UnitB]> { let Latency = 1; } def M4WriteBX : SchedWriteVariant<[SchedVar, diff --git a/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td b/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td --- a/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td +++ b/llvm/lib/Target/AArch64/AArch64SchedExynosM5.td @@ -182,10 +182,10 @@ def M5WriteAXX : SchedWriteVariant<[SchedVar, SchedVar, SchedVar]>; -def M5WriteAYW : SchedWriteVariant<[SchedVar, - SchedVar]>; -def M5WriteAYX : SchedWriteVariant<[SchedVar, - SchedVar]>; +def M5WriteAYW : SchedWriteVariant<[SchedVar, + SchedVar]>; +def M5WriteAYX : SchedWriteVariant<[SchedVar, + SchedVar]>; def M5WriteB1 : SchedWriteRes<[M5UnitB]> { let Latency = 1; } def M5WriteBX : SchedWriteVariant<[SchedVar, diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td --- a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td +++ b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td @@ -137,11 +137,6 @@ IsZeroFPIdiomFn]>>>>; def ExynosResetPred : MCSchedPredicate; -// Identify EXTR as the alias for ROR (immediate). -def ExynosRotateRightImmPred : MCSchedPredicate< - CheckAll<[CheckOpcode<[EXTRWrri, EXTRXrri]>, - CheckSameRegOperand<1, 2>]>>; - // Identify cheap arithmetic and logic immediate instructions. def ExynosCheapFn : TIIPredicate< "isExynosCheapAsMove", diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td --- a/llvm/lib/Target/AArch64/AArch64SchedPredicates.td +++ b/llvm/lib/Target/AArch64/AArch64SchedPredicates.td @@ -310,3 +310,8 @@ CheckZeroOperand<2>]>>>], MCReturnStatement>>; def IsZeroIdiomPred : MCSchedPredicate; + +// Identify EXTR as the alias for ROR (immediate). +def IsRORImmIdiomPred : MCSchedPredicate< + CheckAll<[CheckOpcode<[EXTRWrri, EXTRXrri]>, + CheckSameRegOperand<1, 2>]>>;