public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34)
@ 2023-09-11 13:51 fkastl at suse dot cz
2023-09-12 12:31 ` [Bug target/111370] " tnfchris at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: fkastl at suse dot cz @ 2023-09-11 13:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
Bug ID: 111370
Summary: On Aarch64 4% 511.povray_r regression between
g:6cd85273071b5f13 (2023-08-23 00:17) and
g:e1f096a3cc96c719 (2023-08-25 22:34)
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Keywords: needs-bisection
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: fkastl at suse dot cz
CC: mjambor at suse dot cz, tamar.christina at arm dot com
Target Milestone: ---
Host: aarch64-gnu-linux
Target: aarch64-gnu-linux
On an Altra Aarch64 (-march=armv8.2-a+crypto+fp16+rcpc+dotprod+ssbs) machine
with -O2 -flto generic march between commits g:6cd85273071b5f13 (2023-08-23
00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) there is a 4% execution time
regression.
Here is a plot of recent runs:
https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=581.467.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/111370] On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34)
2023-09-11 13:51 [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) fkastl at suse dot cz
@ 2023-09-12 12:31 ` tnfchris at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2023-09-12 12:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
Tamar Christina <tnfchris at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tnfchris at gcc dot gnu.org
Last reconfirmed| |2023-9-12
--- Comment #1 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Ok, I can reproduce this with the generic cost model on Neoverse N1 hardware.
The generic cost model is based on a 10+ years old cpu and is no longer fit for
modern CPUs.
We are planning to replace it this GCC release so the regression should go away
then.
I've tested with -mcpu=neoverse-n1 and it does go away and gives a much better
score.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/111370] On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34)
2023-09-11 13:51 [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) fkastl at suse dot cz
2023-09-12 12:31 ` [Bug target/111370] " tnfchris at gcc dot gnu.org
@ 2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-11-21 13:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>:
https://gcc.gnu.org/g:4b6da8e7bdb93d9bca6291157db1c936ac56e7af
commit r14-5671-g4b6da8e7bdb93d9bca6291157db1c936ac56e7af
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Nov 21 13:19:36 2023 +0000
AArch64: Refactor costs models to different files.
This patch series attempts to move the generic cost model in AArch64 to a
new
and modern generic standard. The current standard is quite old and
generates
very suboptimal code out of the box for user of GCC.
The goal is for the new cost model to be beneficial on newer/current Arm
Microarchitectures while not being too negative for older ones.
It does not change any core specific optimization. The final changes
reflect
both performance optimizations and size optimizations.
This first patch just re-organizes the cost structures to their own files.
The AArch64.cc file has gotten very big and it's hard to follow.
No functional changes are expected from this change. Note that since all
the
structures have private visibility I've put them in header files instead.
gcc/ChangeLog:
PR target/111370
* config/aarch64/aarch64.cc (generic_addrcost_table,
exynosm1_addrcost_table,
xgene1_addrcost_table,
thunderx2t99_addrcost_table,
thunderx3t110_addrcost_table,
tsv110_addrcost_table,
qdf24xx_addrcost_table,
a64fx_addrcost_table,
neoversev1_addrcost_table,
neoversen2_addrcost_table,
neoversev2_addrcost_table,
generic_regmove_cost,
cortexa57_regmove_cost,
cortexa53_regmove_cost,
exynosm1_regmove_cost,
thunderx_regmove_cost,
xgene1_regmove_cost,
qdf24xx_regmove_cost,
thunderx2t99_regmove_cost,
thunderx3t110_regmove_cost,
tsv110_regmove_cost,
a64fx_regmove_cost,
neoversen2_regmove_cost,
neoversev1_regmove_cost,
neoversev2_regmove_cost,
generic_vector_cost,
a64fx_vector_cost,
qdf24xx_vector_cost,
thunderx_vector_cost,
tsv110_vector_cost,
cortexa57_vector_cost,
exynosm1_vector_cost,
xgene1_vector_cost,
thunderx2t99_vector_cost,
thunderx3t110_vector_cost,
ampere1_vector_cost,
generic_branch_cost,
generic_tunings,
cortexa35_tunings,
cortexa53_tunings,
cortexa57_tunings,
cortexa72_tunings,
cortexa73_tunings,
exynosm1_tunings,
thunderxt88_tunings,
thunderx_tunings,
tsv110_tunings,
xgene1_tunings,
emag_tunings,
qdf24xx_tunings,
saphira_tunings,
thunderx2t99_tunings,
thunderx3t110_tunings,
neoversen1_tunings,
ampere1_tunings,
ampere1a_tunings,
neoversev1_vector_cost,
neoversev1_tunings,
neoverse512tvb_vector_cost,
neoverse512tvb_tunings,
neoversen2_vector_cost,
neoversen2_tunings,
neoversev2_vector_cost,
neoversev2_tunings
a64fx_tunings): Split into own files.
* config/aarch64/tuning_models/a64fx.h: New file.
* config/aarch64/tuning_models/ampere1.h: New file.
* config/aarch64/tuning_models/ampere1a.h: New file.
* config/aarch64/tuning_models/cortexa35.h: New file.
* config/aarch64/tuning_models/cortexa53.h: New file.
* config/aarch64/tuning_models/cortexa57.h: New file.
* config/aarch64/tuning_models/cortexa72.h: New file.
* config/aarch64/tuning_models/cortexa73.h: New file.
* config/aarch64/tuning_models/emag.h: New file.
* config/aarch64/tuning_models/exynosm1.h: New file.
* config/aarch64/tuning_models/generic.h: New file.
* config/aarch64/tuning_models/neoverse512tvb.h: New file.
* config/aarch64/tuning_models/neoversen1.h: New file.
* config/aarch64/tuning_models/neoversen2.h: New file.
* config/aarch64/tuning_models/neoversev1.h: New file.
* config/aarch64/tuning_models/neoversev2.h: New file.
* config/aarch64/tuning_models/qdf24xx.h: New file.
* config/aarch64/tuning_models/saphira.h: New file.
* config/aarch64/tuning_models/thunderx.h: New file.
* config/aarch64/tuning_models/thunderx2t99.h: New file.
* config/aarch64/tuning_models/thunderx3t110.h: New file.
* config/aarch64/tuning_models/thunderxt88.h: New file.
* config/aarch64/tuning_models/tsv110.h: New file.
* config/aarch64/tuning_models/xgene1.h: New file.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/111370] On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34)
2023-09-11 13:51 [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) fkastl at suse dot cz
2023-09-12 12:31 ` [Bug target/111370] " tnfchris at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
@ 2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-11-21 13:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>:
https://gcc.gnu.org/g:e5678468e550e99944fca6bae364696714ffb445
commit r14-5672-ge5678468e550e99944fca6bae364696714ffb445
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Nov 21 13:20:10 2023 +0000
AArch64: Remove special handling of generic cpu.
In anticipation of adding new generic turning values this removes the
hardcoding
of the "generic" CPU and instead just specifies it as a normal CPU.
No change in behavior is expected.
gcc/ChangeLog:
PR target/111370
* config/aarch64/aarch64-cores.def: Add generic.
* config/aarch64/aarch64-opts.h (enum aarch64_proc): Remove
generic.
* config/aarch64/aarch64-tune.md: Regenerate
* config/aarch64/aarch64.cc (all_cores): Remove generic
* config/aarch64/aarch64.h (enum target_cpus): Remove
TARGET_CPU_generic.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/111370] On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34)
2023-09-11 13:51 [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) fkastl at suse dot cz
` (2 preceding siblings ...)
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
@ 2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:29 ` tnfchris at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-11-21 13:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>:
https://gcc.gnu.org/g:33c2b70dbabc02788caabcbc66b7baeafeb95bcf
commit r14-5673-g33c2b70dbabc02788caabcbc66b7baeafeb95bcf
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Nov 21 13:20:39 2023 +0000
AArch64: Add new generic-armv8-a CPU and make it the default.
This patch adds a new generic scheduling model "generic-armv8-a" and makes
it
the default for all Armv8 architectures.
-mcpu=generic and -mtune=generic is kept around for those that really want
the
previous cost model.
This shows on SPECCPU 2017 the following:
generic: SPECINT 1.0% improvement in geomean, SPECFP -0.6%. The SPECFP is
due
to fotonik3d_r where we vectorize an FP calculation that only
ever
needs one lane of the result. This I believe is a generic
costing bug
but at the moment we can't change costs of FP and INT
independently.
So will defer updating that cost to stage3 after Richard's other
costing updates land.
generic SVE: SPECINT 1.1% improvement in geomean, SPECFP 0.7% improvement.
gcc/ChangeLog:
PR target/111370
* config/aarch64/aarch64-arches.def (armv8-9, armv8-a, armv8.1-a,
armv8.2-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, armv8.7-a,
armv8.8-a): Update to generic_armv8_a.
* config/aarch64/aarch64-cores.def (generic-armv8-a): New.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.cc: Include generic_armv8_a.h
* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Change to
TARGET_CPU_generic_armv8_a.
* config/aarch64/tuning_models/generic_armv8_a.h: New file.
gcc/testsuite/ChangeLog:
PR target/111370
* gcc.target/aarch64/sve/cond_asrd_1.c: Updated.
* gcc.target/aarch64/sve/cond_cnot_4.c: Likewise.
* gcc.target/aarch64/sve/cond_unary_5.c: Likewise.
* gcc.target/aarch64/sve/cond_uxt_5.c: Likewise.
* gcc.target/aarch64/target_attr_13.c: Likewise.
* gcc.target/aarch64/target_attr_15.c: Likewise.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/111370] On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34)
2023-09-11 13:51 [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) fkastl at suse dot cz
` (3 preceding siblings ...)
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
@ 2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:29 ` tnfchris at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-11-21 13:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>:
https://gcc.gnu.org/g:c187fe4bceb90643b88a55a54c4040ab9e40e659
commit r14-5674-gc187fe4bceb90643b88a55a54c4040ab9e40e659
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Nov 21 13:21:07 2023 +0000
AArch64: Add new generic-armv9-a CPU and make it the default for Armv9
This patch adds a new generic scheduling model "generic-armv9-a" and makes
it
the default for all Armv9 architectures.
-mcpu=generic and -mtune=generic is kept around for those that really want
the
previous cost model.
gcc/ChangeLog:
PR target/111370
* config/aarch64/aarch64-arches.def (armv9-a, armv9.1-a, armv9.2-a,
armv9.3-a): Update to generic-armv9-a.
* config/aarch64/aarch64-cores.def (generic-armv9-a): New.
* config/aarch64/aarch64-tune.md: Regenerate.
* config/aarch64/aarch64.cc: Include generic_armv9_a.h.
* config/aarch64/tuning_models/generic_armv9_a.h: New file.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug target/111370] On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34)
2023-09-11 13:51 [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) fkastl at suse dot cz
` (4 preceding siblings ...)
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
@ 2023-11-21 13:29 ` tnfchris at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2023-11-21 13:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
Tamar Christina <tnfchris at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|UNCONFIRMED |RESOLVED
--- Comment #6 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-11-21 13:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-11 13:51 [Bug target/111370] New: On Aarch64 4% 511.povray_r regression between g:6cd85273071b5f13 (2023-08-23 00:17) and g:e1f096a3cc96c719 (2023-08-25 22:34) fkastl at suse dot cz
2023-09-12 12:31 ` [Bug target/111370] " tnfchris at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:25 ` cvs-commit at gcc dot gnu.org
2023-11-21 13:29 ` tnfchris at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).