Commit 288f605f by Julian Brown Committed by Julian Brown

arm-cores.def (cortex-a5): Use cortex_a5 tuning.

	gcc/
	* config/arm/arm-cores.def (cortex-a5): Use cortex_a5 tuning.
	* config/arm/arm.c (arm_cortex_a5_branch_cost): New.
	(arm_cortex_a5_tune): New.

From-SVN: r174579
parent 153668ec
2011-06-02 Julian Brown <julian@codesourcery.com> 2011-06-02 Julian Brown <julian@codesourcery.com>
* config/arm/arm-cores.def (cortex-a5): Use cortex_a5 tuning.
* config/arm/arm.c (arm_cortex_a5_branch_cost): New.
(arm_cortex_a5_tune): New.
2011-06-02 Julian Brown <julian@codesourcery.com>
* config/arm/arm-protos.h (tune_params): Add branch_cost hook. * config/arm/arm-protos.h (tune_params): Add branch_cost hook.
* config/arm/arm.c (arm_default_branch_cost): New. * config/arm/arm.c (arm_default_branch_cost): New.
(arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune) (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
......
...@@ -124,7 +124,7 @@ ARM_CORE("mpcorenovfp", mpcorenovfp, 6K, FL_LDSCHED, 9e) ...@@ -124,7 +124,7 @@ ARM_CORE("mpcorenovfp", mpcorenovfp, 6K, FL_LDSCHED, 9e)
ARM_CORE("mpcore", mpcore, 6K, FL_LDSCHED | FL_VFPV2, 9e) ARM_CORE("mpcore", mpcore, 6K, FL_LDSCHED | FL_VFPV2, 9e)
ARM_CORE("arm1156t2-s", arm1156t2s, 6T2, FL_LDSCHED, v6t2) ARM_CORE("arm1156t2-s", arm1156t2s, 6T2, FL_LDSCHED, v6t2)
ARM_CORE("arm1156t2f-s", arm1156t2fs, 6T2, FL_LDSCHED | FL_VFPV2, v6t2) ARM_CORE("arm1156t2f-s", arm1156t2fs, 6T2, FL_LDSCHED | FL_VFPV2, v6t2)
ARM_CORE("cortex-a5", cortexa5, 7A, FL_LDSCHED, cortex) ARM_CORE("cortex-a5", cortexa5, 7A, FL_LDSCHED, cortex_a5)
ARM_CORE("cortex-a8", cortexa8, 7A, FL_LDSCHED, cortex) ARM_CORE("cortex-a8", cortexa8, 7A, FL_LDSCHED, cortex)
ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, cortex_a9) 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) ARM_CORE("cortex-a15", cortexa15, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex)
......
...@@ -256,6 +256,7 @@ static void arm_conditional_register_usage (void); ...@@ -256,6 +256,7 @@ static void arm_conditional_register_usage (void);
static reg_class_t arm_preferred_rename_class (reg_class_t rclass); static reg_class_t arm_preferred_rename_class (reg_class_t rclass);
static unsigned int arm_autovectorize_vector_sizes (void); static unsigned int arm_autovectorize_vector_sizes (void);
static int arm_default_branch_cost (bool, bool); static int arm_default_branch_cost (bool, bool);
static int arm_cortex_a5_branch_cost (bool, bool);
/* Table of machine attributes. */ /* Table of machine attributes. */
...@@ -914,6 +915,16 @@ const struct tune_params arm_cortex_tune = ...@@ -914,6 +915,16 @@ const struct tune_params arm_cortex_tune =
arm_default_branch_cost arm_default_branch_cost
}; };
const struct tune_params arm_cortex_a5_tune =
{
arm_9e_rtx_costs,
NULL,
1, /* Constant limit. */
ARM_PREFETCH_NOT_BENEFICIAL,
false, /* Prefer constant pool. */
arm_cortex_a5_branch_cost
};
const struct tune_params arm_cortex_a9_tune = const struct tune_params arm_cortex_a9_tune =
{ {
arm_9e_rtx_costs, arm_9e_rtx_costs,
...@@ -8054,6 +8065,12 @@ arm_default_branch_cost (bool speed_p, bool predictable_p ATTRIBUTE_UNUSED) ...@@ -8054,6 +8065,12 @@ arm_default_branch_cost (bool speed_p, bool predictable_p ATTRIBUTE_UNUSED)
return (optimize > 0) ? 2 : 0; return (optimize > 0) ? 2 : 0;
} }
static int
arm_cortex_a5_branch_cost (bool speed_p, bool predictable_p)
{
return speed_p ? 0 : arm_default_branch_cost (speed_p, predictable_p);
}
static int fp_consts_inited = 0; static int fp_consts_inited = 0;
/* Only zero is valid for VFP. Other values are also valid for FPA. */ /* Only zero is valid for VFP. Other values are also valid for FPA. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment