This is the mail archive of the cgen@sourceware.org mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

dni format description


Hello,
My name is Petronela, i would like to get more info about the format
field from pmacros. For example the following insn is used in
m32r.cpu:
(dni addx "addx"

     ((PIPE OS) (IDOC ALU))
     "addx $dr,$sr"
     (+ OP1_0 OP2_9 dr sr)
     (parallel ()
               (set dr (addc dr sr condbit))
               (set condbit (add-cflag dr sr condbit)))
     ()

)
What (+ OP1_0 OP2_9 dr sr) means ? OP1_* and OP2_* are defined in the
following way:
(define-normal-insn-enum insn-op1 "insn format enums" () OP1_ f-op1

  ("0" "1" "2" "3" "4" "5" "6" "7"
   "8" "9" "10" "11" "12" "13" "14" "15")

)
(define-normal-insn-enum insn-op2 "op2 enums" () OP2_ f-op2

  ("0" "1" "2" "3" "4" "5" "6" "7"
   "8" "9" "10" "11" "12" "13" "14" "15")

)
My understanding is that destination register is always R0 and source
register is always R9 for this type of insn. Is this correct ? Does
this not restrict the hardware usage ? Since this insn can be executed
on all R* registers.

Thank you


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