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

struct {
  long *sp;
  long *csp;
} neko_interp_loop_vm;
int neko_interp_loop_vm_2;
void neko_interp_loop()
{
  void *pc[] = {&&LabelAccGlobal, &&LabelPhysCompare, &&LabelTailCall,
      &&LabelLoop, &&LabelMakeArray2};
  long *sp, *csp = neko_interp_loop_vm.csp;
LabelAccGlobal:
  neko_interp_loop_vm.sp = sp;
  neko_interp_loop_vm.csp = csp;
  goto * 0;
LabelTailCall:
  csp = sp -= neko_interp_loop_vm_2;
LabelMakeArray2:
LabelPhysCompare:
LabelLoop:
  goto * 0;
}