This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: rtl generation & predicates
- To: Richard dot Earnshaw at arm dot com
- Subject: Re: rtl generation & predicates
- From: Soubhik Bhattacharya <soubhik at cse dot iitk dot ac dot in>
- Date: Fri, 23 Feb 2001 16:36:38 +0530 (IST)
- cc: GCC Mailing List <gcc at gcc dot gnu dot org>
- Organization: Dept of Computer Science IIT Kanpur
:>
:> as far as my understanding goes, the document "Using and Porting GNU
:> CC" (section: Machine Descriptions, subsection: RTL Template) says that
:> predicates play no role in 'insn' construction. but...... with this i'm
:> not able to explain the following experience of porting GCC to an
:> arbitrary machine:
:
:You've confused predicate with constraint. GCC does check the operands
:against the predicates during RTL generation, it doesn't check the
:operands against the constraints. As far as I can see, this is what the
:documentation says:
:
: People are often unclear on the difference between the constraint and the
: predicate. The predicate helps decide whether a given insn matches the
: pattern. The constraint plays no role in this decision; instead, it
: controls various decisions in the case of an insn which does match.
:
it's not that i confused between a predicate and a constraint. but the
INSN_CODE field of an insn that appears at the filename.rtl dump has a
value -1, which means, acc to the documentation (section: RTL
Representation, subsection: Insns):
INSN_CODE (i)
An integer that says which pattern in the machine description
matches this insn, or -1 if the matching has not yet been attempted.
as i assumed the only use of predicates is during matching, predicates
shud not have any role to play during RTL generation.
thank you for the reply!!
Regards,
soubhik.
:R.
:
:
: