SPEC CPU result comparison

Comparison of x86_64 levels - Summer 2022

SPEC2017 INTrate: PGO LTO -O2 - Different x86_64 levels

-flto -O2

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% 100.88% 99.56% 100.00% 98.70%
502.gcc_r 100.00% 100.00% 100.00% 100.00% 100.00%
505.mcf_r 100.00% 100.00% 100.67% 100.00% 100.67%
520.omnetpp_r 100.00% 100.00% 99.76% 100.00% 99.76%
523.xalancbmk_r 100.00% 100.90% 100.00% 100.00% 99.11%
525.x264_r 100.00% 97.70% 96.68% 100.00% 98.95%
531.deepsjeng_r 100.00% 96.16% 93.13% 100.00% 96.85%
541.leela_r 100.00% 100.00% 101.53% 100.00% 101.53%
548.exchange2_r 100.00% 100.00% 94.77% 100.00% 94.77%
557.xz_r 100.00% 100.00% 99.58% 100.00% 99.58%
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% 100.00% 99.92% 100.00% 99.92%
502.gcc_r 100.00% 99.99% 100.18% 100.00% 100.19%
505.mcf_r 100.00% 100.04% 105.01% 100.00% 104.97%
520.omnetpp_r 100.00% 99.99% 100.66% 100.00% 100.67%
523.xalancbmk_r 100.00% 100.00% 100.67% 100.00% 100.67%
525.x264_r 100.00% 98.32% 95.86% 100.00% 97.49%
531.deepsjeng_r 100.00% 100.00% 99.97% 100.00% 99.98%
541.leela_r 100.00% 100.06% 101.39% 100.00% 101.33%
548.exchange2_r 100.00% 100.03% 104.78% 100.00% 104.74%
557.xz_r 100.00% 99.87% 100.32% 100.00% 100.45%
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% 100.86% 99.78% 100.00% 98.93%
502.gcc_r 100.00% 100.00% 99.57% 100.00% 99.57%
505.mcf_r 100.00% 99.35% 99.35% 100.00% 100.00%
520.omnetpp_r 100.00% 100.00% 101.66% 100.00% 101.66%
523.xalancbmk_r 100.00% 100.00% 100.43% 100.00% 100.43%
525.x264_r 100.00% 97.07% 93.40% 100.00% 96.22%
531.deepsjeng_r 100.00% 96.38% 92.96% 100.00% 96.45%
541.leela_r 100.00% 100.00% 100.43% 100.00% 100.43%
548.exchange2_r 100.00% 102.18% 100.31% 100.00% 98.17%
557.xz_r 100.00% 103.33% 99.17% 100.00% 95.97%
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% 100.00% 99.92% 100.00% 99.92%
502.gcc_r 100.00% 99.99% 100.18% 100.00% 100.19%
505.mcf_r 100.00% 100.04% 105.01% 100.00% 104.97%
520.omnetpp_r 100.00% 99.99% 100.66% 100.00% 100.67%
523.xalancbmk_r 100.00% 100.00% 100.67% 100.00% 100.67%
525.x264_r 100.00% 98.32% 95.86% 100.00% 97.49%
531.deepsjeng_r 100.00% 100.00% 99.97% 100.00% 99.98%
541.leela_r 100.00% 100.06% 101.39% 100.00% 101.33%
548.exchange2_r 100.00% 100.03% 104.78% 100.00% 104.74%
557.xz_r 100.00% 99.87% 100.32% 100.00% 100.45%
Smaller binary sizes are always better.