mips.c (mips_symbol_insns_1): Allow LEAs of SYMBOL_FORCE_TO_MEM constants.
commit206c2d7add4a9bc3955e455bbe2c23a90422fcf8
authorRichard Sandiford <richard@codesourcery.com>
Tue, 11 Sep 2007 09:51:17 +0000 (11 09:51 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 11 Sep 2007 09:51:17 +0000 (11 09:51 +0000)
tree3c5276c1b094c85b929083de7f24493b91d6b978
parent8144a1a8120beac962f0dfa6dc76dbd00b407aad
mips.c (mips_symbol_insns_1): Allow LEAs of SYMBOL_FORCE_TO_MEM constants.

gcc/
* config/mips/mips.c (mips_symbol_insns_1): Allow LEAs of
SYMBOL_FORCE_TO_MEM constants.
(mips_rtx_costs): Give a cost of 1 to force_to_mem_operands.
(mips16_rewrite_pool_refs_info): New structure.
(mips16_rewrite_pool_constant): New function, split out from...
(mips16_rewrite_pool_refs): ...here.  Take a pointer to a
mips16_rewrite_pool_refs_info structure rather than a pointer
to a constant pool.  Force force_to_mem_operands into memory.
(mips16_lay_out_constants): Update call to mips16_rewrite_pool_refs.
* config/mips/predicates.md (force_to_mem_operand): New predicate.
* config/mips/constraints.md (kf): New constraint.
* config/mips/mips.md (*movdi_64bit_mips16): Add a d <- kf alternative.
(*movsi_mips16): Likewise.

From-SVN: r128365
gcc/ChangeLog
gcc/config/mips/constraints.md
gcc/config/mips/mips.c
gcc/config/mips/mips.md
gcc/config/mips/predicates.md