diff options
author | Andrew Pinski <apinski@cavium.com> | 2016-08-04 16:00:24 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2016-08-04 09:00:24 -0700 |
commit | c3f2032729e60c1d991c18ef56ec863322fe58ca (patch) | |
tree | 4c509615af15721d804ea916b867b046ed939d26 /gcc | |
parent | 176bf572a8c64f8417cc11b30cc935e04697991e (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 20 |
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 */ |