This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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. Attached is DLX's md file. ___________________________________________________________ 雅虎1G免费邮箱百分百防垃圾信 http://cn.mail.yahoo.com/
Attachment:
DLX.rar
Description: 2680642989-DLX.rar
------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.org
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |