This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
What does this character mean in gcc's md file?
- From: ZengNan <znxmu at yahoo dot com dot cn>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 19 Jan 2006 17:59:23 +0800 (CST)
- Subject: What does this character mean in gcc's md file?
I've been studying DLX's md file for GCC. I have a question about the following lines in this
file,
;;
;; Float compares.
;; The RTL for these is also generated in
;; gen_conditional_branch().
;;
(define_insn ""
[(set (match_operand:CCFP 0 "register_operand" "=z")
(match_operator:SF 1 "signed_comparison_operator"
[(match_operand:SF 2 "register_operand" "f")
(match_operand:SF 3 "register_operand" "f")]))]
""
"%C1f\\t%2,%3"
[(set_attr "type" "fp")
(set_attr "mode" "SF")])
This pattern outputs float compare instruction. "%C" in the output template is defined in dlx.c to
be one of eq, ne, gt, lt, le and neq. DLX's assembly code for float compare has the format of "*f
op1, op2", where * is to be substituted by eq, ne, gt, .... I don't know the meaning of the
numeric character "1" between "%C" and "f" in the output template.
___________________________________________________________
快来雅虎邮箱发贺卡,拜大年啦!
http://cn.mail.yahoo.com/promo/greetings/