Go forward to Alignment Output.
Go backward to Instruction Output.
Go up to Assembler Format.
Output of Dispatch Tables
-------------------------
This concerns dispatch tables.
`ASM_OUTPUT_ADDR_DIFF_ELT (STREAM, VALUE, REL)'
This macro should be provided on machines where the addresses in a
dispatch table are relative to the table's own address.
The definition should be a C statement to output to the stdio
stream STREAM an assembler pseudo-instruction to generate a
difference between two labels. VALUE and REL are the numbers of
two internal labels. The definitions of these labels are output
using `ASM_OUTPUT_INTERNAL_LABEL', and they must be printed in the
same way here. For example,
fprintf (STREAM, "\t.word L%d-L%d\n",
VALUE, REL)
`ASM_OUTPUT_ADDR_VEC_ELT (STREAM, VALUE)'
This macro should be provided on machines where the addresses in a
dispatch table are absolute.
The definition should be a C statement to output to the stdio
stream STREAM an assembler pseudo-instruction to generate a
reference to a label. VALUE is the number of an internal label
whose definition is output using `ASM_OUTPUT_INTERNAL_LABEL'. For
example,
fprintf (STREAM, "\t.word L%d\n", VALUE)
`ASM_OUTPUT_CASE_LABEL (STREAM, PREFIX, NUM, TABLE)'
Define this if the label before a jump-table needs to be output
specially. The first three arguments are the same as for
`ASM_OUTPUT_INTERNAL_LABEL'; the fourth argument is the jump-table
which follows (a `jump_insn' containing an `addr_vec' or
`addr_diff_vec').
This feature is used on system V to output a `swbeg' statement for
the table.
If this macro is not defined, these labels are output with
`ASM_OUTPUT_INTERNAL_LABEL'.
`ASM_OUTPUT_CASE_END (STREAM, NUM, TABLE)'
Define this if something special must be output at the end of a
jump-table. The definition should be a C statement to be executed
after the assembler code for the table is written. It should write
the appropriate code to stdio stream STREAM. The argument TABLE
is the jump-table insn, and NUM is the label-number of the
preceding label.
If this macro is not defined, nothing special is output at the end
of the jump-table.