http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58679
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- The compile failure with the testcase from Comment #0 has gone latent, but the problem looks similar to PR 58792 [1]. On a related note, the allocator introduces extra move for pr30185.c testcase that results in: foo: movq %rsi, %rax cqto idivq %rcx movq %rax, %rsi <---- here (*) xorl %eax, %eax movq %rsi, %rdx ret "movq %rax, %rdx" should be emitted at (*). [1] http://gcc.gnu.org/ml/gcc-patches/2013-10/msg01606.html