Commit 568e700e by Richard Sandiford Committed by Richard Sandiford

mips.h (ASM_OUTPUT_CASE_LABEL): Delete.

	* config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
	(JUMP_TABLES_IN_TEXT_SECTION): Define.
	* config/mips/mips.c (mips16_insn_length): Remove reference to
	JUMP_TABLES_IN_TEXT_SECTION.

From-SVN: r98111
parent 6c013920
2005-04-13 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
(JUMP_TABLES_IN_TEXT_SECTION): Define.
* config/mips/mips.c (mips16_insn_length): Remove reference to
JUMP_TABLES_IN_TEXT_SECTION.
2005-04-13 Fariborz Jahanian <fjahanian@apple.com> 2005-04-13 Fariborz Jahanian <fjahanian@apple.com>
* simplify-rtx.c (simplify_binary_operation_1): Return * simplify-rtx.c (simplify_binary_operation_1): Return
......
...@@ -7988,11 +7988,7 @@ dump_constants (struct mips16_constant *constants, rtx insn) ...@@ -7988,11 +7988,7 @@ dump_constants (struct mips16_constant *constants, rtx insn)
emit_barrier_after (insn); emit_barrier_after (insn);
} }
/* Return the length of instruction INSN. /* Return the length of instruction INSN. */
??? MIPS16 switch tables go in .text, but we don't define
JUMP_TABLES_IN_TEXT_SECTION, so get_attr_length will not
compute their lengths correctly. */
static int static int
mips16_insn_length (rtx insn) mips16_insn_length (rtx insn)
......
...@@ -2576,18 +2576,9 @@ do { \ ...@@ -2576,18 +2576,9 @@ do { \
LOCAL_LABEL_PREFIX, VALUE); \ LOCAL_LABEL_PREFIX, VALUE); \
} while (0) } while (0)
/* When generating mips16 code we want to put the jump table in the .text /* When generating MIPS16 code, we want the jump table to be in the text
section. In all other cases, we want to put the jump table in the .rdata section so that we can load its address using a PC-relative addition. */
section. Unfortunately, we can't use JUMP_TABLES_IN_TEXT_SECTION, because #define JUMP_TABLES_IN_TEXT_SECTION TARGET_MIPS16
it is not conditional. Instead, we use ASM_OUTPUT_CASE_LABEL to switch back
to the .text section if appropriate. */
#undef ASM_OUTPUT_CASE_LABEL
#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, INSN) \
do { \
if (TARGET_MIPS16) \
function_section (current_function_decl); \
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \
} while (0)
/* This is how to output an assembler line /* This is how to output an assembler line
that says to advance the location counter that says to advance the location counter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment