https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118999
Bug ID: 118999 Summary: AArch64: Switching off early scheduling causes regressions in Snappy workload for -mcpu=neoverse-v2 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jschmitz at gcc dot gnu.org Target Milestone: --- Created attachment 60573 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60573&action=edit Script to reproduce snappy regression The commit that switched off early scheduling for AArch64 (https://gcc.gnu.org/g:c5db3f50bdf34ea96fd193a2a66d686401053bd2) causes changes in performance for the Snappy workload for -mcpu=neoverse-v2, including runtime increases of up to 20%. In the attachment is a script to reproduce the regressions. It builds GCC from commit c5db3f50 and runs Snappy with and without the -fschedule-insns option (in addition to the other flags for which we saw the regression). Use it like this: parentdir=<path/to/gcc_src/parentdir> ./snappy_script.sh As of today, we observed the following runtime changes (for Ofast_VLA; values are percentages; positive values mean that running Snappy WITHOUT -fschedule-insns has longer runtime than WITH -fschedule-insns): BM_UFlat/5/2 -2.12766 BM_UValidate/1/1 12.9032 BM_UValidate/1/2 13.6905 BM_UValidate/2/1 8.21918 BM_UValidate/2/2 8.33333 BM_UValidate/3/1 5.88235 BM_UValidate/3/2 6.12245 BM_UValidate/5/1 12.5 BM_UValidate/5/2 6.10329 BM_UValidate/6/1 18.4906 BM_UValidate/6/2 15.8458 BM_UValidate/7/1 20.3024 BM_UValidate/7/2 16.3934 BM_UValidate/8/1 9.34066 BM_UValidate/8/2 9.49367 BM_UValidate/9/1 8.51852 BM_UValidate/9/2 9.42623 BM_UValidateMedley 2.24829 BM_UIOVecSource/6/1 3.21285 BM_UIOVecSource/7/1 4.2654 BM_UIOVecSource/11/1 2.32558 BM_UIOVecSink/0 21.1726 BM_UIOVecSink/3 4.83871 BM_UFlatSink/11/1 2.02808 BM_ZFlat/6/1 2.03252 BM_ZFlat/7/1 4.2654 In the past, we have also seen regressions in other tests, such as UFlat/3/2 and UFlat/3/1.