This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[AArch64] [0/5 -mtune cleanup] Update options for -mtune.
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: marcus dot shawcroft at arm dot com, richard dot earnshaw at arm dot com
- Date: Wed, 13 Nov 2013 15:32:14 +0000
- Subject: [AArch64] [0/5 -mtune cleanup] Update options for -mtune.
- Authentication-results: sourceware.org; auth=none
Hi,
This patch series performs a number of cleanups to the
-mtune/-mcpu/-march infrastructure for AArch64.
Our goals are:
* Remove the example pipeline models.
* Tune for Cortex-A53 by default.
* Provide sensible tuning for Cortex-A57.
The patches which implement these goals are:
[AArch64] [-mtune cleanup 1/5] Remove -march=generic.
-march=generic has no sensible meaning - remove it.
[AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.
The current "generic" scheduler is not very smart. We would like
to try to tune for something sensible when given -march=armv8-a.
As it is currently the only pipeline model we have implemented,
tuning for the Cortex-A53 seems a pragmatic decision.
[AArch64] [-mtune cleanup 3/5] [Temporary] When asked to tune for
Cortex-A57, tune for Cortex-A15
Cortex-A57 is a "big" core. We do not yet have a pipeline model
for Cortex-A57, so it would be sensible in the interim to tune for
another "big" core.
[AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning
options.
These were transitory options which would give example tunings for
a "big" core and a "little" core. Now we have "cortex-a57" and
"cortex-a53" wired up, they are not needed.
[AArch64] [-mtune cleanup 5/5] Update invoke.texi
Finally, update the documentation for the above changes.
The patch series has been regression tested for aarch64-none-elf
with no issues.
OK?
Thanks,
James
---
gcc/
[AArch64] [-mtune cleanup 1/5] Remove -march=generic.
2013-11-13 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64.c (all_architectures): Remove "generic".
[AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.
2013-11-13 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53.
* config/aarch64/aarch64.md: Do not include aarch64-generic.md.
* config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53.
(all_cores): Use cortexa53 when tuning for "generic".
(aarch64_override_options): Fix comment.
* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53.
* config/aarch64/aarch64-generic.md: Delete.
[AArch64] [-mtune cleanup 3/5] [Temprorary] When asked to tune for
Cortex-A57, tune for Cortex-A15
2013-11-13 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-cores.def (cortex-a57): Tune for cortexa15.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.md: Include cortex-a15 pipeline model.
(generic_sched): "no" if we are tuning for cortexa15.
* config/arm/cortex-a15.md: Include cortex-a15-neon.md by
relative path.
[AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning
options.
2013-11-13 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64-cores.def (example-1): Remove.
(example-2): Likewise.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.md: Do not include "large.md" or "small.md".
(generic_sched): Remove "large", "small".
* config/aarch64/large.md: Delete.
* config/aarch64/small.md: Delete.
[AArch64] [-mtune cleanup 5/5] Update invoke.texi
2013-11-13 James Greenhalgh <james.greenhalgh@arm.com>
* doc/invoke.texi: Update documentation for AArch64's -mcpu
and -mtune options.
gcc/testsuite/
[AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning
options.
2013-11-13 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.target/aarch64/cpu-diagnostics-2.c: Change "-mcpu="
to "cortex-a53".
* gcc.target/aarch64/cpu-diagnostics-3.c: Change "-mcpu="
to cortex-a53.