https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123709
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
```
char opoutput[MAX_RECOG_OPERANDS];
...
else if (this_is_asm_operands && opnum >= insn_noperands)
output_operand_lossage ("operand number out of range"); // Error
here
else if (letter == 'l')
output_asm_label (operands[opnum]);
else if (letter == 'a')
output_address (VOIDmode, operands[opnum]);
else if (letter == 'c')
{
if (letter2 == 'c' || CONSTANT_ADDRESS_P (operands[opnum]))
output_addr_const (asm_out_file, operands[opnum]);
else
output_operand (operands[opnum], 'c');
}
else if (letter == 'n')
{
if (CONST_INT_P (operands[opnum]))
fprintf (asm_out_file, HOST_WIDE_INT_PRINT_DEC,
- INTVAL (operands[opnum]));
else
{
putc ('-', asm_out_file);
output_addr_const (asm_out_file, operands[opnum]);
}
}
else
output_operand (operands[opnum], letter);
if (!opoutput[opnum]) // no bounds check here.
oporder[ops++] = opnum;
```