https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117251
--- Comment #9 from Michael Meissner <meissner at gcc dot gnu.org> ---
I tried several of the options to change the code generation:
-mno-power10-fusion which disables doing the fusion pairing.
Combinations of -fno-schedule-insns and -fno-schedule-insns2.
-fno-sched-pressure which disables pressure sensitive scheduling.
Trunk GCC14 GCC13 GCC12 GCC11
----- ----- ----- ----- -----
-O3 base: 6.15 6.28 5.57 5.61 9.56
-mno-power10-fusion: 6.22 6.24 6.07 6.06 7.33
-fno-schedule-insns: 6.71 6.78 6.44 6.41 9.02
-fno-schedule-insns2: 6.28 6.35 5.52 5.60 9.56
-fno-schedule-insns{,2}: 6.97 7.05 6.75 6.70 9.21
-fno-sched-pressure: 6.32 6.39 6.14 6.14 9.32
These options only really helped the GCC 11 case.