https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116470
--- Comment #5 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- but one thing is funnny, in the bad asm both symbols.LM19367 and .LM19368 appear to be in the same section: .section .text.unlikely .align 2 .LCOLDB277: .text .LHOTB277: .align 2 .p2align 4 .globl _ZN7ipa_icf18sem_item_optimizer20varpool_removal_hookEP12varpool_nodePv .type _ZN7ipa_icf18sem_item_optimizer20varpool_removal_hookEP12varpool_nodePv, @function _ZN7ipa_icf18sem_item_optimizer20varpool_removal_hookEP12varpool_nodePv: .LFB7202: .LM19367: pushl %ebp .LCFI1137: movl %esp, %ebp .LCFI1138: [...] call _ZN8hash_setIP11symtab_nodeLb0E19default_hash_traitsIS1_EE3addERKS1_.isra.0 leave .LCFI1139: ret .section .text.unlikely .LM19368: .type _ZN7ipa_icf18sem_item_optimizer20varpool_removal_hookEP12varpool_nodePv.cold, @function _ZN7ipa_icf18sem_item_optimizer20varpool_removal_hookEP12varpool_nodePv.cold: .LFSB7202: .L4466: .LCFI1140: call _ZN7ipa_icf18sem_item_optimizer18remove_symtab_nodeEP11symtab_node.part.0 .LFE7202: What is going on here, is it possible that it is a bug in the assembler?