Hi Evandro,
On 27/10/15 23:12, Evandro Menezes wrote:
This patch adds the scheduling and cost models for Exynos M1.
Though it’s a rather large patch, much of it is the DFA model for the
pipeline. Still, I’d appreciate any feedback.
Please, commit if it’s alright.
Thank you,
On top of James' comments about splitting this up,
2015-10-25 Evandro Menezes<e.mene...@samsung.com>
gcc/
* config/aarch64/aarch64-cores.def: Use the Exynos M1 sched and cost
models.
* config/aarch64/aarch64.c (aarch64_case_values_threshold): New
function.
(exynosm1_addrcost_table): New variable.
(exynosm1_regmove_cost): Likewise.
(exynosm1_vector_cost): Likewise.
(exynosm1_tunings): Likewise.
(aarch64_override_options_internal): Tune heuristics specifically
for Exynos M1.
(TARGET_CASE_VALUES_THRESHOLD): Define macro.
* config/arm/aarch-cost-tables.h (exynosm1_extra_costs): New variable.
* config/arm/arm.c (arm_exynos_m1_tune): Likewise.
* config/arm/arm-cores.def: Use the Exynos M1 sched and cost models.
* config/arm/exynos-m1.md: New file.
* config/arm/arm.md: Include new file.
Note that on arm you also need to say that config/arm/arm-tune.md is
regenerated.
I know, the arm .md files need updating in many places when adding a new core.
Would be nice to consolidate all of that at some point.
Also, can you please confirm that you tested this on an arm target as well as
an aarch64 one?
Thanks,
Kyrill