This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[AArch64] [0/5 -mtune cleanup] Update options for -mtune.


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]