blob: 92fc2c6981ba5c7f7f7519137b9e6488ee6c5399 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3" } */
int bar (int);
void car (long *, int *, int);
int
foo( long * np, int * dp, int qn)
{
int i;
int n0;
int d0;
int a;
int b;
int c;
int d;
a = 1;
b = 0;
c = 1;
d = 1;
d0 = dp[0];
for (i = qn; i >= 0; i--) {
if (bar((c == 0)) && (np[1] == d0)) {
car(np - 3, dp, 3);
} else {
__asm__ ("xma.hu %0 = %2, %3, f0\n\txma.l %1 = %2, %3, f0" : "=&f" ((a)),
"=f" (b) : "f" ((c)), "f" ((d)));
n0 = np[0];
if (n0 < d0)
c = 1;
else
c = 0;
}
*--np = a;
}
return 0;
}