Message ID | 20120221162823.GN32296@e103070-lin.arm.com |
---|---|
State | New |
Headers | show |
On 21/02/12 16:28, Matthew Gretton-Dann wrote: > The attached patch reverts revision 183011, which changed the branch > cost heuristics for Cortex-A15. > > This is because further benchmarking shows that there are significant > regressions on some benchmarks which outweigh other performance gains. > > OK? > OK. We really need to sort out some of the f/e cost calculations to get this right... :-( R. > Thanks, > > Matt > > gcc/ChangeLog: > > 2012-02-21 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> > > Revert r183011 > * config/arm/arm-cores.def (cortex-a15): Use generic Cortex tuning > parameters. > * config/arm/arm.c (arm_cortex_a15_tune): Remove. > > > 1-RFA-ARM-Revert-r183011-Cortex-A15-branch-costs.txt > > > diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def > index b0bd172..80609e0 100644 > --- a/gcc/config/arm/arm-cores.def > +++ b/gcc/config/arm/arm-cores.def > @@ -129,7 +129,7 @@ ARM_CORE("cortex-a5", cortexa5, 7A, FL_LDSCHED, cortex_a5) > ARM_CORE("cortex-a7", cortexa7, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex) > ARM_CORE("cortex-a8", cortexa8, 7A, FL_LDSCHED, cortex) > ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, cortex_a9) > -ARM_CORE("cortex-a15", cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a15) > +ARM_CORE("cortex-a15", cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex) > ARM_CORE("cortex-r4", cortexr4, 7R, FL_LDSCHED, cortex) > ARM_CORE("cortex-r4f", cortexr4f, 7R, FL_LDSCHED, cortex) > ARM_CORE("cortex-r5", cortexr5, 7R, FL_LDSCHED | FL_ARM_DIV, cortex) > diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c > index 4a94145..3ef3d19 100644 > --- a/gcc/config/arm/arm.c > +++ b/gcc/config/arm/arm.c > @@ -968,17 +968,6 @@ const struct tune_params arm_cortex_a9_tune = > arm_default_branch_cost > }; > > -const struct tune_params arm_cortex_a15_tune = > -{ > - arm_9e_rtx_costs, > - NULL, > - 1, /* Constant limit. */ > - 1, /* Max cond insns. */ > - ARM_PREFETCH_NOT_BENEFICIAL, /* TODO: Calculate correct values. */ > - false, /* Prefer constant pool. */ > - arm_cortex_a5_branch_cost > -}; > - > const struct tune_params arm_fa726te_tune = > { > arm_9e_rtx_costs,
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index b0bd172..80609e0 100644 --- a/gcc/config/arm/arm-cores.def +++ b/gcc/config/arm/arm-cores.def @@ -129,7 +129,7 @@ ARM_CORE("cortex-a5", cortexa5, 7A, FL_LDSCHED, cortex_a5) ARM_CORE("cortex-a7", cortexa7, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex) ARM_CORE("cortex-a8", cortexa8, 7A, FL_LDSCHED, cortex) ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, cortex_a9) -ARM_CORE("cortex-a15", cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a15) +ARM_CORE("cortex-a15", cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex) ARM_CORE("cortex-r4", cortexr4, 7R, FL_LDSCHED, cortex) ARM_CORE("cortex-r4f", cortexr4f, 7R, FL_LDSCHED, cortex) ARM_CORE("cortex-r5", cortexr5, 7R, FL_LDSCHED | FL_ARM_DIV, cortex) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 4a94145..3ef3d19 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -968,17 +968,6 @@ const struct tune_params arm_cortex_a9_tune = arm_default_branch_cost }; -const struct tune_params arm_cortex_a15_tune = -{ - arm_9e_rtx_costs, - NULL, - 1, /* Constant limit. */ - 1, /* Max cond insns. */ - ARM_PREFETCH_NOT_BENEFICIAL, /* TODO: Calculate correct values. */ - false, /* Prefer constant pool. */ - arm_cortex_a5_branch_cost -}; - const struct tune_params arm_fa726te_tune = { arm_9e_rtx_costs,