xref: /inferno-os/libinterp/optab.h (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
1*37da2899SCharles.Forsyth void	(*optab[256])(void) =
2*37da2899SCharles.Forsyth {
3*37da2899SCharles.Forsyth 	badop,
4*37da2899SCharles.Forsyth 	alt,
5*37da2899SCharles.Forsyth 	nbalt,
6*37da2899SCharles.Forsyth 	igoto,
7*37da2899SCharles.Forsyth 	call,
8*37da2899SCharles.Forsyth 	frame,
9*37da2899SCharles.Forsyth 	spawn,
10*37da2899SCharles.Forsyth 	runt,
11*37da2899SCharles.Forsyth 	iload,
12*37da2899SCharles.Forsyth 	mcall,
13*37da2899SCharles.Forsyth 	mspawn,
14*37da2899SCharles.Forsyth 	mframe,
15*37da2899SCharles.Forsyth 	ret,
16*37da2899SCharles.Forsyth 	jmp,
17*37da2899SCharles.Forsyth 	icase,
18*37da2899SCharles.Forsyth 	iexit,
19*37da2899SCharles.Forsyth 	new,
20*37da2899SCharles.Forsyth 	newa,
21*37da2899SCharles.Forsyth 	newcb,
22*37da2899SCharles.Forsyth 	newcw,
23*37da2899SCharles.Forsyth 	newcf,
24*37da2899SCharles.Forsyth 	newcp,
25*37da2899SCharles.Forsyth 	newcm,
26*37da2899SCharles.Forsyth 	newcmp,
27*37da2899SCharles.Forsyth 	isend,
28*37da2899SCharles.Forsyth 	irecv,
29*37da2899SCharles.Forsyth 	consb,
30*37da2899SCharles.Forsyth 	consw,
31*37da2899SCharles.Forsyth 	consp,
32*37da2899SCharles.Forsyth 	consf,
33*37da2899SCharles.Forsyth 	consm,
34*37da2899SCharles.Forsyth 	consmp,
35*37da2899SCharles.Forsyth 	headb,
36*37da2899SCharles.Forsyth 	headw,
37*37da2899SCharles.Forsyth 	headp,
38*37da2899SCharles.Forsyth 	headf,
39*37da2899SCharles.Forsyth 	headm,
40*37da2899SCharles.Forsyth 	headmp,
41*37da2899SCharles.Forsyth 	tail,
42*37da2899SCharles.Forsyth 	lea,
43*37da2899SCharles.Forsyth 	indx,
44*37da2899SCharles.Forsyth 	movp,
45*37da2899SCharles.Forsyth 	movm,
46*37da2899SCharles.Forsyth 	movmp,
47*37da2899SCharles.Forsyth 	movb,
48*37da2899SCharles.Forsyth 	movw,
49*37da2899SCharles.Forsyth 	movf,
50*37da2899SCharles.Forsyth 	cvtbw,
51*37da2899SCharles.Forsyth 	cvtwb,
52*37da2899SCharles.Forsyth 	cvtfw,
53*37da2899SCharles.Forsyth 	cvtwf,
54*37da2899SCharles.Forsyth 	cvtca,
55*37da2899SCharles.Forsyth 	cvtac,
56*37da2899SCharles.Forsyth 	cvtwc,
57*37da2899SCharles.Forsyth 	cvtcw,
58*37da2899SCharles.Forsyth 	cvtfc,
59*37da2899SCharles.Forsyth 	cvtcf,
60*37da2899SCharles.Forsyth 	addb,
61*37da2899SCharles.Forsyth 	addw,
62*37da2899SCharles.Forsyth 	addf,
63*37da2899SCharles.Forsyth 	subb,
64*37da2899SCharles.Forsyth 	subw,
65*37da2899SCharles.Forsyth 	subf,
66*37da2899SCharles.Forsyth 	mulb,
67*37da2899SCharles.Forsyth 	mulw,
68*37da2899SCharles.Forsyth 	mulf,
69*37da2899SCharles.Forsyth 	divb,
70*37da2899SCharles.Forsyth 	divw,
71*37da2899SCharles.Forsyth 	divf,
72*37da2899SCharles.Forsyth 	modw,
73*37da2899SCharles.Forsyth 	modb,
74*37da2899SCharles.Forsyth 	andb,
75*37da2899SCharles.Forsyth 	andw,
76*37da2899SCharles.Forsyth 	orb,
77*37da2899SCharles.Forsyth 	orw,
78*37da2899SCharles.Forsyth 	xorb,
79*37da2899SCharles.Forsyth 	xorw,
80*37da2899SCharles.Forsyth 	shlb,
81*37da2899SCharles.Forsyth 	shlw,
82*37da2899SCharles.Forsyth 	shrb,
83*37da2899SCharles.Forsyth 	shrw,
84*37da2899SCharles.Forsyth 	insc,
85*37da2899SCharles.Forsyth 	indc,
86*37da2899SCharles.Forsyth 	addc,
87*37da2899SCharles.Forsyth 	lenc,
88*37da2899SCharles.Forsyth 	lena,
89*37da2899SCharles.Forsyth 	lenl,
90*37da2899SCharles.Forsyth 	beqb,
91*37da2899SCharles.Forsyth 	bneb,
92*37da2899SCharles.Forsyth 	bltb,
93*37da2899SCharles.Forsyth 	bleb,
94*37da2899SCharles.Forsyth 	bgtb,
95*37da2899SCharles.Forsyth 	bgeb,
96*37da2899SCharles.Forsyth 	beqw,
97*37da2899SCharles.Forsyth 	bnew,
98*37da2899SCharles.Forsyth 	bltw,
99*37da2899SCharles.Forsyth 	blew,
100*37da2899SCharles.Forsyth 	bgtw,
101*37da2899SCharles.Forsyth 	bgew,
102*37da2899SCharles.Forsyth 	beqf,
103*37da2899SCharles.Forsyth 	bnef,
104*37da2899SCharles.Forsyth 	bltf,
105*37da2899SCharles.Forsyth 	blef,
106*37da2899SCharles.Forsyth 	bgtf,
107*37da2899SCharles.Forsyth 	bgef,
108*37da2899SCharles.Forsyth 	beqc,
109*37da2899SCharles.Forsyth 	bnec,
110*37da2899SCharles.Forsyth 	bltc,
111*37da2899SCharles.Forsyth 	blec,
112*37da2899SCharles.Forsyth 	bgtc,
113*37da2899SCharles.Forsyth 	bgec,
114*37da2899SCharles.Forsyth 	slicea,
115*37da2899SCharles.Forsyth 	slicela,
116*37da2899SCharles.Forsyth 	slicec,
117*37da2899SCharles.Forsyth 	indw,
118*37da2899SCharles.Forsyth 	indf,
119*37da2899SCharles.Forsyth 	indb,
120*37da2899SCharles.Forsyth 	negf,
121*37da2899SCharles.Forsyth 	movl,
122*37da2899SCharles.Forsyth 	addl,
123*37da2899SCharles.Forsyth 	subl,
124*37da2899SCharles.Forsyth 	divl,
125*37da2899SCharles.Forsyth 	modl,
126*37da2899SCharles.Forsyth 	mull,
127*37da2899SCharles.Forsyth 	andl,
128*37da2899SCharles.Forsyth 	orl,
129*37da2899SCharles.Forsyth 	xorl,
130*37da2899SCharles.Forsyth 	shll,
131*37da2899SCharles.Forsyth 	shrl,
132*37da2899SCharles.Forsyth 	bnel,
133*37da2899SCharles.Forsyth 	bltl,
134*37da2899SCharles.Forsyth 	blel,
135*37da2899SCharles.Forsyth 	bgtl,
136*37da2899SCharles.Forsyth 	bgel,
137*37da2899SCharles.Forsyth 	beql,
138*37da2899SCharles.Forsyth 	cvtlf,
139*37da2899SCharles.Forsyth 	cvtfl,
140*37da2899SCharles.Forsyth 	cvtlw,
141*37da2899SCharles.Forsyth 	cvtwl,
142*37da2899SCharles.Forsyth 	cvtlc,
143*37da2899SCharles.Forsyth 	cvtcl,
144*37da2899SCharles.Forsyth 	headl,
145*37da2899SCharles.Forsyth 	consl,
146*37da2899SCharles.Forsyth 	newcl,
147*37da2899SCharles.Forsyth 	casec,
148*37da2899SCharles.Forsyth 	indl,
149*37da2899SCharles.Forsyth 	movpc,
150*37da2899SCharles.Forsyth 	tcmp,
151*37da2899SCharles.Forsyth 	mnewz,
152*37da2899SCharles.Forsyth 	cvtrf,
153*37da2899SCharles.Forsyth 	cvtfr,
154*37da2899SCharles.Forsyth 	cvtws,
155*37da2899SCharles.Forsyth 	cvtsw,
156*37da2899SCharles.Forsyth 	lsrw,
157*37da2899SCharles.Forsyth 	lsrl,
158*37da2899SCharles.Forsyth 	eclr,		/* unused */
159*37da2899SCharles.Forsyth 	newz,
160*37da2899SCharles.Forsyth 	newaz,
161*37da2899SCharles.Forsyth 	iraise,
162*37da2899SCharles.Forsyth 	casel,
163*37da2899SCharles.Forsyth 	mulx,
164*37da2899SCharles.Forsyth 	divx,
165*37da2899SCharles.Forsyth 	cvtxx,
166*37da2899SCharles.Forsyth 	mulx0,
167*37da2899SCharles.Forsyth 	divx0,
168*37da2899SCharles.Forsyth 	cvtxx0,
169*37da2899SCharles.Forsyth 	mulx1,
170*37da2899SCharles.Forsyth 	divx1,
171*37da2899SCharles.Forsyth 	cvtxx1,
172*37da2899SCharles.Forsyth 	cvtfx,
173*37da2899SCharles.Forsyth 	cvtxf,
174*37da2899SCharles.Forsyth 	iexpw,
175*37da2899SCharles.Forsyth 	iexpl,
176*37da2899SCharles.Forsyth 	iexpf,
177*37da2899SCharles.Forsyth 	self,
178*37da2899SCharles.Forsyth 	/* fix maxdis if you add opcodes */
179*37da2899SCharles.Forsyth };
180