aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/pr90547.c
blob: fcfe66953b02113d782599029d8e0a8008f1236a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* PR target/90547 */
/* { dg-do compile } */
/* { dg-options "-O2" } */

void
foo ()
{
  void *g[] = {&&a, &&b};

  for (unsigned c = 0x1F;; c >>= 1)
    {
      unsigned d = (long)("a"+1);
      long e = 8;

      while (e)
        {
          a: goto *g[c&d];
          b: e--;
        }
    }
}