https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91627
--- Comment #2 from John David Anglin <danglin at gcc dot gnu.org> --- As can be seen foo() is not inlined. (gdb) disass 0x4000000000002d34 Dump of assembler code for function foo: 0x4000000000002d30 <+0>: copy rp,ret0 0x4000000000002d34 <+4>: std rp,-10(sp) 0x4000000000002d38 <+8>: ldd -10(sp),rp 0x4000000000002d3c <+12>: bve,n (rp) End of assembler dump. Why is it okay to inline foo?