rx.md: Add peepholes and patterns to combine extending loads and simple arithmetic...
authorNick Clifton <nickc@redhat.com>
Wed, 30 Mar 2011 14:09:09 +0000 (14:09 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Wed, 30 Mar 2011 14:09:09 +0000 (14:09 +0000)
commite9c0470ac5719868e0dd0e2e5768c3a70ec4cb78
tree8f32c8dd7a17241af74ee0dfc5739af97d792ac3
parent8a87e7abcb28cc53fb1be10b453d030a039de15e
rx.md: Add peepholes and patterns to combine extending loads and simple arithmetic...

* config/rx/rx.md: Add peepholes and patterns to combine
extending loads and simple arithmetic instructions.
* config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
        * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
        * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
modes to use pre-decrement and post-increment addressing.
        (rx_is_restricted_memory_address): Add range checking of REG+INT
addresses.
        (rx_print_operand): Add support for %Q.
        Fix handling of %Q.
        (rx_memory_move_cost): Adjust cost of stores.
        (rx_adjust_insn_length): New function.

From-SVN: r171724
gcc/ChangeLog
gcc/config/rx/rx-protos.h
gcc/config/rx/rx.c
gcc/config/rx/rx.h
gcc/config/rx/rx.md