1/* PR 34808 */
2/* { dg-do compile }
3/* { dg-options "-fno-tree-dominator-opts" } */
4
5extern int flags;
6
7struct r { int code; int val;};
8
9void bar (void);
10void baz (void);
11
12int
13foo (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