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