2013-04-24 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / gcc.target / ia64 / pr43603.c
blobad3a5b114bc965c5e5320982b7b9c63fad8837ac
1 /* { dg-do compile } */
2 /* { dg-options "-O3" } */
4 int
5 foo( long * np, int * dp, int qn)
7 int i;
8 int n0;
9 int d0;
10 int a;
11 int b;
12 int c;
13 int d;
15 a = 1;
16 b = 0;
17 c = 1;
18 d = 1;
20 d0 = dp[0];
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;
35 *--np = a;
38 return 0;