1  /* { dg-do compile  { target ia32 } } */
       2  /* { dg-options "-O2" } */
       3  
       4  #define ADVANCE_AND_DISPATCH() goto *addresses[*pc++]
       5  
       6  void
       7  Interpret(const unsigned char *pc)
       8  {
       9      static const void *const addresses[] = {
      10        &&l0, &&l1, &&l2
      11      };
      12  
      13  l0:
      14      ADVANCE_AND_DISPATCH();
      15  
      16  l1:
      17      ADVANCE_AND_DISPATCH();
      18  
      19  l2:
      20      return;
      21  }
      22  
      23  /* { dg-final { scan-assembler-not "jmp\[ \t\]*.%eax" } } */