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