blob: ad3a5b114bc965c5e5320982b7b9c63fad8837ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/* { 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;
}
|