]> gcc.gnu.org Git - gcc.git/commit
AArch64: enable new predicate tuning for Neoverse cores.
authorTamar Christina <tamar.christina@arm.com>
Wed, 5 Jun 2024 18:32:16 +0000 (19:32 +0100)
committerTamar Christina <tamar.christina@arm.com>
Wed, 5 Jun 2024 18:32:16 +0000 (19:32 +0100)
commit3eb9f6eab9802d5ae65ead6b1f2ae6fe0833e06e
treea2bb6de1e8b97d32a126ed359d9e75701f01c66b
parent2de3bbde1ebea8689f3596967769f66bf903458e
AArch64: enable new predicate tuning for Neoverse cores.

This enables the new tuning flag for Neoverse V1, Neoverse V2 and Neoverse N2.
It is kept off for generic codegen.

Note the reason for the +sve even though they are in aarch64-sve.exp is if the
testsuite is ran with a forced SVE off option, e.g. -march=armv8-a+nosve then
the intrinsics end up being disabled because the -march is preferred over the
-mcpu even though the -mcpu comes later.

This prevents the tests from failing in such runs.

gcc/ChangeLog:

* config/aarch64/tuning_models/neoversen2.h (neoversen2_tunings): Add
AARCH64_EXTRA_TUNE_AVOID_PRED_RMW.
* config/aarch64/tuning_models/neoversev1.h (neoversev1_tunings): Add
AARCH64_EXTRA_TUNE_AVOID_PRED_RMW.
* config/aarch64/tuning_models/neoversev2.h (neoversev2_tunings): Add
AARCH64_EXTRA_TUNE_AVOID_PRED_RMW.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/sve/pred_clobber_1.c: New test.
* gcc.target/aarch64/sve/pred_clobber_2.c: New test.
* gcc.target/aarch64/sve/pred_clobber_3.c: New test.
* gcc.target/aarch64/sve/pred_clobber_4.c: New test.
gcc/config/aarch64/tuning_models/neoversen2.h
gcc/config/aarch64/tuning_models/neoversev1.h
gcc/config/aarch64/tuning_models/neoversev2.h
gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/sve/pred_clobber_4.c [new file with mode: 0644]
This page took 0.101992 seconds and 5 git commands to generate.