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 <[email protected]>
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)