From 8ce4afa36d051920c2a67e54340e2a72fa33cbdd Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Tue, 11 Sep 2007 10:18:35 +0000 Subject: [PATCH] mips.c (mips_set_mips16_mode): Use separate anchor settings for MIPS16. gcc/ * config/mips/mips.c (mips_set_mips16_mode): Use separate anchor settings for MIPS16. (mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p. From-SVN: r128366 --- gcc/ChangeLog | 6 ++++++ gcc/config/mips/mips.c | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 470e25478db..1c9a5d01144 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-09-11 Richard Sandiford + + * config/mips/mips.c (mips_set_mips16_mode): Use separate anchor + settings for MIPS16. + (mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p. + 2007-09-11 Richard Sandiford * config/mips/mips.c (mips_symbol_insns_1): Allow LEAs of diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 0e69827296d..289f46e18bc 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -5655,6 +5655,14 @@ mips_set_mips16_mode (int mips16_p) /* Silently disable DSP extensions. */ target_flags &= ~MASK_DSP; target_flags &= ~MASK_DSPR2; + + /* Experiments suggest we get the best overall results from using + the range of an unextended lw or sw. Code that makes heavy use + of byte or short accesses can do better with ranges of 0...31 + and 0...63 respectively, but most code is sensitive to the range + of lw and sw instead. */ + targetm.min_anchor_offset = 0; + targetm.max_anchor_offset = 127; } else { @@ -5676,6 +5684,9 @@ mips_set_mips16_mode (int mips16_p) if (align_functions == 0) align_functions = 8; } + + targetm.min_anchor_offset = TARGET_MIN_ANCHOR_OFFSET; + targetm.max_anchor_offset = TARGET_MAX_ANCHOR_OFFSET; } /* (Re)initialize mips target internals for new ISA. */ @@ -8920,7 +8931,7 @@ mips_use_anchors_for_symbol_p (const_rtx symbol) return false; default: - return true; + return default_use_anchors_for_symbol_p (symbol); } } -- 2.30.2