https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119910
Bug ID: 119910
Summary: [15 regression] Commit 'combine: Allow 2->2
combinations...' causes regression in Snappy workload
for -mcpu=neoverse-v2
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: jschmitz at gcc dot gnu.org
CC: rsandifo at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
Created attachment 61177
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61177&action=edit
Script to reproduce snappy regression
The commit 'combine: Allow 2->2 combinations, but with a tweak [PR116398]'
(https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=4d7a634f6d41029811cdcbd5f7282b5b07890094)
causes changes in performance for the Snappy workload for -mcpu=neoverse-v2,
including some regressions.
In the attachment is a script to reproduce the regressions. It builds GCC from
commits 546f28f83ce and 4d7a634f6d4 and runs Snappy with -O3 -Wl,-z,muldefs -lm
-mcpu=neoverse-v2.
Use it like this:
parentdir=<path/to/gcc_src/parentdir> ./snappy_script.sh
As of today, we observed the following runtime changes (values are percentages;
positive values mean that running Snappy from commit 4d7a634f6d4 has longer
runtime than from commit 546f28f83ce):
BM_UFlat/5/1 -2.39362
BM_UValidate/5/2 2.85714
BM_UValidate/6/2 2.04461
BM_UValidate/10/2 -2.79503
BM_UValidate/11/2 -5.4321
BM_UIOVecSource/0/1 18.0723
BM_UIOVecSource/5/1 5.10949
BM_UIOVecSource/10/1 8.59951
BM_UIOVecSource/11/1 2.39044
BM_UIOVecSink/3 2.22222
BM_UFlatSink/7/1 3.22581
BM_UFlatSink/7/2 3.85164
BM_ZFlat/0/1 19.0184
BM_ZFlat/3/1 -2.08333
BM_ZFlat/3/2 -2.51799
BM_ZFlat/5/1 4.41176
BM_ZFlat/10/1 9.02256
BM_ZFlat/11/1 2.39044
In the past, we have also seen regressions in several of the UValidate tests.