OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [ia64/] [pr43603.c] - Blame information for rev 848

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-O3" } */
3
 
4
int
5
foo( 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
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.