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/