summaryrefslogtreecommitdiff
path: root/gcc/config/frv/frv-modes.def
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2004-12-10 16:33:25 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2004-12-10 16:33:25 +0000
commit036ff63feed89f4e50c1a10ae0761a1764a566e1 (patch)
treedc34f9cef9a1ac5207f699c12b14ce9d1b79440c /gcc/config/frv/frv-modes.def
parent2742a1edf52524ccaf6d406327695912a198bb65 (diff)
downloadgcc-036ff63feed89f4e50c1a10ae0761a1764a566e1.tar.gz
frv-modes.def: Fix comment typos.
* config/frv/frv-modes.def: Fix comment typos. (CC_NZ): Define new mode. * config/frv/frv-protos.h (frv_select_cc_mode): Declare. (condexec_intop_cmp_operator): Delete. * config/frv/frv.c (comparison_string): New function. (frv_print_operand): Use it to handle 'c' and 'C'. (relational_operator): Redefine in terms of integer_relational_operator and float_relational_operator. (signed_relational_operator, unsigned_relational_operator): Delete. (integer_relational_operator): New predicate, combining the above. Check the mode of the first operand but leave frv.md to check the rest. (float_relational_operator): Just check the mode of the first operand and leave frv.md to check the rest. (intop_compare_operator): Assume the result is compared with zero in mode CC_NZmode. Allow PLUS and MINUS. Leave frv.md to check the operand predicates. (condexec_intop_cmp_operator): Delete. (frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests) (frv_hard_regno_mode_ok): Handle CC_NZmode. (frv_select_cc_mode): New function. * config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode. (REVERSIBLE_CC_MODE): Include CC_NZmode. (PREDICATE_CODES): Replace entries for signed_relational_operand and unsigned_relational_operator with one for integer_relational_operator. Delete entry for condexec_intop_cmp_operator. * config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz) (reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns. (*combo_intop_compare2, *combo_intop_compare4): Delete. (*combo_intop_compare1): Change mode to CC_NZ. (*combo_intop_compare2): Likewise. Renamed from *combo_intop_compare3. (branch_{un,}signed_true, branch_{un,}signed_false) (*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed) (*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed) (*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed) (*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed) (*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed) (*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these pattern pairs. Use integer_relational_operator. Remove mode from icc_operand. From-SVN: r91997
Diffstat (limited to 'gcc/config/frv/frv-modes.def')
-rw-r--r--gcc/config/frv/frv-modes.def10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/config/frv/frv-modes.def b/gcc/config/frv/frv-modes.def
index 229a97399f1..cab8c16837f 100644
--- a/gcc/config/frv/frv-modes.def
+++ b/gcc/config/frv/frv-modes.def
@@ -20,12 +20,14 @@ Boston, MA 02111-1307, USA. */
/* On the FRV, the CC modes used are:
- CCmode set ICC's from comparing signed integers
- CC_UNSmode set ICC's from comparing unsigned integers
- CC_FPmode set FCC's from comparing floating point
- CC_CCRmode set CCR's to do conditional execution */
+ CCmode set ICCs from comparing signed integers
+ CC_UNSmode set ICCs from comparing unsigned integers
+ CC_NZmode set ICCs for comparisons that just need the Z and N flags
+ CC_FPmode set FCCs from comparing floating point
+ CC_CCRmode set CCRs to do conditional execution */
CC_MODE (CC_UNS);
+CC_MODE (CC_NZ);
CC_MODE (CC_FP);
CC_MODE (CC_CCR);