[AArch64] Cortex-A57 Choose some new branch costs.
authorJames Greenhalgh <james.greenhalgh@arm.com>
Mon, 16 Nov 2015 10:30:21 +0000 (10:30 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Mon, 16 Nov 2015 10:30:21 +0000 (10:30 +0000)
gcc/

* config/aarch64/aarch64.c (cortexa57_branch_costs): New.
(cortexa57_tunings): Use it.

From-SVN: r230409

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index fb7dc5a37aecd5bd080375738a81f6afca09422e..5bfb202226b748fcba13f43dc93cd7e4fdc91230 100644 (file)
@@ -1,3 +1,8 @@
+2015-11-16  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * config/aarch64/aarch64.c (cortexa57_branch_costs): New.
+       (cortexa57_tunings): Use it.
+
 2015-11-16  Christian Bruel  <christian.bruel@st.com>
 
        PR target/65837
index 5ec7f08ca96bbe973d2d28605a20e3b376cefba7..96df9ed19e9069ce0bde9861cd7420af0b7ab367 100644 (file)
@@ -338,6 +338,13 @@ static const struct cpu_branch_cost generic_branch_cost =
   2   /* Unpredictable.  */
 };
 
+/* Branch costs for Cortex-A57.  */
+static const struct cpu_branch_cost cortexa57_branch_cost =
+{
+  1,  /* Predictable.  */
+  3   /* Unpredictable.  */
+};
+
 static const struct tune_params generic_tunings =
 {
   &cortexa57_extra_costs,
@@ -393,7 +400,7 @@ static const struct tune_params cortexa57_tunings =
   &cortexa57_addrcost_table,
   &cortexa57_regmove_cost,
   &cortexa57_vector_cost,
-  &generic_branch_cost,
+  &cortexa57_branch_cost,
   4, /* memmov_cost  */
   3, /* issue_rate  */
   (AARCH64_FUSE_MOV_MOVK | AARCH64_FUSE_ADRP_ADD