on nios2 difine_insn indirect_call
Liu Haibin
liu.haibin@gmail.com
Mon Jul 18 06:48:00 GMT 2005
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
More information about the Gcc
mailing list