1/* { dg-do compile } */
2/* { dg-options "-O3" } */
3
4int
5foo( long * np, int * dp, int qn)
6{
7  int i;
8  int n0;
9  int d0;
10  int a;
11  int b;
12  int c;
13  int d;
14
15  a = 1;
16  b = 0;
17  c = 1;
18  d = 1;
19
20  d0 = dp[0];
21
22  for (i = qn; i >= 0; i--) {
23    if (bar((c == 0)) && (np[1] == d0)) {
24      car(np - 3, dp, 3);
25    } else {
26      __asm__ ("xma.hu %0 = %2, %3, f0\n\txma.l %1 = %2, %3, f0" : "=&f" ((a)),
27"=f" (b) : "f" ((c)), "f" ((d)));
28      n0 = np[0];
29      if (n0 < d0)
30        c = 1;
31      else
32        c = 0;
33
34    }
35    *--np = a;
36  }
37
38  return 0;
39}
40