aarch64.c (thunderx_vector_cost): New variable.
authorAndrew Pinski <apinski@cavium.com>
Thu, 4 Aug 2016 16:00:24 +0000 (16:00 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Thu, 4 Aug 2016 16:00:24 +0000 (09:00 -0700)
2016-08-04  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
        (thunderx_tunings): Use thunderx_vector_cost instead of
        generic_vector_cost.

From-SVN: r239135

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

index 97e6d68444ba3bb2a73d09e89f998896a2e228af..d0bd7dd2291574a8d0c2e2b9cf86c46469ee231c 100644 (file)
@@ -1,3 +1,9 @@
+2016-08-04  Andrew Pinski  <apinski@cavium.com>
+
+       * config/aarch64/aarch64.c (thunderx_vector_cost): New variable.
+       (thunderx_tunings): Use thunderx_vector_cost instead of
+       generic_vector_cost.
+
 2016-08-04  Martin Liska  <mliska@suse.cz>
 
        * gcov.c (main): Fix GNU coding style.
index f161bff83ec275f1722ca097fa769a4181053407..2129a5de7656702931f38f450674178de7fd966d 100644 (file)
@@ -376,6 +376,24 @@ static const struct cpu_vector_cost generic_vector_cost =
   1 /* cond_not_taken_branch_cost  */
 };
 
+/* ThunderX costs for vector insn classes.  */
+static const struct cpu_vector_cost thunderx_vector_cost =
+{
+  1, /* scalar_stmt_cost  */
+  3, /* scalar_load_cost  */
+  1, /* scalar_store_cost  */
+  4, /* vec_stmt_cost  */
+  4, /* vec_permute_cost  */
+  2, /* vec_to_scalar_cost  */
+  2, /* scalar_to_vec_cost  */
+  3, /* vec_align_load_cost  */
+  10, /* vec_unalign_load_cost  */
+  10, /* vec_unalign_store_cost  */
+  1, /* vec_store_cost  */
+  3, /* cond_taken_branch_cost  */
+  3 /* cond_not_taken_branch_cost  */
+};
+
 /* Generic costs for vector insn classes.  */
 static const struct cpu_vector_cost cortexa57_vector_cost =
 {
@@ -677,7 +695,7 @@ static const struct tune_params thunderx_tunings =
   &thunderx_extra_costs,
   &generic_addrcost_table,
   &thunderx_regmove_cost,
-  &generic_vector_cost,
+  &thunderx_vector_cost,
   &generic_branch_cost,
   &generic_approx_modes,
   6, /* memmov_cost  */