{
/* Emit a USE operation so that the constant isn't deleted if
expensive optimizations are turned on because nobody
- references it */
- emit_insn (gen_rtx (USE, VOIDmode, operands[1]));
+ references it. This should only be done for operands that
+ contain SYMBOL_REFs with CONSTANT_POOL_ADDRESS_P set.
+ This should not be done for operands that contain LABEL_REFs.
+ For now, we just handle the obvious case. */
+ if (GET_CODE (operands[1]) != LABEL_REF)
+ emit_insn (gen_rtx (USE, VOIDmode, operands[1]));
/* If we are to limit the number of things we put in the TOC and
this is a symbol plus a constant we can add in one insn,