diff options
author | Nick Clifton <nickc@redhat.com> | 2010-06-30 08:50:14 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2010-06-30 08:50:14 +0000 |
commit | aea8fc973762254dfd518d202975bc043aba4ba9 (patch) | |
tree | 01f9bb4c0964cfdc72ea8fd3a7fc97fe6aa30df2 /gcc/c-parser.c | |
parent | 6662d794044f9124db635ba8acaa82c9483a3b33 (diff) | |
download | gcc-aea8fc973762254dfd518d202975bc043aba4ba9.zip gcc-aea8fc973762254dfd518d202975bc043aba4ba9.tar.gz gcc-aea8fc973762254dfd518d202975bc043aba4ba9.tar.bz2 |
rx-modes.def: New file.
* config/rx/rx-modes.def: New file.
* config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
(CC_REGNUM): Define.
(FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
register.
(CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
(SELECT_CC_MODE): Define.
* config/rx/rx.md (CC_REG): Define. Update all patterns to use
(reg:CC CC_REG) instead of (cc0).
(attr "cc"): Delete.
(cbranchsi4): Do not split compare and branch here. Instead move
it to...
(cbranchsi4_<code>): ... here. New patterns.
(cmpsi): Call rx-compare_redundant to find out if it is necessary
to emit the compare instruction.
* config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
cc_status flags.
(rx_get_stack_layout): Iterate up to before CC_REGNUM not
FIRST_PSEUDO_REGNUM.
(rx_expand_prologue, rx_expand_epilogue): Likewise.
(rx_notice_update_cc): Delete.
(rx_cc_modes_compatible): New function.
(flags_needed_for_conditional): New function.
(flags_from_mode): New function.
(rx_compare_redundant): New function - scans backwards through
insn list to find out if condition flags are already set
correctly.
(TARGET_CC_MODES_COMPATIBLE): Define.
* config/rx/rx-protos.h (rx_compare_redundant): Prototype.
* config/rx/rx.h (BRANCH_COST): Define.
(REGISTER_MOVE_COST): Define.
* config/rx/predicates (rx_source_operand): Allow all constant
types.
* config/rx/rx.md (addsi3): Add alternative for swapped operands.
(tstsi4): New pattern.
* config/rx/rx.c (rx_memory_move_cost): Define.
(TARGET_MEMORY_MOVE_COST): Define.
From-SVN: r161592
Diffstat (limited to 'gcc/c-parser.c')
0 files changed, 0 insertions, 0 deletions