/* { dg-do compile } */ /* { dg-options "-O3" } */ 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; }