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.greenha...@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.greenha...@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.greenha...@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.greenha...@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.greenha...@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.greenha...@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.