https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116953
Georg-Johann Lay <gjl at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-10-21 Ever confirmed|0 |1 Resolution|FIXED |--- Status|RESOLVED |REOPENED --- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- Reopened: The applied fix is incomplete because avr_out_sbxx_branch() is returning insn output template code that refers to recod_data by means of %-operands: if (long_jump) return ("rjmp .+4" CR_TAB "jmp %x3"); if (!reverse) return "rjmp %x3"; return ""; } Unfortunately I don't have a test case; I stumbled upon this when working on some feature patch. One possible fix would be to re-extract insn by means of calling extract_insn() prior to the sequence from above. A different approach is to output_asm_insn() instead of returning template code.