https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114978
Bug ID: 114978 Summary: 548.exchange2_r 14%-28% regressions on Loongarch64 after gcc 14 snapshot 20240317 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: chz0808 at gmail dot com Target Milestone: --- We tested Loongarch64 CPU Loongson 3A6000 with "LA664" architecture in Linux operating system AOSC OS 11.4.0 (default gcc version is 13.2.0). And we found the 548.exchange2_r benchmark from SPEC 2017 INTrate suite suffered significant regressions from 14% to 28% with various compiling options. The rate-1 results are following: after snapshot 20240317 score 14.3-19.3% lower with parameters "-g -Ofast -march=native": 13.2.0: 11.7 (223s) [gcc 13.2.0, system default] 20240317: 11.0 (237s) [gcc 14 snapshot 20240317] 20240324: 8.88 (295s) [gcc 14 snapshot 20240324] 20240430: 9.03 (290s) [gcc 14 snapshot 20240430, 14.1.0-RC] 14.1.0: 9.43 (278s) [gcc 14.1.0 release] after snapshot 20240317 score 16.5-20.8% lower with parameters "-g -Ofast -march=native -flto": 13.2.0: 12.0 (218s) 20240317: 10.6 (248s) 20240324: 8.40 (312s) 20240430: 8.48 (309s) 14.1.0: 8.85 (296s) after snapshot 20240317 score 18-23.1% lower with parameters "-g -Ofast -march=la664": 13.2.0: "-march=la664" flag is not supported 20240317: 11.5 (227s) 20240324: 8.84 (296s) 20240430: 9.43 (278s) 14.1.0: 9.42 (278s) after snapshot 20240317 score 20.3-21.2% lower with parameters "-g -Ofast -march=la664 -flto": 13.2.0: "-march=la664" flag is not supported 20240317: 11.1 (236s) 20240324: 8.75 (299s) 20240430: 8.85 (296s) 14.1.0: 8.85 (296s) after snapshot 20240317 score 26.3-26.6% lower with parameters "-g -Ofast -march=la464": 13.2.0: 8.76 (299s) 20240317: 12.8 (205s) 20240324: 9.39 (279s) 20240430: 9.43 (278s) 14.1.0: 9.43 (278s) after snapshot 20240317 score 26.6-28% lower with parameters "-g -Ofast -march=la464 -flto": 13.2.0: 8.52 (307s) 20240317: 12.8 (204s) 20240324: 9.22 (284s) 20240430: 9.37 (280s) 14.1.0: 9.40 (279s) The gcc 14 snapshots and gcc 14.1.0 are compiled with the following parameters: --enable-shared --enable-threads=posix --with-system-zlib --enable-gnu-indirect-function --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --disable-multilib --disable-werror --enable-pie --enable-checking=release --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=new --enable-default-pie --enable-default-ssp --enable-bootstrap --enable-languages=c,c++,fortran,lto --with-abi=lp64d --with-arch=loongarch64 --with-tune=la664 --build=loongarch64-aosc-linux-gnu The regression may be found on other types of CPUs as well. We did a quick test on AMD Zen4 CPU R9 7940HS and found similar but smaller regression: The rate-1 results on x86_64 (AMD R9 7940HS) with operating system Debian 12: after snapshot 20240317 score 8.6-9.6% lower with parameters "-m64 -g -Ofast -march=znver3": 12.2.0: 30.1 (87.0s) [gcc 12.2.0, system default] 13.2.0: 30.6 (85.7s) [gcc 13.2 release] 20240317: 31.4 (83.3s) [gcc 14 snapshot] 20240324: 28.7 (91.2s) [gcc 14 snapshot] 20240430: 28.4 (92.2s) [gcc 14 snapshot, 14.1.0-RC] after snapshot 20240317 score 10% lower with parameters "-m64 -g -Ofast -march=znver3 -flto": 12.2.0: 29.0 (90.3s) 13.2.0: 30.9 (84.9s) 20240317: 32.0 (81.8s) 20240324: 28.8 (90.9s) 20240430: 28.8 (91.1s) gcc13 and gcc14 are compiled with the following parameters: --enable-shared --enable-threads=posix --with-system-zlib --enable-gnu-indirect-function --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --disable-multilib --disable-werror --enable-pie --enable-checking=release --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=new --enable-default-pie --enable-default-ssp --enable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu