https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116600
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also|https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=97954 | --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The problem is here: ``` (jump_insn 25 24 68 4 (asm_operands/v ("") ("") 0 [] [] [ (label_ref:DI 29) ] /app/example.cpp:10) "/app/example.cpp":10:5 -1 (nil) -> 29) (note 68 25 67 5 [bb 5] NOTE_INSN_BASIC_BLOCK) (insn/f 67 68 69 5 (set (reg:DI 19 x19) (mem/c:DI (plus:DI (reg/f:DI 31 sp) (const_int 16 [0x10])) [2 S8 A8])) -1 (expr_list:REG_CFA_RESTORE (reg:DI 19 x19) (nil))) (jump_insn 69 67 70 5 (set (pc) (label_ref 29)) -1 (nil) -> 29) ``` That CFA restore is in the wrong location. This is shrink wrapping related. Workaround is `-fno-shrink-wrap` .