http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48597
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-04-14 12:38:16 UTC --- void foo (void) { register long s __asm ("r13"); register long t __asm ("r14"); register long u __asm ("r15"); asm volatile ("xorq %%r12, %%r12" : : : "r12"); asm volatile ("xorq %0, %0" : "=r" (s)); asm volatile ("xorq %0, %0" : "=r" (t)); asm volatile ("xorq %0, %0" : "=r" (u)); } Alternative testcase to also test if queued register saves are found in inline asm clobbers.