1 /* { dg-do compile  { target ia32 } } */
2 /* { dg-options "-O2" } */
3 
4 #define ADVANCE_AND_DISPATCH() goto *addresses[*pc++]
5 
6 void
Interpret(const unsigned char * pc)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" } } */
24