https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- Reduced set of options to reproduce with 4.9.1 are -mno-red-zone -mcmodel=kernel -maccumulate-outgoing-args -mno-sse -g -Os -fno-omit-frame-pointer if you use -fno-var-tracking the bug goes away, similar if you update to the 4.9 branch head. If you use -fno-schedule-insns2 you see a similar pattern to the mentioned PR: subq $424, %rsp .LCFI427: movl %edi, -400(%rbp) movq %rdx, %rbx movl %ecx, -396(%rbp) movq %r8, -464(%rbp) .LVL1306: .loc 2 6489 0 movq (%rdx), %rax movq %rax, -440(%rbp) .LVL1307: .LBB2616: .loc 2 6493 0 movq $load_balance_mask, -384(%rbp) movq -384(%rbp), %rax .LVL1308: #APP # 6493 "kernel/sched/fair.c" 1 add %gs:this_cpu_off, %rax so that spill is right before the asm and we immediately re-load it into a register required by an asm constraint (stupid register allocator). *** This bug has been marked as a duplicate of bug 61801 ***