aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@cavium.com>2016-08-04 16:00:24 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2016-08-04 09:00:24 -0700
commitc3f2032729e60c1d991c18ef56ec863322fe58ca (patch)
tree4c509615af15721d804ea916b867b046ed939d26 /gcc
parent176bf572a8c64f8417cc11b30cc935e04697991e (diff)
downloadgcc-c3f2032729e60c1d991c18ef56ec863322fe58ca.zip
gcc-c3f2032729e60c1d991c18ef56ec863322fe58ca.tar.gz
gcc-c3f2032729e60c1d991c18ef56ec863322fe58ca.tar.bz2
aarch64.c (thunderx_vector_cost): New variable.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64.c20
2 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 97e6d68..d0bd7dd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index f161bff..2129a5d 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -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 */