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

            Bug ID: 104125
           Summary: 531.deepsjeng_r regressed on Zen2 CPUs at -Ofast
                    -march=native (without LTO) during GCC 12 development
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jamborm at gcc dot gnu.org
                CC: amacleod at redhat dot com
            Blocks: 26163
  Target Milestone: ---
              Host: x86_64-linux
            Target: x86_64-linux

On Zen2 based CPUs (and only on those, I have not seen this neither on
Zen3 nor on Intel Cascadelake, for example), 531.deepsjeng_r regressed
by almost 10% when built with -Ofast -march=native as can be seen on
LNT:

  https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=295.387.0

Fortunately, it does not happen with LTO.  Given how specific it is,
it may not be easy to diagnose or fix, but for what it is worth, I was
able to to bisect the big jump from October to:

  cb153222404e2e149aa65a4b3139b09477551203 is the first bad commit
  commit cb153222404e2e149aa65a4b3139b09477551203
  Author: Andrew MacLeod <amacl...@redhat.com>
  Date:   Wed Oct 20 13:37:29 2021 -0400

    Fold all statements in Ranger VRP.

    Until now, ranger VRP has only simplified statements with ranges.  This
patch
    enables us to fold all statements.

            gcc/
            * tree-vrp.c (rvrp_folder::fold_stmt): If simplification fails, try
            to fold anyway.

            gcc/testsuite/
            * gcc.dg/tree-ssa/vrp98.c: Disable evrp for vrp1 test.
            * gcc.dg/tree-ssa/vrp98-1.c: New. Test for folding in evrp.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163
[Bug 26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)

Reply via email to