1 /* { dg-skip-if "ptxas times out" { nvptx-*-* } { "-Os" } { "" } } */
2 
3 __extension__ typedef unsigned long long int uint64_t;
4 
5 static int
sub(int a,int b)6 sub (int a, int b)
7 {
8   return a - b;
9 }
10 
11 static uint64_t
add(uint64_t a,uint64_t b)12 add (uint64_t a, uint64_t b)
13 {
14   return a + b;
15 }
16 
17 int *ptr;
18 
19 int
foo(uint64_t arg1,int * arg2)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 }
31