Hi, 

The nios2.md has a define_insn "indirect_call"

(define_insn "indirect_call"
  [(call (mem:QI (match_operand:SI 0 "register_operand" "r"))
         (match_operand 1 "" ""))
   (clobber (reg:SI RA_REGNO))]
  ""
  "callr\\t%0"
  [(set_attr "type" "control")])

But I find that in test.c.26.flow2, there is such a code.

(call_insn 41 37 42 1 0x101e17b0 (parallel [
            (call (mem:QI (reg/f:SI 3 r3 [58]) [0 S1 A8])
                (const_int 0 [0x0]))
            (clobber (reg:SI 31 ra))
        ]) 41 {indirect_call} (insn_list 40 (insn_list 39 (nil)))
    (expr_list:REG_DEAD (reg:SI 4 r4)
        (expr_list:REG_DEAD (reg/f:SI 3 r3 [58])
            (expr_list:REG_UNUSED (reg:SI 31 ra)
                (nil))))
    (expr_list (use (reg:SI 4 r4))
        (nil)))

Why is there a "parallel" for indirect_call in .26.flow2 but no
"parallel" in define_insn indirect_call? Does it mean that the
"define_insn indirect_call" in md file impilcitly has "parallel"
surrounding it?


Regards,
Timothy

Reply via email to