summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvandro Menezes <e.menezes@samsung.com>2018-12-19 22:24:36 +0000
committerEvandro Menezes <e.menezes@samsung.com>2018-12-19 22:24:36 +0000
commit374ccf676847f3288f6731a05735af6ea997a22c (patch)
treeda08f98b68eeba82fbfcc67d9b4c53071bc5c2b8
parentff827d737aa6c3a1bb62fb8767c5b4903bfc85b4 (diff)
downloadbcm5719-llvm-374ccf676847f3288f6731a05735af6ea997a22c.tar.gz
bcm5719-llvm-374ccf676847f3288f6731a05735af6ea997a22c.zip
[AArch64] Improve Exynos predicates
Expand the predicate `ExynosResetPred` to include all forms of immediate moves. llvm-svn: 349686
-rw-r--r--llvm/lib/Target/AArch64/AArch64SchedPredExynos.td13
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td
index f8533d18022..967245bcba4 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td
@@ -88,12 +88,19 @@ def ExynosResetFn : TIIPredicate<
[ADR, ADRP,
MOVNWi, MOVNXi,
MOVZWi, MOVZXi],
- MCReturnStatement<TruePred>>],
+ MCReturnStatement<TruePred>>,
+ MCOpcodeSwitchCase<
+ [ORRWri, ORRXri],
+ MCReturnStatement<
+ CheckAll<
+ [CheckIsRegOperand<1>,
+ CheckAny<
+ [CheckRegOperand<1, WZR>,
+ CheckRegOperand<1, XZR>]>]>>>],
MCReturnStatement<
CheckAny<
[IsCopyIdiomFn,
- IsZeroFPIdiomFn,
- IsZeroIdiomFn]>>>>;
+ IsZeroFPIdiomFn]>>>>;
def ExynosResetPred : MCSchedPredicate<ExynosResetFn>;
// Identify EXTR as the alias for ROR (immediate).
OpenPOWER on IntegriCloud