diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2004-12-10 16:33:25 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2004-12-10 16:33:25 +0000 |
commit | 036ff63feed89f4e50c1a10ae0761a1764a566e1 (patch) | |
tree | dc34f9cef9a1ac5207f699c12b14ce9d1b79440c /gcc/config/frv/frv-modes.def | |
parent | 2742a1edf52524ccaf6d406327695912a198bb65 (diff) | |
download | gcc-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.def | 10 |
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); |