https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100373
--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> --- master @r12-438 doesn't fail compare debug (maybe some later change masks this) I think this will reproduce on a stage 1.. reduced: a; _Thread_local b; c() { long d = b; a = 0; b = 0; } cc1 -fpreprocessed gmp_op.i -O2 -gtoggle -quiet -o a.s cc1 -fpreprocessed gmp_op.i -O2 -quiet -o b.s ... a.o.stripped: (__TEXT,__text) section _c: 0000000000000000 subq $0x8, %rsp 0000000000000004 leaq (%rip), %rdi 000000000000000b callq 0x10 0000000000000010 movl $0x0, -0x4(%rip) 000000000000001a movl $0x0, (%rax) 0000000000000020 addq $0x8, %rsp 0000000000000024 retq b.o.stripped: (__TEXT,__text) section _c: 0000000000000000 subq $0x8, %rsp 0000000000000004 leaq (%rip), %rdi 000000000000000b movl $0x0, -0x4(%rip) 0000000000000015 callq 0x1a 000000000000001a movl $0x0, (%rax) 0000000000000020 addq $0x8, %rsp 0000000000000024 retq