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