https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127610
Filip Kastl <pheeck at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|aarch64-gnu-linux |aarch64-gnu-linux,
| |x86_64-pc-linux-gnu
Host|aarch64-gnu-linux |aarch64-gnu-linux,
| |x86_64-pc-linux-gnu
--- Comment #13 from Filip Kastl <pheeck at gcc dot gnu.org> ---
(In reply to Filip Kastl from comment #10)
> (In reply to Drea Pinski from comment #9)
> > Meaning does it show up on x86_64 also?
>
> I've dug up these two graphs (-Ofast -match=native -flto on AMD Zen2 and
> Zen4):
> https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=289.10.8
> https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=992.10.8
> The latest slowdowns on those graphs happened between
> r17-4048-g5d9ea620152f7f..r17-4191-g52ceb1698c9f46
> and
> r17-4067-ga7bad5e29fedc9..r17-4187-g826a52902ecef7
> so both could have started with r17-4133-g230d950810f378.
Indeed, I can replicate the slowdown on AMD Zen4 too.
./make-a8c97564fbc-nodebug.sh
hyperfine -w 2 "/home/fkastl/gcc/playground/inst-a8c97564fbc/bin/gcc -Ofast
-march=native -flto=64 -fpermissive -std=gnu17 -DSPEC_CPU_LP64
-DSPEC_CPU_LINUX_X64 -std=gnu89 -Wl,-rpath,/home/fkastl/gcc/inst/lib64
av.o deb.o doio.o doop.o dump.o globals.o gv.o hv.o locale.o mg.o numeric.o
op.o pad.o perl.o perlapi.o perlio.o perlmain.o perly.o pp.o pp_ctl.o pp_hot.o
pp_pack.o pp_sort.o pp_sys.o regcomp.o regexec.o run.o scope.o sv.o taint.o
toke.o universal.o utf8.o util.o xsutils.o Base64.o Cwd.o Dumper.o HiRes.o IO.o
Peek.o attrs.o poll.o stdio.o DynaLoader.o MD5.o Storable.o Parser.o specrand.o
Hostname.o Opcode.o -lm -o perlbench"
Time (mean ± σ): 2.051 s ± 0.077 s [User: 31.204 s, System: 0.785 s]
Range (min … max): 1.925 s … 2.161 s 10 runs
./make-230d950810f378a16c47ab981e0b9cf88b700622-nodebug.sh
hyperfine -w 2
"/home/fkastl/gcc/playground/inst-230d950810f378a16c47ab981e0b9cf88b700622/bin/gcc
-Ofast -march=native -flto=64 -fpermissive -std=gnu17 -DSPEC_CPU_LP64
-DSPEC_CPU_LINUX_X64 -std=gnu89 -Wl,-rpath,/home/fkastl/gcc/inst/lib64
av.o deb.o doio.o doop.o dump.o globals.o gv.o hv.o locale.o mg.o numeric.o
op.o pad.o perl.o perlapi.o perlio.o perlmain.o perly.o pp.o pp_ctl.o pp_hot.o
pp_pack.o pp_sort.o pp_sys.o regcomp.o regexec.o run.o scope.o sv.o taint.o
toke.o universal.o utf8.o util.o xsutils.o Base64.o Cwd.o Dumper.o HiRes.o IO.o
Peek.o attrs.o poll.o stdio.o DynaLoader.o MD5.o Storable.o Parser.o specrand.o
Hostname.o Opcode.o -lm -o perlbench"
Time (mean ± σ): 2.285 s ± 0.053 s [User: 31.215 s, System: 0.771 s]
Range (min … max): 2.215 s … 2.383 s 10 runs
-> 10% slowdown
(I'm using hyperfine to automatically run the LTO phase 12 times and average
the last 10 runs. I've noticed that the x86_64 graphs are noisier so I though
that one measurement won't cut it anymore.)