This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: rtl generation & predicates



:> 
:> 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.
:
:
:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]