blob: 842b73e772df8875982c2b7630739d1bacaba2a9 [file] [log] [blame]
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
int
foo (void)
{
int x;
asm goto ("": "=a" (x) : : : lab);
lab:
return x;
}
int
foo2 (void)
{
int x, y;
asm goto ("": "=a" (x), "=d" (y) : : : lab, lab2);
lab:
return x;
lab2:
return y;
}
int
foo3 (void)
{
int x, y, z;
asm goto ("": "=a" (x), "=d" (y), "=c" (z) : : : lab, lab2, lab3);
lab:
return x;
lab2:
return y;
lab3:
return z;
}
int
foo4 (void)
{
int x, y, z, v;
asm goto ("": "=a" (x), "=d" (y), "=c" (z) , "=b" (v) : : : lab, lab2, lab3, lab4);
lab:
return x;
lab2:
return y;
lab3:
return z;
lab4:
return v;
}
int
foo5 (void)
{
int x, y, z, v, w;
asm goto ("": "=a" (x), "=d" (y), "=c" (z), "=b" (v), "=S" (w) : : : lab, lab2, lab3, lab4, lab5);
lab:
return x;
lab2:
return y;
lab3:
return z;
lab4:
return v;
lab5:
return w;
}
int
foo6 (void)
{
int x = 0, y = 1, z = 2, v = 3, w = 4;
asm goto ("": "+a" (x), "+d" (y), "+c" (z), "+b" (v), "+S" (w) : : : lab, lab2, lab3, lab4, lab5);
lab:
return x;
lab2:
return y;
lab3:
return z;
lab4:
return v;
lab5:
return w;
}