blob: bddd8462c698adb15c50913b6ceffadc6f64a876 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O1" } */
char temp[16];
extern int foo1 (void);
void foo (void)
{
int i;
int len;
while (1)
{
len = foo1 ();
register int a asm ("r0") = 5;
register char *b asm ("r1") = temp;
register int c asm ("r2") = len;
asm volatile ("mov %[r0], %[r0]\n mov %[r1], %[r1]\n mov %[r2], %[r2]\n"
: "+m"(*b)
: [r0]"r"(a), [r1]"r"(b), [r2]"r"(c));
for (i = 0; i < len; i++)
{
if (temp[i] == 10)
return;
}
}
}
/* { dg-final { scan-assembler "\[\\t \]+mov\ r1,\ r1" } } */