RTL Help Required

Rommel Dongre <dongre@aludra.usc.edu>
10 Apr 2001 01:32:16 -0400

          From comp.compilers

Related articles
RTL Help Required dongre@aludra.usc.edu (Rommel Dongre) (2001-04-10)
| List of all articles for this month |

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

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.


(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")])


Thanks in anticipation.

Rommel Dongre
(213) 741-1841

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.