1 /* { dg-xfail-if "ptxas crashes" { nvptx-*-* } { "-O0" } { "" } } */
2 static signed char
foo(signed char si1,unsigned char si2)3 foo (signed char si1, unsigned char si2)
4 {
5   return (si1 ^ si2) & (-si2 ^ si2) ? : si1 - si2;
6 }
7 
8 struct S0
9 {
10 };
11 
12 unsigned char g_21;
13 
14 struct S0 g_34;
15 
16 void
bar(unsigned char p_20)17 bar (unsigned char p_20)
18 {
19   unsigned char *l_22 = &g_21;
20   unsigned char l_23 = 0;
21   struct S0 *l = &g_34;
22   goto lbl_42;
23   for (; l_23; l_23 = foo (l_23, 1))
24     {
25       for (p_20 = 0; 0; p_20 = foo (p_20, 1))
26 	lbl_42:;
27       (l == &g_34) ? 0 : "";
28 lbl_85:*l_22 = p_20;
29     }
30   goto lbl_85;
31 }
32