Related articles |
---|
RTL Help Required dongre@aludra.usc.edu (Rommel Dongre) (2001-04-10) |
From: | Rommel Dongre <dongre@aludra.usc.edu> |
Newsgroups: | comp.compilers |
Date: | 10 Apr 2001 01:32:16 -0400 |
Organization: | University of Southern California |
Keywords: | GCC, question |
Posted-Date: | 10 Apr 2001 01:32:16 EDT |
Hi:
I am relatively new to compilers, having done only an undergrad level
course in it.
Currently I am trying to understand Register Transfer Language (RTL)
that is the building block of a GCC port that I wish to
accomplish. However, I am armed with only 1 good piece of
documentation on this (RTL) subject. ie. the GNU site; and that too is
a littly cryptic for my understanding.
I dont need hard-core information on this (yet!). Just to understand how I
can tinker the machine description (md) files of a cross-compiler that I
have built to spit out assembly instructions conferring to my pseudo-ISA.
Specifically, if someone can tell me, or lead me to a source, that could
explain the following lines of RTL, that will get me going for now.
=====start======
(define_insn ""
[(set (match_operand:SI 0
"nonimmediate_operand" "=r,r,r,m,r,r,r,r,r,*q,*c*l,*h")
(match_operand:SI 1 "input_operand" "r,U,m,r,I,L,n,R,*h,r,r,0"))]
"gpc_reg_operand (operands[0], SImode)
|| gpc_reg_operand (operands[1], SImode)"
"@
mr %0,%1
{cal|la} %0,%a1
{l%U1%X1|lwz%U1%X1} %0,R%1
{st%U0%X0|stw%U0%X0} %1,R%0
{lil|li} %0,%1
{liu|lis} %0,%v1
#
{cal|la} %0,%1(%*)
mf%1 %0
mt%0 %1
mt%0 %1
cror 0,0,0"
[(set_attr "type" "*,*,load,store,*,*,*,*,*,*,mtjmpr,*")
(set_attr "length" "4,4,4,4,4,4,8,4,4,4,4,4")])
====stop=====
Thanks in anticipation.
_____________
Rommel Dongre
(213) 741-1841
http://www.geocities.com/rom_24
Return to the
comp.compilers page.
Search the
comp.compilers archives again.