blob: fba9550e9ef0328842cdb1feb28a0b5cdd2330ec [file] [log] [blame]
/* PR debug/45015 */
/* { dg-do compile } */
/* { dg-options "-O2 -g" } */
unsigned int
foo (unsigned int *x, const unsigned int *y, int z, unsigned int w)
{
unsigned int a, b, c, s;
int j;
j = -z;
x -= j;
y -= j;
a = 0;
do
{
__asm__ ("move.l %2, %0; move.l %3, %1" : "=d" (b), "=d" (c) : "g<>" (y[j]), "d" (w));
c += a;
a = (c < a) + b;
s = x[j];
c = s + c;
a += (c < s);
x[j] = c;
}
while (++j != 0);
return a;
}