+2012-11-01  Doug Evans  <dje@google.com>
+
+       * gdb.arch/amd64-pseudo.c (main): Mark registers that the testsuite
+       changes as clobbered (e.g., amd64-dword.exp) so gcc doesn't try to
+       use them.
+
 2012-10-31  Andrew Burgess  <aburgess@broadcom.com>
 
        PR cli/14772
 
        : "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
   asm ("nop"); /* second breakpoint here */
 
+  /* amd64-dword.exp writes eax-edi here.
+     Tell gcc they're clobbered so it doesn't try to keep "data" in
+     one of them.  */
+  asm (""
+       : /* no outputs */
+       : /* no inputs */
+       : "eax", "ebx", "ecx", "edx", "esi", "edi");
+
   asm ("mov %%eax, 0(%0)\n\t"
        "mov %%ebx, 4(%0)\n\t"
        "mov %%ecx, 8(%0)\n\t"
        : "eax", "ebx", "ecx", "edx", "esi", "edi");
   asm ("nop"); /* third breakpoint here */
 
+  /* amd64-dword.exp writes r8-r15 here.
+     Tell gcc they're clobbered so it doesn't try to keep "data" in
+     one of them.  */
+  asm (""
+       : /* no outputs */
+       : /* no inputs */
+       : "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
+
   asm ("mov %%r8d, 24(%0)\n\t"
        "mov %%r9d, 28(%0)\n\t"
        "mov %%r10d, 32(%0)\n\t"