https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119606
Bug ID: 119606 Summary: [15 regression] Commit 'Optimize string constructor' causes regression in Snappy workload for -mcpu=neoverse-v2 with LTO Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jschmitz at gcc dot gnu.org CC: hubicka at ucw dot cz Target Milestone: --- Target: aarch64 Created attachment 60969 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60969&action=edit Script to reproduce snappy regression The commit that optimizes string constructors (https://gcc.gnu.org/g:9c5505a35d9d71705464f9254f55407192d31ec3) 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 37f35ebc and 9c5505a3 and runs Snappy with -O3 -Wl,-z,muldefs -lm -flto=auto -Wl,--sort-section=name -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 9c5505a3 has longer runtime than from commit 37f35ebc): BM_UFlat/4/2 2.92308 BM_UValidate/5/2 -2.9106 BM_UValidate/7/1 2.29277 BM_UValidate/11/1 5.47945 BM_UIOVecSource/0/1 4.00891 BM_UIOVecSource/0/2 6.37636 BM_UIOVecSource/2/1 -3.59375 BM_UIOVecSource/2/2 2.8754 BM_UIOVecSource/4/2 4.42478 BM_UIOVecSource/5/2 2.42424 BM_UIOVecSource/10/2 8.71985 BM_UIOVecSink/3 3.1746 BM_UFlatSink/10/2 2.41935 BM_ZFlat/0/1 3.24826 BM_ZFlat/0/2 6.54952 BM_ZFlat/1/2 2.00501 BM_ZFlat/2/2 4.46735 BM_ZFlat/4/2 4.5045 BM_ZFlat/5/2 2.47678 BM_ZFlat/10/2 9.17782 In the past, we have also seen regressions in other tests, such as UFlat/6/1 and UFlat/6/2.