1 /* PR 34808 */
2 /* { dg-do compile }
3 /* { dg-options "-fno-tree-dominator-opts" } */
4 
5 extern int flags;
6 
7 struct r { int code; int val;};
8 
9 void bar (void);
10 void baz (void);
11 
12 int
foo(struct r * home)13 foo (struct r *home)
14 {
15   int n = 0;
16   int regno = -1;
17 
18   if (home->code == 0)
19     regno = home->val;
20 
21   if (home->code == 1)
22       bar ();
23   else if (regno >= 0)
24     n = (regno == 16
25 	 ? 16
26 	 : (regno - (unsigned long long) (flags != 0 ? 63 : 15)
27 	    ? regno - 128
28 	    : -1));
29 
30   baz ();
31   return n;
32 }
33