This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 3.4.0 20040121 / ia32 / read-write constraint does not allow a register
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: rth at redhat dot com (Richard Henderson)
- Cc: joern dot rennecke at superh dot com (Joern Rennecke), aph at redhat dot com (Andrew Haley), etienne_lorrain at yahoo dot fr (Etienne Lorrain), gcc at gcc dot gnu dot org
- Date: Thu, 29 Jan 2004 18:39:25 +0000 (GMT)
- Subject: Re: gcc 3.4.0 20040121 / ia32 / read-write constraint does not allow a register
> On Thu, Jan 29, 2004 at 02:22:10PM +0000, Joern Rennecke wrote:
> > Support for "+" memory constraints was added as a feature for these
> > reasons; why do we warn about this now?
>
> "+" has *always* been expanded to matching constraints for asms.
Yes, I know (I've implemented this), but when you use matching constraints
in the source, there is no guarantee that arguments that look the same
in sourc also compile to the same trees & rtl. By using the "+" constraint
modifier, you get the compiler the opportunity to copy the argument itself,
and it cn take whatever precautions are necessary to keep these trees / rtl
pieces the same.