2008-02-20 Andrew Hutchinson <hutchinsonandy@aim.com>
PR target/19636,24894,31644,31786
* config/avr/avr.h (REG_ALLOC_ORDER_2): Move defintion from
avr.c. Re-order alternative 2.
(LEGITIMIZE_RELOAD_ADDRESS): Don't push base pointer as reload for
base pointer spill.
* config/avr/avr.c (legitimate_address_p): Expose address inside
subreg. Permit REG_X as base pointer.
(order_regs_for_local_alloc) Move constant definitions to avr.h.
(extra_constraint_Q): Add post-inc, pre-dec of X,Y Z to constraint.
* config/avr/avr.md (*movhi) Add Q constraint before m.
I am re-testing modified patch. (It takes a few hours.)