Commit ee243aa8 by Richard Kenner

entered into RCS

From-SVN: r753
parent e8163879
...@@ -382,17 +382,20 @@ do { union { float f; long l;} tem; \ ...@@ -382,17 +382,20 @@ do { union { float f; long l;} tem; \
/* At end of a switch table, define LDnnn iff the symbol LInnn was defined. /* At end of a switch table, define LDnnn iff the symbol LInnn was defined.
Some SGS assemblers have a bug such that "Lnnn-LInnn-2.b(pc,d0.l*2)" Some SGS assemblers have a bug such that "Lnnn-LInnn-2.b(pc,d0.l*2)"
fails to assemble. Luckily "Lnnn(pc,d0.l*2)" produces the results fails to assemble. Luckily "LDnnn(pc,d0.l*2)" produces the results
we want. This difference can be accommodated by using an assembler we want. This difference can be accommodated by making the assembler
define such "LDnnn" to be either "Lnnn-LInnn-2.b", "Lnnn", or any other define such "LDnnn" to be either "Lnnn-LInnn-2.b", "Lnnn", or any other
string, as necessary. This is accomplished via the ASM_OUTPUT_CASE_END string, as necessary. This is accomplished via the ASM_OUTPUT_CASE_END
macro. */ macro. */
#undef ASM_OUTPUT_CASE_END #undef ASM_OUTPUT_CASE_END
#define ASM_OUTPUT_CASE_END(FILE,NUM,TABLE) \ #define ASM_OUTPUT_CASE_END(FILE,NUM,TABLE) \
if (RTX_INTEGRATED_P (TABLE)) \ { if (switch_table_difference_label_flag) \
asm_fprintf (FILE, "\t%s %LLD%d,%LL%d-%LLI%d-2.b\n",\ asm_fprintf (FILE, "\t%s %LLD%d,%LL%d-%LLI%d-2.b\n",\
SET_ASM_OP, (NUM), (NUM), (NUM)) SET_ASM_OP, (NUM), (NUM), (NUM)) \
switch_table_difference_label_flag = 0; }
int switch_table_difference_label_flag;
/* This is how to output an element of a case-vector that is relative. */ /* This is how to output an element of a case-vector that is relative. */
......
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