This concerns dispatch tables.
ASM_OUTPUT_ADDR_DIFF_ELT (stream, value, rel) 
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) 
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) 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) If this macro is not defined, nothing special is output at the end of the jump-table.