OSDN Git Service

Implement using "base addresses" in insn operands as default.
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Feb 2002 05:13:12 +0000 (05:13 +0000)
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Feb 2002 05:13:12 +0000 (05:13 +0000)
commitf0b228a5240a9e4641fbc53cdaf0ddd5aaf861e8
treeeaf6a20cb7edaa510d6dcf08ca7445e4975d029e
parent3b5e81e2f8acf8d99216bffe2dd2a7074e92be81
Implement using "base addresses" in insn operands as default.
* config/mmix/mmix.c (mmix_conditional_register_usage): if
-mabi=gnu, modify fixed_regs to fit the GNU ABI.
(mmix_extra_constraint): Use 'R' to indicate that GETA should be
used to read the rtx value.
(mmix_target_asm_function_epilogue): Fix spacing.
(mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
(mmix_legitimate_address): Ditto.
(mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
should be loaded with a GETA insn.  Don't allocate needless extra
char for nul termination and fix misleading comment.
(mmix_print_operand_address): Handle constants if
TARGET_BASE_ADDRESSES.
(mmix_output_register_setting): Use base addressing if
TARGET_BASE_ADDRESSES and the number of insns is 3.
* config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
* config/mmix/mmix.md ("movdi"): Change the alternative with GETA
to use R as constraint, add LDA to match s.
* config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
(TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
(TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
(FIXED_REGISTERS): Make registers $231..$246 fixed by default.
(MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
order with other fixed registers.
(MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
other parameter/call-clobbered registers.
* doc/invoke.texi (Option Summary) <MMIX Options>: Add
-mbase-addresses, -mno-base-addresses.
(MMIX Options): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49536 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/mmix/mmix.c
gcc/config/mmix/mmix.h
gcc/config/mmix/mmix.md
gcc/config/mmix/t-mmix
gcc/doc/invoke.texi