]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: modify Ampere CPU tunings on reassociation/FMA
authorDi Zhao <dizhao@os.amperecomputing.com>
Fri, 1 Dec 2023 08:16:40 +0000 (16:16 +0800)
committerDi Zhao <dizhao@os.amperecomputing.com>
Fri, 1 Dec 2023 09:02:46 +0000 (17:02 +0800)
commit6563d6767ed0f702458f8975cd5d73676c4604cc
tree6f9fabbd0e345e03b15cc84b19096552a4b82c98
parent82288550012c9382ddfd75a0b4b1bb467d445744
aarch64: modify Ampere CPU tunings on reassociation/FMA

1. Allow reassociation on FP additions.

2. Avoid generating loop-dependant FMA chains. Added a tuning
option 'AARCH64_EXTRA_TUNE_AVOID_CROSS_LOOP_FMA' for this.

gcc/ChangeLog:

* config/aarch64/aarch64-tuning-flags.def
(AARCH64_EXTRA_TUNING_OPTION): New tuning option to avoid
cross-loop FMA.
* config/aarch64/aarch64.cc
(aarch64_override_options_internal): Set
param_avoid_fma_max_bits according to tuning option.
* config/aarch64/tuning_models/ampere1.h (ampere1_tunings):
Modify tunings related with FMA.
* config/aarch64/tuning_models/ampere1a.h (ampere1a_tunings):
Likewise.
* config/aarch64/tuning_models/ampere1b.h (ampere1b_tunings):
Likewise.
gcc/config/aarch64/aarch64-tuning-flags.def
gcc/config/aarch64/aarch64.cc
gcc/config/aarch64/tuning_models/ampere1.h
gcc/config/aarch64/tuning_models/ampere1a.h
gcc/config/aarch64/tuning_models/ampere1b.h