1 /* PR tree-optimization/46107 */
2 /* { dg-require-effective-target indirect_jumps } */
3 /* { dg-require-effective-target label_values } */
4 
5 int foo (void) __attribute__ ((noreturn));
6 
7 void
bar(int x,int * y,int z)8 bar (int x, int *y, int z)
9 {
10   static void *j[] = { &&l1, &&l2 };
11 l1:
12   if (*y)
13     goto *j[z];
14   foo ();
15 l2:
16   *y ^= (x & 1) ? -1 : 0;
17   goto *j[x];
18 }
19