This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: target/2246: Code generated for IA64 doesn't reset NaT bit on scratch reg
- To: gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, sje at cup dot hp dot com, wilson at gcc dot gnu dot org
- Subject: Re: target/2246: Code generated for IA64 doesn't reset NaT bit on scratch reg
- From: wilson at gcc dot gnu dot org
- Date: 18 Sep 2001 04:23:10 -0000
Synopsis: Code generated for IA64 doesn't reset NaT bit on scratch reg
Responsible-Changed-From-To: unassigned->wilson
Responsible-Changed-By: wilson
Responsible-Changed-When: Mon Sep 17 21:23:08 2001
Responsible-Changed-Why:
IA-64 maintainer
State-Changed-From-To: open->analyzed
State-Changed-By: wilson
State-Changed-When: Mon Sep 17 21:23:08 2001
State-Changed-Why:
The only way to fix this problem is to initialize all
local variables when they are declared. Gcc does not
have infrastructure to do this at the moment, so this
will require development work. There is also a concern
that this will result in redundant stores that the optimizer
may not be able to eliminate, and thus may result in a
performance regression. Additional optimizations may
be necessary to avoid this problem.
As yet, this has not been observed to cause problems on
ia64-linux, primarily because gcc does not have speculation
support, and thus we never set the NAT bit. This has been
observed to cause problems on HPUX, as the HPUX compiler
does use speculation, and thus the NAT bit can be set.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=2246&database=gcc