+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>
* ira-costs.c (find_costs_and_classes): Add missed
&generic_addrcost_table,
&generic_regmove_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 =
&generic_addrcost_table,
&generic_regmove_cost,
&generic_vector_cost,
- NAMED_PARAM (memmov_cost, 4)
+ NAMED_PARAM (memmov_cost, 4),
+ NAMED_PARAM (issue_rate, 2)
};
/* A processor implementing AArch64. */
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. */
/* Implement targetm.vectorize.builtin_vectorization_cost. */
#undef TARGET_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
#define TARGET_TRAMPOLINE_INIT aarch64_trampoline_init