1  /* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-Os" } { "" } } */
       2  
       3  __extension__ typedef unsigned long long int uint64_t;
       4  
       5  static int
       6  sub (int a, int b)
       7  {
       8    return a - b;
       9  }
      10  
      11  static uint64_t
      12  add (uint64_t a, uint64_t b)
      13  {
      14    return a + b;
      15  }
      16  
      17  int *ptr;
      18  
      19  int
      20  foo (uint64_t arg1, int *arg2)
      21  {
      22    int j;
      23    for (; j < 1; j++)
      24      {
      25        *arg2 |= sub ( sub (sub (j || 1 ^ 0x1, 1), arg1 < 0x1 <=
      26  						   sub (1, *ptr & j)),
      27  		     (sub ( j != 1 || sub (j && j, 1) >= 0,
      28  		       add (!j > arg1, 0x35DLL))));
      29      }
      30  }