Hi all,

After some more benchmarking and evaluation I'd like to increase the alignments
needed for -mcpu=olympus.  All three of loop_align, function_align and
jump_align are needed to get a good mix of improvements.  I've added skip
amounts to keep the code size bloat down.  There is some, but the performance
benefit on -mcpu=olympus binaries is worth it (cpython from SPEC2026 in
particular benefits consistently).
As an aside, I do think we'll want a more fine-grained description of alignment
in our CPU tuning structs for -O3 binaries.  -O3 may be willing to pay the
extra padding cost for speed-tuned functions and loops and may want to avoid
the skip amount if the CPU is good enough at skipping past them.
But the -O2 settings may still want to use skip amount to avoid excessive
distro binary bloat.

Bootstrapped and tested on aarch64-none-linux-gnu.
Pushing to trunk and later to GCC 16 and 15 that have Olympus tuning.
Thanks,
Kyrill

Signed-off-by: Kyrylo Tkachov [email protected]

gcc/ChangeLog

        * config/aarch64/tuning_models/olympus.h (olympus_tunings):
        Adjust loop_align, function_align, jump_align.

Attachment: 0001-aarch64-Adjust-alignment-tunings-for-Olympus.patch
Description: 0001-aarch64-Adjust-alignment-tunings-for-Olympus.patch

Reply via email to