This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: %0 and match_dup in .md
- From: Paul Brook <paul at codesourcery dot com>
- To: Vimal Kumar <askgcc at yahoo dot com>, gcc at gcc dot gnu dot org
- Date: Mon, 5 Jan 2004 12:21:43 +0000
- Subject: Re: %0 and match_dup in .md
- Organization: CodeSourcery
- References: <20040105120629.84679.qmail@web61002.mail.yahoo.com>
On Monday 05 January 2004 12:06 pm, Vimal Kumar wrote:
> As far as I understand, it comes out that operand 0
> and operand 1 are refering to the same expression. So,
> why can't match_dup be used in place of operand 1? In
> fact, I'm unable to figure out the differences between
> the two. I may be missing something very important.
> Please help!!
See
"(match_dup [...]" from
http://gcc.gnu.org/onlinedocs/gccint/RTL-Template.html#RTL%20Template
and
"0,1,2...9" from
http://gcc.gnu.org/onlinedocs/gccint/Simple-Constraints.html#Simple%
20Constraints
Basically match_dup matches indicates the same operand is used multiple times.
A "0" constraint matches the same register/object to two different operands.
In the latter case one of the operands may be an autoincrement addressing
mode if the machine supports such things.
HTH
Paul