Commit d126a4ae by Andrew Pinski Committed by Andrew Pinski

aarch64-protos.h (tune_params): Add issue_rate.

2014-01-14  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
	* config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
	(cortexa53_tunings): Likewise.
	(aarch64_sched_issue_rate): New function.
	(TARGET_SCHED_ISSUE_RATE): Define.

From-SVN: r206609
parent dc687582
2014-01-14 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
* config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
(cortexa53_tunings): Likewise.
(aarch64_sched_issue_rate): New function.
(TARGET_SCHED_ISSUE_RATE): Define.
2014-01-14 Vladimir Makarov <vmakarov@redhat.com> 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
* ira-costs.c (find_costs_and_classes): Add missed * ira-costs.c (find_costs_and_classes): Add missed
......
...@@ -156,6 +156,7 @@ struct tune_params ...@@ -156,6 +156,7 @@ struct tune_params
const struct cpu_regmove_cost *const regmove_cost; const struct cpu_regmove_cost *const regmove_cost;
const struct cpu_vector_cost *const vec_costs; const struct cpu_vector_cost *const vec_costs;
const int memmov_cost; const int memmov_cost;
const int issue_rate;
}; };
HOST_WIDE_INT aarch64_initial_elimination_offset (unsigned, unsigned); HOST_WIDE_INT aarch64_initial_elimination_offset (unsigned, unsigned);
......
...@@ -221,7 +221,8 @@ static const struct tune_params generic_tunings = ...@@ -221,7 +221,8 @@ static const struct tune_params generic_tunings =
&generic_addrcost_table, &generic_addrcost_table,
&generic_regmove_cost, &generic_regmove_cost,
&generic_vector_cost, &generic_vector_cost,
NAMED_PARAM (memmov_cost, 4) NAMED_PARAM (memmov_cost, 4),
NAMED_PARAM (issue_rate, 2)
}; };
static const struct tune_params cortexa53_tunings = static const struct tune_params cortexa53_tunings =
...@@ -230,7 +231,8 @@ static const struct tune_params cortexa53_tunings = ...@@ -230,7 +231,8 @@ static const struct tune_params cortexa53_tunings =
&generic_addrcost_table, &generic_addrcost_table,
&generic_regmove_cost, &generic_regmove_cost,
&generic_vector_cost, &generic_vector_cost,
NAMED_PARAM (memmov_cost, 4) NAMED_PARAM (memmov_cost, 4),
NAMED_PARAM (issue_rate, 2)
}; };
/* A processor implementing AArch64. */ /* A processor implementing AArch64. */
...@@ -4895,6 +4897,13 @@ aarch64_memory_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED, ...@@ -4895,6 +4897,13 @@ aarch64_memory_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED,
return aarch64_tune_params->memmov_cost; return aarch64_tune_params->memmov_cost;
} }
/* Return the number of instructions that can be issued per cycle. */
static int
aarch64_sched_issue_rate (void)
{
return aarch64_tune_params->issue_rate;
}
/* Vectorizer cost model target hooks. */ /* Vectorizer cost model target hooks. */
/* Implement targetm.vectorize.builtin_vectorization_cost. */ /* Implement targetm.vectorize.builtin_vectorization_cost. */
...@@ -8411,6 +8420,9 @@ aarch64_vectorize_vec_perm_const_ok (enum machine_mode vmode, ...@@ -8411,6 +8420,9 @@ aarch64_vectorize_vec_perm_const_ok (enum machine_mode vmode,
#undef TARGET_RTX_COSTS #undef TARGET_RTX_COSTS
#define TARGET_RTX_COSTS aarch64_rtx_costs #define TARGET_RTX_COSTS aarch64_rtx_costs
#undef TARGET_SCHED_ISSUE_RATE
#define TARGET_SCHED_ISSUE_RATE aarch64_sched_issue_rate
#undef TARGET_TRAMPOLINE_INIT #undef TARGET_TRAMPOLINE_INIT
#define TARGET_TRAMPOLINE_INIT aarch64_trampoline_init #define TARGET_TRAMPOLINE_INIT aarch64_trampoline_init
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment