arm-cores.def (cortex-a5): Use cortex_a5 tuning.
authorJulian Brown <julian@codesourcery.com>
Thu, 2 Jun 2011 20:16:09 +0000 (20:16 +0000)
committerJulian Brown <jules@gcc.gnu.org>
Thu, 2 Jun 2011 20:16:09 +0000 (20:16 +0000)
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

gcc/ChangeLog
gcc/config/arm/arm-cores.def
gcc/config/arm/arm.c

index 37ca621949a0feb72081e73a2782ed870f658187..109f8295acc5df220af0ad1c598de3558ed1e683 100644 (file)
@@ -1,3 +1,9 @@
+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.
index 76acc69037f3489507db80fb0c55e71a57ce063c..afac688eb1503d39958ef73d7aea30dd13952973 100644 (file)
@@ -124,7 +124,7 @@ ARM_CORE("mpcorenovfp",       mpcorenovfp,  6K,                              FL_LDSCHED, 9e)
 ARM_CORE("mpcore",       mpcore,       6K,                              FL_LDSCHED | FL_VFPV2, 9e)
 ARM_CORE("arm1156t2-s",          arm1156t2s,   6T2,                             FL_LDSCHED, 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-a9",    cortexa9,     7A,                              FL_LDSCHED, cortex_a9)
 ARM_CORE("cortex-a15",   cortexa15,    7A,                              FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex)
index 9519e0196e238babdfd34f6ea46f058a1a751731..57c523840f2de33070680d6e70169be5bc8d5785 100644 (file)
@@ -256,6 +256,7 @@ static void arm_conditional_register_usage (void);
 static reg_class_t arm_preferred_rename_class (reg_class_t rclass);
 static unsigned int arm_autovectorize_vector_sizes (void);
 static int arm_default_branch_cost (bool, bool);
+static int arm_cortex_a5_branch_cost (bool, bool);
 
 \f
 /* Table of machine attributes.  */
@@ -914,6 +915,16 @@ const struct tune_params arm_cortex_tune =
   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 =
 {
   arm_9e_rtx_costs,
@@ -8054,6 +8065,12 @@ arm_default_branch_cost (bool speed_p, bool predictable_p ATTRIBUTE_UNUSED)
     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;
 
 /* Only zero is valid for VFP.  Other values are also valid for FPA.  */