From 82ac9e41644a4673f5f592f4596b2e89ea181794 Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Mon, 12 Jan 2015 15:14:33 +0000 Subject: [PATCH] [ARM] Use Cortex-A17 tuning parameters for Cortex-A12 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match Cortex-A17 tuning parameters. * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17. From-SVN: r219472 --- gcc/ChangeLog | 6 ++++++ gcc/config/arm/arm-cores.def | 2 +- gcc/config/arm/arm.c | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3861f439b65..c757e0b175a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-01-12 Kyrylo Tkachov + + * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match + Cortex-A17 tuning parameters. + * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17. + 2015-01-12 Kyrylo Tkachov * config/arm/arm-protos.h (tune_params): Add fuseable_ops field. diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index 6fa5d99f37c..be125ac1aaf 100644 --- a/gcc/config/arm/arm-cores.def +++ b/gcc/config/arm/arm-cores.def @@ -148,7 +148,7 @@ ARM_CORE("cortex-a5", cortexa5, cortexa5, 7A, FL_LDSCHED, cortex_a5) ARM_CORE("cortex-a7", cortexa7, cortexa7, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a7) ARM_CORE("cortex-a8", cortexa8, cortexa8, 7A, FL_LDSCHED, cortex_a8) ARM_CORE("cortex-a9", cortexa9, cortexa9, 7A, FL_LDSCHED, cortex_a9) -ARM_CORE("cortex-a12", cortexa12, cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a12) +ARM_CORE("cortex-a12", cortexa12, cortexa17, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a12) ARM_CORE("cortex-a15", cortexa15, cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a15) ARM_CORE("cortex-a17", cortexa17, cortexa17, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a12) ARM_CORE("cortex-r4", cortexr4, cortexr4, 7R, FL_LDSCHED, cortex) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index a9cc3e11285..8ca2dd8de8a 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -1950,17 +1950,17 @@ const struct tune_params arm_cortex_a12_tune = { arm_9e_rtx_costs, &cortexa12_extra_costs, - NULL, + NULL, /* Sched adj cost. */ 1, /* Constant limit. */ - 5, /* Max cond insns. */ - ARM_PREFETCH_BENEFICIAL(4,32,32), + 2, /* Max cond insns. */ + ARM_PREFETCH_NOT_BENEFICIAL, false, /* Prefer constant pool. */ arm_default_branch_cost, true, /* Prefer LDRD/STRD. */ {true, true}, /* Prefer non short circuit. */ &arm_default_vec_cost, /* Vectorizer costs. */ false, /* Prefer Neon for 64-bits bitops. */ - false, false, /* Prefer 32-bit encodings. */ + true, true, /* Prefer 32-bit encodings. */ true, /* Prefer Neon for stringops. */ 8, /* Maximum insns to inline memset. */ ARM_FUSE_MOVW_MOVT /* Fuseable pairs of instructions. */ -- 2.30.2