blob: 092f9cbe6801ebe75e1f22e758302853b02ba19b [file] [log] [blame]
/* PR target/85593 */
/* { dg-do run { target { { i?86-*-linux* x86_64-*-linux* } && lp64 } } } */
/* { dg-options "-O2" } */
__attribute__((naked)) void
bar (void)
{
asm ("xorl %eax, %eax\n\t"
"xorl %edx, %edx\n\t"
"xorl %ecx, %ecx\n\t"
"xorl %esi, %esi\n\t"
"xorl %edi, %edi\n\t"
"xorl %r8d, %r8d\n\t"
"xorl %r9d, %r9d\n\t"
"xorl %r10d, %r10d\n\t"
"xorl %r11d, %r11d\n\t"
"ret");
}
int
main ()
{
int a = 42;
asm ("" : "+r" (a));
bar ();
asm ("" : "+r" (a));
if (a != 42)
__builtin_abort ();
return 0;
}