blob: 10dbd4e6ce685f49ab1f1cf2dd75a529c6dcd455 [file] [log] [blame]
/* { 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;
}