On 27/11/14 11:27, Renlin Li wrote:
Hi all,
We have the following code in aarch64_override_options() function.
/* The selected cpu may be an architecture, so lookup tuning by core
ID. */
if (!selected_tune)
selected_tune = &all_cores[selected_cpu->core];
However, the logic here is not right any more according to our current
code. selected_cpu will never be an architecture at this point.
This patch will correct the behaviour and use selected_cpu's tuning
directly if selected_tune is still not decided at this point.
We have the following consequence after the change.
Previously we have the following tuning settings with the following
command line options:
-march=armv8-a --> selected_cpu = generic, aarch64_tune_params =
cortexa53_tunings
Nothing specified and selected_cpu == generic --> aarch64_tune_params
= cortexa53_tunings
After the change, we got something different:
-march=armv8-a --> selected_cpu = generic, aarch64_tune_params =
generic_tunings
Nothing specified and selected_cpu == generic --> aarch64_tune_params
= generic_tunings
All other configuration(-march, -mcpu, -mtune) combinations should be
unaffected.
aarch64-none-elf has been built and tested on the model, no issue.
Is it Okay for trunk?
gcc/ChangeLog:
2014-11-27 Renlin Li <renlin...@arm.com>
* config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define
selected_tune.
(aarch64_override_options): Use selected_cpu's tuning.
PING~
Regards,
Renlin