* mn10300/mn10300.c (print_operand): Handle 'H' and 'L' output
modifers for high/low part of a 64bit value.
* mn10300/mn10300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Handle 'G'
(LEGITIMATE_CONSTANT_P): Allow any constant.
* mn10300/mn10300.md (movdi, movdf): Implement.
(adddi3, subdi3): New expanders and patterns.
* mn10300/mn10300.c (print_operand): Handle 'A' modifier for an
address which can't be simple register indirect.
* mn10300/mn10300.h (EXTRA_CONSTRAINT): Handle 'R' for bit ops.
* mn10300/mn10300.md: Add several patterns to test, set and clear
bitfields.
* mn10300/mn10300.c (can_use_return_insn): New function.
(expand_epilogue): Emit a RETURN insn if possible.
* mn10300/mn10300.md (return): New pattern.
* mn10300/mn10300.h (CONST_OK_FOR_LETTER_P): Handle 'N'.
* mn10300/mn10300.md (andsi3): Catch "and 255,dn" and "and 65535,dn"
which were not turned into zero_extend patterns.
* mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Handle symbolic
constant as an index/base too.
* mn10300/mn10300.md (movsi): Allow SP to be loaded/saved with
reg+d8 addresses.
* mn10300/mn10300.md (cmpsi): Allow second operand to be a constant.
(subsi3): Likewise.
* mn10300/mn10300.md (sign extension patterns): Fix thinko when
extending from memory.
* mn10300/mn10300.md (tst peepholes): Add peepholes for test/branch
based on N bit being set/clear and the data value being tested dies.