https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103006
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |rtl-optimization Keywords| |ra --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This looks like a Register allocator issue. IN GCC 6 we have: .L8: movq %rsp, b(%rip) movq %rsp, 48(%rsp) call _Z2ffv movq 112(%rsp), %rax addq $160, %rsp .cfi_def_cfa_offset 8 ret While in GCC 7+ we get: movl $2, f(%rip) movl $6, e(%rip) movq %rsp, b(%rip) movq %rsp, 48(%rsp) call _Z2ffv movl 48(%rsp), %eax addq $96, %rsp .cfi_def_cfa_offset 8 ret