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