https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109154

            Bug ID: 109154
           Summary: [13 regression] aarch64 -mcpu=neoverse-v1 microbude
                    performance regression
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pgodbole at nvidia dot com
                CC: ramana at gcc dot gnu.org
  Target Milestone: ---

Created attachment 54681
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54681&action=edit
Reduced microbude test case

We're observing a significant performance drop (~30%) in an application when
comparing gcc trunk against gcc 12, observed with -mcpu=neoverse-v1 on an
aarch64 Neoverse-V1. With OMP_NUM_THREADS=1 we see a regression of nearly 60%
between gcc12 and gcc13. The test case attached is reduced from a test shared
here https://github.com/UoB-HPC/microBUDE and has been made more suitable for a
gcc bug report.

$ install-gcc-12/bin/g++ --version
g++ (GCC) 12.2.1 20221222 [master r13-4850-g74544bdadc4]
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ install-gcc-trunk/bin/g++ --version
g++ (GCC) 13.0.1 20230315 (experimental)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Command line used : 

$ install-gcc-12/bin/g++ -std=c++17 -Wall -Wno-sign-compare
-Wno-unused-variable -Ofast -mcpu=neoverse-v1 -fopenmp -g3
reduced_microbude.cpp -o microbude-12-neoverse-v1
$ ./microbude-12-neoverse-v1

$ install-gcc-trunk/bin/g++ -std=c++17 -Wall -Wno-sign-compare
-Wno-unused-variable -Ofast -mcpu=neoverse-v1  -fopenmp -g3
reduced_microbude.cpp -o microbude-trunk-neoverse-v1

Bisecting suggests that commit
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=4fbe3e6a could be a possible
candidate. Thank you Tom Lin for the help here with the bisection. 

Thanks

Reply via email to