https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111806
--- Comment #1 from AK <hiraditya at msn dot com> --- It seems like we could 'sink' the 4 common instructions (of .L2) at -O3 L2: add rsp, 48 xor eax, eax pop rbx ret Or is it due to some kind of tail duplication?