https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105214
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Status|NEW |ASSIGNED --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 52782 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52782&action=edit gcc12-pr105214.patch Untested fix. Another option would be not to call emit_jump (label2); but instead emit_jump_insn (targetm.gen_jump (label2)); emit_barrier (); Either we need to do pending stack adjustment before the conditional jump, or can't do it on the unconditional jump (in the function it basically emits if (cond) { ... } else { ... }).