public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/20632] New: GCC should avoid generating F- and B-unit NOPs
@ 2005-03-24 23:46 davidm at hpl dot hp dot com
2005-03-31 23:26 ` [Bug target/20632] " cvs-commit at gcc dot gnu dot org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: davidm at hpl dot hp dot com @ 2005-03-24 23:46 UTC (permalink / raw)
To: gcc-bugs
Chips derived from McKinley-core (Itanium 2, etc.) have an anomaly which can
cause stalls if an F-unit instruction (including a NOP) is issued within a
six-cycle window after reading certain application registers (such as ar.bsp).
Furthermore, power-considerations also argue against the use of F-unit
instructions unless they're really needed.
Similarly, using B-unit NOPs is probably not a great idea for McKinley-derived
cores: certain templates with B unit instructions cause split-issue and the BBB
template in particular causes a branch-prediction anomaly (the first two
branches are predicated based on the slot 0 hints.
Unfortunately, at the moment the GCC scheduler still seems to favor using F and
B-unit NOPs whenever possible. This made sense for Merced (since it didn't have
sufficient M and I execution units) but really should be avoided for McKinley
and newer cores.
--
Summary: GCC should avoid generating F- and B-unit NOPs
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: davidm at hpl dot hp dot com
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: ia64-linux
GCC host triplet: ia64-linux
GCC target triplet: ia64-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20632
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug target/20632] GCC should avoid generating F- and B-unit NOPs
2005-03-24 23:46 [Bug target/20632] New: GCC should avoid generating F- and B-unit NOPs davidm at hpl dot hp dot com
@ 2005-03-31 23:26 ` cvs-commit at gcc dot gnu dot org
2005-04-01 1:35 ` wilson at gcc dot gnu dot org
2005-04-01 1:35 ` wilson at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-03-31 23:26 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-03-31 23:26 -------
Subject: Bug 20632
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: vmakarov@gcc.gnu.org 2005-03-31 23:26:35
Modified files:
gcc : ChangeLog genautomata.c
gcc/doc : md.texi
gcc/config/ia64: ia64.c
Log message:
2005-03-31 Vladimir Makarov <vmakarov@redhat.com>
PR target/20632
* genautomata.c (first_cycle_unit_presence): Check all alternative
states for unit presence.
* doc/md.texi: Remove remark about impossibility to query unit
presence in non nondeterministic automaton state.
* config/ia64/ia64.c (get_template): Change order of unit querying.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8060&r2=2.8061
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/genautomata.c.diff?cvsroot=gcc&r1=1.61&r2=1.62
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/md.texi.diff?cvsroot=gcc&r1=1.126&r2=1.127
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.c.diff?cvsroot=gcc&r1=1.352&r2=1.353
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20632
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug target/20632] GCC should avoid generating F- and B-unit NOPs
2005-03-24 23:46 [Bug target/20632] New: GCC should avoid generating F- and B-unit NOPs davidm at hpl dot hp dot com
2005-03-31 23:26 ` [Bug target/20632] " cvs-commit at gcc dot gnu dot org
2005-04-01 1:35 ` wilson at gcc dot gnu dot org
@ 2005-04-01 1:35 ` wilson at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: wilson at gcc dot gnu dot org @ 2005-04-01 1:35 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From wilson at gcc dot gnu dot org 2005-04-01 01:35 -------
IA-64.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |wilson at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-04-01 01:35:08
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20632
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug target/20632] GCC should avoid generating F- and B-unit NOPs
2005-03-24 23:46 [Bug target/20632] New: GCC should avoid generating F- and B-unit NOPs davidm at hpl dot hp dot com
2005-03-31 23:26 ` [Bug target/20632] " cvs-commit at gcc dot gnu dot org
@ 2005-04-01 1:35 ` wilson at gcc dot gnu dot org
2005-04-01 1:35 ` wilson at gcc dot gnu dot org
2 siblings, 0 replies; 4+ messages in thread
From: wilson at gcc dot gnu dot org @ 2005-04-01 1:35 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From wilson at gcc dot gnu dot org 2005-04-01 01:35 -------
Fixed by Vlad's patch.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20632
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-04-01 1:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-24 23:46 [Bug target/20632] New: GCC should avoid generating F- and B-unit NOPs davidm at hpl dot hp dot com
2005-03-31 23:26 ` [Bug target/20632] " cvs-commit at gcc dot gnu dot org
2005-04-01 1:35 ` wilson at gcc dot gnu dot org
2005-04-01 1:35 ` wilson at gcc dot gnu dot 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).