/* 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)"
- fails to assemble. Luckily "Lnnn(pc,d0.l*2)" produces the results
- we want. This difference can be accommodated by using an assembler
+ fails to assemble. Luckily "LDnnn(pc,d0.l*2)" produces the results
+ 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
string, as necessary. This is accomplished via the ASM_OUTPUT_CASE_END
macro. */
#undef ASM_OUTPUT_CASE_END
#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",\
- 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. */