SPEC CPU result comparison

Comparison of x86_64 levels - Summer 2022

SPEC2017 INTrate: PGO LTO -Ofast - Different x86_64 levels

-flto -Ofast

AMD EPYC 7543P (zen3 based Milan)

Run-times

Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 99.11% 99.11% 100.00% 100.00%
502.gcc_r 100.00% 100.00% 100.00% 100.00% 100.00%
505.mcf_r 100.00% 100.00% 101.18% 100.00% 101.18%
520.omnetpp_r 100.00% 99.49% 98.46% 100.00% 98.97%
523.xalancbmk_r 100.00% 98.88% 98.88% 100.00% 100.00%
525.x264_r 100.00% 95.71% 94.64% 100.00% 98.88%
531.deepsjeng_r 100.00% 95.74% 93.10% 100.00% 97.25%
541.leela_r 100.00% 100.44% 100.00% 100.00% 99.56%
548.exchange2_r 100.00% 100.36% 102.54% 100.00% 102.17%
557.xz_r 100.00% 100.63% 100.42% 100.00% 99.79%
The compiler used was GCC 12.1.0.
Naturally, the smaller the run-times, the better. On the other hand, rates and especially their geometric means are better when they are greater.
See also continuous gcc tuning benchmarking at https://lnt.opensuse.org/db_default/v4/SPEC/spec_report/tuning.

Non-debug executable sizes

Click to display/hide
Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 99.98% 100.01% 100.00% 100.03%
502.gcc_r 100.00% 99.99% 100.16% 100.00% 100.17%
505.mcf_r 100.00% 101.38% 105.48% 100.00% 104.04%
520.omnetpp_r 100.00% 99.97% 100.80% 100.00% 100.83%
523.xalancbmk_r 100.00% 99.97% 100.73% 100.00% 100.76%
525.x264_r 100.00% 97.47% 95.22% 100.00% 97.69%
531.deepsjeng_r 100.00% 99.99% 99.98% 100.00% 99.98%
541.leela_r 100.00% 100.01% 101.96% 100.00% 101.95%
548.exchange2_r 100.00% 100.00% 103.97% 100.00% 103.97%
557.xz_r 100.00% 100.03% 100.28% 100.00% 100.24%
Smaller binary sizes are always better.

Intel Cascade Lake Xeon

Run-times

Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 101.11% 102.00% 100.00% 100.88%
502.gcc_r 100.00% 99.32% 99.32% 100.00% 100.00%
505.mcf_r 100.00% 100.48% 102.61% 100.00% 102.13%
520.omnetpp_r 100.00% 101.25% 101.25% 100.00% 100.00%
523.xalancbmk_r 100.00% 100.43% 100.86% 100.00% 100.43%
525.x264_r 100.00% 94.04% 90.93% 100.00% 96.69%
531.deepsjeng_r 100.00% 96.35% 92.09% 100.00% 95.58%
541.leela_r 100.00% 100.22% 101.32% 100.00% 101.10%
548.exchange2_r 100.00% 98.99% 102.02% 100.00% 103.06%
557.xz_r 100.00% 101.27% 99.15% 100.00% 97.91%
The compiler used was GCC 12.1.0.
Naturally, the smaller the run-times, the better. On the other hand, rates and especially their geometric means are better when they are greater.
See also continuous gcc tuning benchmarking at https://lnt.opensuse.org/db_default/v4/SPEC/spec_report/tuning.

Non-debug executable sizes

Click to display/hide
Benchmark x86-64 x86-64-v2 x86-64-v3 x86-64-v2 x86-64-v3
500.perlbench_r 100.00% 99.98% 100.01% 100.00% 100.03%
502.gcc_r 100.00% 99.99% 100.17% 100.00% 100.18%
505.mcf_r 100.00% 101.38% 105.48% 100.00% 104.04%
520.omnetpp_r 100.00% 99.97% 100.80% 100.00% 100.83%
523.xalancbmk_r 100.00% 99.97% 100.73% 100.00% 100.76%
525.x264_r 100.00% 97.47% 95.22% 100.00% 97.69%
531.deepsjeng_r 100.00% 99.99% 99.98% 100.00% 99.98%
541.leela_r 100.00% 100.01% 101.96% 100.00% 101.95%
548.exchange2_r 100.00% 100.00% 103.97% 100.00% 103.97%
557.xz_r 100.00% 100.03% 100.28% 100.00% 100.24%
Smaller binary sizes are always better.