1  /* PR target/85593 */
       2  /* { dg-do run { target { *-*-linux* && lp64 } } } */
       3  /* { dg-options "-O2" } */
       4  
       5  __attribute__((naked)) void
       6  bar (void)
       7  {
       8    asm ("xorl %eax, %eax\n\t"
       9         "xorl %edx, %edx\n\t"
      10         "xorl %ecx, %ecx\n\t"
      11         "xorl %esi, %esi\n\t"
      12         "xorl %edi, %edi\n\t"
      13         "xorl %r8d, %r8d\n\t"
      14         "xorl %r9d, %r9d\n\t"
      15         "xorl %r10d, %r10d\n\t"
      16         "xorl %r11d, %r11d\n\t"
      17         "ret");
      18  }
      19  
      20  int
      21  main ()
      22  {
      23    int a = 42;
      24    asm ("" : "+r" (a));
      25    bar ();
      26    asm ("" : "+r" (a));
      27    if (a != 42)
      28      __builtin_abort ();
      29    return 0;
      30  }