gdb-3.5
[deliverable/binutils-gdb.git] / gdb / convex-opcode.h
CommitLineData
4187119d 1/* Include information for instruction dissasembly on the Convex.
2 Copyright (C) 1989, Free Software Foundation.
3
4This file is part of GDB.
5
6GDB is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 1, or (at your option)
9any later version.
10
11GDB is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GDB; see the file COPYING. If not, write to
18the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19
20#define xxx 0
21#define rrr 1
22#define rr 2
23#define rxr 3
24#define r 4
25#define nops 5
26#define nr 6
27#define pcrel 7
28#define lr 8
29#define rxl 9
30#define rlr 10
31#define rrl 11
32#define iml 12
33#define imr 13
34#define a1r 14
35#define a1l 15
36#define a2r 16
37#define a2l 17
38#define a3 18
39#define a4 19
40#define a5 20
41#define V 1
42#define S 2
43#define VM 3
44#define A 4
45#define VL 5
46#define VS 6
47#define VLS 7
48#define PSW 8
49#define PC 9
50#define ITR 10
51#define VV 11
52#define ITSR 12
53#define TOC 13
54#define CIR 14
55#define TTR 15
56#define VMU 16
57#define VML 17
58#define ICR 18
59#define TCPU 19
60#define CPUID 20
61#define TID 21
62char *op[] = {
63 "",
64 "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7",
65 "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7",
66 "vm",
67 "sp\0a1\0a2\0a3\0a4\0a5\0ap\0fp",
68 "vl",
69 "vs",
70 "vls",
71 "psw",
72 "pc",
73 "itr",
74 "vv",
75 "itsr",
76 "toc",
77 "cir",
78 "ttr",
79 "vmu",
80 "vml",
81 "icr",
82 "tcpu",
83 "cpuid",
84 "tid",
85};
86struct formstr format0[] = {
87 {0,0,rrr,V,S,S}, /* mov */
88 {0,0,rrr,S,S,V}, /* mov */
89 {1,1,rrr,V,V,V}, /* merg.t */
90 {2,1,rrr,V,V,V}, /* mask.t */
91 {1,2,rrr,V,S,V}, /* merg.f */
92 {2,2,rrr,V,S,V}, /* mask.f */
93 {1,1,rrr,V,S,V}, /* merg.t */
94 {2,1,rrr,V,S,V}, /* mask.t */
95 {3,3,rrr,V,V,V}, /* mul.s */
96 {3,4,rrr,V,V,V}, /* mul.d */
97 {4,3,rrr,V,V,V}, /* div.s */
98 {4,4,rrr,V,V,V}, /* div.d */
99 {3,3,rrr,V,S,V}, /* mul.s */
100 {3,4,rrr,V,S,V}, /* mul.d */
101 {4,3,rrr,V,S,V}, /* div.s */
102 {4,4,rrr,V,S,V}, /* div.d */
103 {5,0,rrr,V,V,V}, /* and */
104 {6,0,rrr,V,V,V}, /* or */
105 {7,0,rrr,V,V,V}, /* xor */
106 {8,0,rrr,V,V,V}, /* shf */
107 {5,0,rrr,V,S,V}, /* and */
108 {6,0,rrr,V,S,V}, /* or */
109 {7,0,rrr,V,S,V}, /* xor */
110 {8,0,rrr,V,S,V}, /* shf */
111 {9,3,rrr,V,V,V}, /* add.s */
112 {9,4,rrr,V,V,V}, /* add.d */
113 {10,3,rrr,V,V,V}, /* sub.s */
114 {10,4,rrr,V,V,V}, /* sub.d */
115 {9,3,rrr,V,S,V}, /* add.s */
116 {9,4,rrr,V,S,V}, /* add.d */
117 {10,3,rrr,V,S,V}, /* sub.s */
118 {10,4,rrr,V,S,V}, /* sub.d */
119 {9,5,rrr,V,V,V}, /* add.b */
120 {9,6,rrr,V,V,V}, /* add.h */
121 {9,7,rrr,V,V,V}, /* add.w */
122 {9,8,rrr,V,V,V}, /* add.l */
123 {9,5,rrr,V,S,V}, /* add.b */
124 {9,6,rrr,V,S,V}, /* add.h */
125 {9,7,rrr,V,S,V}, /* add.w */
126 {9,8,rrr,V,S,V}, /* add.l */
127 {10,5,rrr,V,V,V}, /* sub.b */
128 {10,6,rrr,V,V,V}, /* sub.h */
129 {10,7,rrr,V,V,V}, /* sub.w */
130 {10,8,rrr,V,V,V}, /* sub.l */
131 {10,5,rrr,V,S,V}, /* sub.b */
132 {10,6,rrr,V,S,V}, /* sub.h */
133 {10,7,rrr,V,S,V}, /* sub.w */
134 {10,8,rrr,V,S,V}, /* sub.l */
135 {3,5,rrr,V,V,V}, /* mul.b */
136 {3,6,rrr,V,V,V}, /* mul.h */
137 {3,7,rrr,V,V,V}, /* mul.w */
138 {3,8,rrr,V,V,V}, /* mul.l */
139 {3,5,rrr,V,S,V}, /* mul.b */
140 {3,6,rrr,V,S,V}, /* mul.h */
141 {3,7,rrr,V,S,V}, /* mul.w */
142 {3,8,rrr,V,S,V}, /* mul.l */
143 {4,5,rrr,V,V,V}, /* div.b */
144 {4,6,rrr,V,V,V}, /* div.h */
145 {4,7,rrr,V,V,V}, /* div.w */
146 {4,8,rrr,V,V,V}, /* div.l */
147 {4,5,rrr,V,S,V}, /* div.b */
148 {4,6,rrr,V,S,V}, /* div.h */
149 {4,7,rrr,V,S,V}, /* div.w */
150 {4,8,rrr,V,S,V}, /* div.l */
151};
152struct formstr format1[] = {
153 {11,0,xxx,0,0,0}, /* exit */
154 {12,0,a3,0,0,0}, /* jmp */
155 {13,2,a3,0,0,0}, /* jmpi.f */
156 {13,1,a3,0,0,0}, /* jmpi.t */
157 {14,2,a3,0,0,0}, /* jmpa.f */
158 {14,1,a3,0,0,0}, /* jmpa.t */
159 {15,2,a3,0,0,0}, /* jmps.f */
160 {15,1,a3,0,0,0}, /* jmps.t */
161 {16,0,a3,0,0,0}, /* tac */
162 {17,0,a1r,A,0,0}, /* ldea */
163 {18,8,a1l,VLS,0,0}, /* ld.l */
164 {18,9,a1l,VM,0,0}, /* ld.x */
165 {19,0,a3,0,0,0}, /* tas */
166 {20,0,a3,0,0,0}, /* pshea */
167 {21,8,a2l,VLS,0,0}, /* st.l */
168 {21,9,a2l,VM,0,0}, /* st.x */
169 {0,0,0,0,0,0},
170 {0,0,0,0,0,0},
171 {0,0,0,0,0,0},
172 {0,0,0,0,0,0},
173 {0,0,0,0,0,0},
174 {0,0,0,0,0,0},
175 {0,0,0,0,0,0},
176 {0,0,0,0,0,0},
177 {0,0,0,0,0,0},
178 {0,0,0,0,0,0},
179 {0,0,0,0,0,0},
180 {0,0,0,0,0,0},
181 {0,0,0,0,0,0},
182 {0,0,0,0,0,0},
183 {0,0,0,0,0,0},
184 {0,0,0,0,0,0},
185 {22,0,a3,0,0,0}, /* call */
186 {23,0,a3,0,0,0}, /* calls */
187 {24,0,a3,0,0,0}, /* callq */
188 {25,0,a1r,A,0,0}, /* pfork */
189 {26,5,a2r,S,0,0}, /* ste.b */
190 {26,6,a2r,S,0,0}, /* ste.h */
191 {26,7,a2r,S,0,0}, /* ste.w */
192 {26,8,a2r,S,0,0}, /* ste.l */
193 {18,5,a1r,A,0,0}, /* ld.b */
194 {18,6,a1r,A,0,0}, /* ld.h */
195 {18,7,a1r,A,0,0}, /* ld.w */
196 {27,7,a1r,A,0,0}, /* incr.w */
197 {21,5,a2r,A,0,0}, /* st.b */
198 {21,6,a2r,A,0,0}, /* st.h */
199 {21,7,a2r,A,0,0}, /* st.w */
200 {27,8,a1r,S,0,0}, /* incr.l */
201 {18,5,a1r,S,0,0}, /* ld.b */
202 {18,6,a1r,S,0,0}, /* ld.h */
203 {18,7,a1r,S,0,0}, /* ld.w */
204 {18,8,a1r,S,0,0}, /* ld.l */
205 {21,5,a2r,S,0,0}, /* st.b */
206 {21,6,a2r,S,0,0}, /* st.h */
207 {21,7,a2r,S,0,0}, /* st.w */
208 {21,8,a2r,S,0,0}, /* st.l */
209 {18,5,a1r,V,0,0}, /* ld.b */
210 {18,6,a1r,V,0,0}, /* ld.h */
211 {18,7,a1r,V,0,0}, /* ld.w */
212 {18,8,a1r,V,0,0}, /* ld.l */
213 {21,5,a2r,V,0,0}, /* st.b */
214 {21,6,a2r,V,0,0}, /* st.h */
215 {21,7,a2r,V,0,0}, /* st.w */
216 {21,8,a2r,V,0,0}, /* st.l */
217};
218struct formstr format2[] = {
219 {28,5,rr,A,A,0}, /* cvtw.b */
220 {28,6,rr,A,A,0}, /* cvtw.h */
221 {29,7,rr,A,A,0}, /* cvtb.w */
222 {30,7,rr,A,A,0}, /* cvth.w */
223 {28,5,rr,S,S,0}, /* cvtw.b */
224 {28,6,rr,S,S,0}, /* cvtw.h */
225 {29,7,rr,S,S,0}, /* cvtb.w */
226 {30,7,rr,S,S,0}, /* cvth.w */
227 {28,3,rr,S,S,0}, /* cvtw.s */
228 {31,7,rr,S,S,0}, /* cvts.w */
229 {32,3,rr,S,S,0}, /* cvtd.s */
230 {31,4,rr,S,S,0}, /* cvts.d */
231 {31,8,rr,S,S,0}, /* cvts.l */
232 {32,8,rr,S,S,0}, /* cvtd.l */
233 {33,3,rr,S,S,0}, /* cvtl.s */
234 {33,4,rr,S,S,0}, /* cvtl.d */
235 {34,0,rr,A,A,0}, /* ldpa */
236 {8,0,nr,A,0,0}, /* shf */
237 {18,6,nr,A,0,0}, /* ld.h */
238 {18,7,nr,A,0,0}, /* ld.w */
239 {33,7,rr,S,S,0}, /* cvtl.w */
240 {28,8,rr,S,S,0}, /* cvtw.l */
241 {35,1,rr,S,S,0}, /* plc.t */
242 {36,0,rr,S,S,0}, /* tzc */
243 {37,6,rr,A,A,0}, /* eq.h */
244 {37,7,rr,A,A,0}, /* eq.w */
245 {37,6,nr,A,0,0}, /* eq.h */
246 {37,7,nr,A,0,0}, /* eq.w */
247 {37,5,rr,S,S,0}, /* eq.b */
248 {37,6,rr,S,S,0}, /* eq.h */
249 {37,7,rr,S,S,0}, /* eq.w */
250 {37,8,rr,S,S,0}, /* eq.l */
251 {38,6,rr,A,A,0}, /* leu.h */
252 {38,7,rr,A,A,0}, /* leu.w */
253 {38,6,nr,A,0,0}, /* leu.h */
254 {38,7,nr,A,0,0}, /* leu.w */
255 {38,5,rr,S,S,0}, /* leu.b */
256 {38,6,rr,S,S,0}, /* leu.h */
257 {38,7,rr,S,S,0}, /* leu.w */
258 {38,8,rr,S,S,0}, /* leu.l */
259 {39,6,rr,A,A,0}, /* ltu.h */
260 {39,7,rr,A,A,0}, /* ltu.w */
261 {39,6,nr,A,0,0}, /* ltu.h */
262 {39,7,nr,A,0,0}, /* ltu.w */
263 {39,5,rr,S,S,0}, /* ltu.b */
264 {39,6,rr,S,S,0}, /* ltu.h */
265 {39,7,rr,S,S,0}, /* ltu.w */
266 {39,8,rr,S,S,0}, /* ltu.l */
267 {40,6,rr,A,A,0}, /* le.h */
268 {40,7,rr,A,A,0}, /* le.w */
269 {40,6,nr,A,0,0}, /* le.h */
270 {40,7,nr,A,0,0}, /* le.w */
271 {40,5,rr,S,S,0}, /* le.b */
272 {40,6,rr,S,S,0}, /* le.h */
273 {40,7,rr,S,S,0}, /* le.w */
274 {40,8,rr,S,S,0}, /* le.l */
275 {41,6,rr,A,A,0}, /* lt.h */
276 {41,7,rr,A,A,0}, /* lt.w */
277 {41,6,nr,A,0,0}, /* lt.h */
278 {41,7,nr,A,0,0}, /* lt.w */
279 {41,5,rr,S,S,0}, /* lt.b */
280 {41,6,rr,S,S,0}, /* lt.h */
281 {41,7,rr,S,S,0}, /* lt.w */
282 {41,8,rr,S,S,0}, /* lt.l */
283 {9,7,rr,S,A,0}, /* add.w */
284 {8,0,rr,A,A,0}, /* shf */
285 {0,0,rr,A,A,0}, /* mov */
286 {0,0,rr,S,A,0}, /* mov */
287 {0,7,rr,S,S,0}, /* mov.w */
288 {8,0,rr,S,S,0}, /* shf */
289 {0,0,rr,S,S,0}, /* mov */
290 {0,0,rr,A,S,0}, /* mov */
291 {5,0,rr,A,A,0}, /* and */
292 {6,0,rr,A,A,0}, /* or */
293 {7,0,rr,A,A,0}, /* xor */
294 {42,0,rr,A,A,0}, /* not */
295 {5,0,rr,S,S,0}, /* and */
296 {6,0,rr,S,S,0}, /* or */
297 {7,0,rr,S,S,0}, /* xor */
298 {42,0,rr,S,S,0}, /* not */
299 {40,3,rr,S,S,0}, /* le.s */
300 {40,4,rr,S,S,0}, /* le.d */
301 {41,3,rr,S,S,0}, /* lt.s */
302 {41,4,rr,S,S,0}, /* lt.d */
303 {9,3,rr,S,S,0}, /* add.s */
304 {9,4,rr,S,S,0}, /* add.d */
305 {10,3,rr,S,S,0}, /* sub.s */
306 {10,4,rr,S,S,0}, /* sub.d */
307 {37,3,rr,S,S,0}, /* eq.s */
308 {37,4,rr,S,S,0}, /* eq.d */
309 {43,6,rr,A,A,0}, /* neg.h */
310 {43,7,rr,A,A,0}, /* neg.w */
311 {3,3,rr,S,S,0}, /* mul.s */
312 {3,4,rr,S,S,0}, /* mul.d */
313 {4,3,rr,S,S,0}, /* div.s */
314 {4,4,rr,S,S,0}, /* div.d */
315 {9,6,rr,A,A,0}, /* add.h */
316 {9,7,rr,A,A,0}, /* add.w */
317 {9,6,nr,A,0,0}, /* add.h */
318 {9,7,nr,A,0,0}, /* add.w */
319 {9,5,rr,S,S,0}, /* add.b */
320 {9,6,rr,S,S,0}, /* add.h */
321 {9,7,rr,S,S,0}, /* add.w */
322 {9,8,rr,S,S,0}, /* add.l */
323 {10,6,rr,A,A,0}, /* sub.h */
324 {10,7,rr,A,A,0}, /* sub.w */
325 {10,6,nr,A,0,0}, /* sub.h */
326 {10,7,nr,A,0,0}, /* sub.w */
327 {10,5,rr,S,S,0}, /* sub.b */
328 {10,6,rr,S,S,0}, /* sub.h */
329 {10,7,rr,S,S,0}, /* sub.w */
330 {10,8,rr,S,S,0}, /* sub.l */
331 {3,6,rr,A,A,0}, /* mul.h */
332 {3,7,rr,A,A,0}, /* mul.w */
333 {3,6,nr,A,0,0}, /* mul.h */
334 {3,7,nr,A,0,0}, /* mul.w */
335 {3,5,rr,S,S,0}, /* mul.b */
336 {3,6,rr,S,S,0}, /* mul.h */
337 {3,7,rr,S,S,0}, /* mul.w */
338 {3,8,rr,S,S,0}, /* mul.l */
339 {4,6,rr,A,A,0}, /* div.h */
340 {4,7,rr,A,A,0}, /* div.w */
341 {4,6,nr,A,0,0}, /* div.h */
342 {4,7,nr,A,0,0}, /* div.w */
343 {4,5,rr,S,S,0}, /* div.b */
344 {4,6,rr,S,S,0}, /* div.h */
345 {4,7,rr,S,S,0}, /* div.w */
346 {4,8,rr,S,S,0}, /* div.l */
347};
348struct formstr format3[] = {
349 {32,3,rr,V,V,0}, /* cvtd.s */
350 {31,4,rr,V,V,0}, /* cvts.d */
351 {33,4,rr,V,V,0}, /* cvtl.d */
352 {32,8,rr,V,V,0}, /* cvtd.l */
353 {0,0,rrl,S,S,VM}, /* mov */
354 {0,0,rlr,S,VM,S}, /* mov */
355 {0,0,0,0,0,0},
356 {44,0,rr,S,S,0}, /* lop */
357 {36,0,rr,V,V,0}, /* tzc */
358 {44,0,rr,V,V,0}, /* lop */
359 {0,0,0,0,0,0},
360 {42,0,rr,V,V,0}, /* not */
361 {8,0,rr,S,V,0}, /* shf */
362 {35,1,rr,V,V,0}, /* plc.t */
363 {45,2,rr,V,V,0}, /* cprs.f */
364 {45,1,rr,V,V,0}, /* cprs.t */
365 {37,3,rr,V,V,0}, /* eq.s */
366 {37,4,rr,V,V,0}, /* eq.d */
367 {43,3,rr,V,V,0}, /* neg.s */
368 {43,4,rr,V,V,0}, /* neg.d */
369 {37,3,rr,S,V,0}, /* eq.s */
370 {37,4,rr,S,V,0}, /* eq.d */
371 {43,3,rr,S,S,0}, /* neg.s */
372 {43,4,rr,S,S,0}, /* neg.d */
373 {40,3,rr,V,V,0}, /* le.s */
374 {40,4,rr,V,V,0}, /* le.d */
375 {41,3,rr,V,V,0}, /* lt.s */
376 {41,4,rr,V,V,0}, /* lt.d */
377 {40,3,rr,S,V,0}, /* le.s */
378 {40,4,rr,S,V,0}, /* le.d */
379 {41,3,rr,S,V,0}, /* lt.s */
380 {41,4,rr,S,V,0}, /* lt.d */
381 {37,5,rr,V,V,0}, /* eq.b */
382 {37,6,rr,V,V,0}, /* eq.h */
383 {37,7,rr,V,V,0}, /* eq.w */
384 {37,8,rr,V,V,0}, /* eq.l */
385 {37,5,rr,S,V,0}, /* eq.b */
386 {37,6,rr,S,V,0}, /* eq.h */
387 {37,7,rr,S,V,0}, /* eq.w */
388 {37,8,rr,S,V,0}, /* eq.l */
389 {40,5,rr,V,V,0}, /* le.b */
390 {40,6,rr,V,V,0}, /* le.h */
391 {40,7,rr,V,V,0}, /* le.w */
392 {40,8,rr,V,V,0}, /* le.l */
393 {40,5,rr,S,V,0}, /* le.b */
394 {40,6,rr,S,V,0}, /* le.h */
395 {40,7,rr,S,V,0}, /* le.w */
396 {40,8,rr,S,V,0}, /* le.l */
397 {41,5,rr,V,V,0}, /* lt.b */
398 {41,6,rr,V,V,0}, /* lt.h */
399 {41,7,rr,V,V,0}, /* lt.w */
400 {41,8,rr,V,V,0}, /* lt.l */
401 {41,5,rr,S,V,0}, /* lt.b */
402 {41,6,rr,S,V,0}, /* lt.h */
403 {41,7,rr,S,V,0}, /* lt.w */
404 {41,8,rr,S,V,0}, /* lt.l */
405 {43,5,rr,V,V,0}, /* neg.b */
406 {43,6,rr,V,V,0}, /* neg.h */
407 {43,7,rr,V,V,0}, /* neg.w */
408 {43,8,rr,V,V,0}, /* neg.l */
409 {43,5,rr,S,S,0}, /* neg.b */
410 {43,6,rr,S,S,0}, /* neg.h */
411 {43,7,rr,S,S,0}, /* neg.w */
412 {43,8,rr,S,S,0}, /* neg.l */
413};
414struct formstr format4[] = {
415 {46,0,nops,0,0,0}, /* nop */
416 {47,0,pcrel,0,0,0}, /* br */
417 {48,2,pcrel,0,0,0}, /* bri.f */
418 {48,1,pcrel,0,0,0}, /* bri.t */
419 {49,2,pcrel,0,0,0}, /* bra.f */
420 {49,1,pcrel,0,0,0}, /* bra.t */
421 {50,2,pcrel,0,0,0}, /* brs.f */
422 {50,1,pcrel,0,0,0}, /* brs.t */
423};
424struct formstr format5[] = {
425 {51,5,rr,V,V,0}, /* ldvi.b */
426 {51,6,rr,V,V,0}, /* ldvi.h */
427 {51,7,rr,V,V,0}, /* ldvi.w */
428 {51,8,rr,V,V,0}, /* ldvi.l */
429 {28,3,rr,V,V,0}, /* cvtw.s */
430 {31,7,rr,V,V,0}, /* cvts.w */
431 {28,8,rr,V,V,0}, /* cvtw.l */
432 {33,7,rr,V,V,0}, /* cvtl.w */
433 {52,5,rxr,V,V,0}, /* stvi.b */
434 {52,6,rxr,V,V,0}, /* stvi.h */
435 {52,7,rxr,V,V,0}, /* stvi.w */
436 {52,8,rxr,V,V,0}, /* stvi.l */
437 {52,5,rxr,S,V,0}, /* stvi.b */
438 {52,6,rxr,S,V,0}, /* stvi.h */
439 {52,7,rxr,S,V,0}, /* stvi.w */
440 {52,8,rxr,S,V,0}, /* stvi.l */
441};
442struct formstr format6[] = {
443 {53,0,r,A,0,0}, /* ldsdr */
444 {54,0,r,A,0,0}, /* ldkdr */
445 {55,3,r,S,0,0}, /* ln.s */
446 {55,4,r,S,0,0}, /* ln.d */
447 {56,0,nops,0,0,0}, /* patu */
448 {57,0,r,A,0,0}, /* pate */
449 {58,0,nops,0,0,0}, /* pich */
450 {59,0,nops,0,0,0}, /* plch */
451 {0,0,lr,PSW,A,0}, /* mov */
452 {0,0,rxl,A,PSW,0}, /* mov */
453 {0,0,lr,PC,A,0}, /* mov */
454 {60,0,r,S,0,0}, /* idle */
455 {0,0,lr,ITR,S,0}, /* mov */
456 {0,0,rxl,S,ITR,0}, /* mov */
457 {0,0,0,0,0,0},
458 {0,0,rxl,S,ITSR,0}, /* mov */
459 {61,0,nops,0,0,0}, /* rtnq */
460 {62,0,nops,0,0,0}, /* cfork */
461 {63,0,nops,0,0,0}, /* rtn */
462 {64,0,nops,0,0,0}, /* wfork */
463 {65,0,nops,0,0,0}, /* join */
464 {66,0,nops,0,0,0}, /* rtnc */
465 {67,3,r,S,0,0}, /* exp.s */
466 {67,4,r,S,0,0}, /* exp.d */
467 {68,3,r,S,0,0}, /* sin.s */
468 {68,4,r,S,0,0}, /* sin.d */
469 {0,0,0,0,0,0},
470 {0,0,0,0,0,0},
471 {69,3,r,S,0,0}, /* cos.s */
472 {69,4,r,S,0,0}, /* cos.d */
473 {0,0,0,0,0,0},
474 {0,0,0,0,0,0},
475 {70,7,r,A,0,0}, /* psh.w */
476 {0,0,0,0,0,0},
477 {71,7,r,A,0,0}, /* pop.w */
478 {0,0,0,0,0,0},
479 {70,7,r,S,0,0}, /* psh.w */
480 {70,8,r,S,0,0}, /* psh.l */
481 {71,7,r,S,0,0}, /* pop.w */
482 {71,8,r,S,0,0}, /* pop.l */
483 {72,0,nops,0,0,0}, /* eni */
484 {73,0,nops,0,0,0}, /* dsi */
485 {74,0,nops,0,0,0}, /* bkpt */
486 {75,0,nops,0,0,0}, /* msync */
487 {76,0,r,S,0,0}, /* mski */
488 {77,0,r,S,0,0}, /* xmti */
489 {0,0,rxl,S,VV,0}, /* mov */
490 {78,0,nops,0,0,0}, /* tstvv */
491 {0,0,lr,VS,A,0}, /* mov */
492 {0,0,rxl,A,VS,0}, /* mov */
493 {0,0,lr,VL,A,0}, /* mov */
494 {0,0,rxl,A,VL,0}, /* mov */
495 {0,7,lr,VS,S,0}, /* mov.w */
496 {0,7,rxl,S,VS,0}, /* mov.w */
497 {0,7,lr,VL,S,0}, /* mov.w */
498 {0,7,rxl,S,VL,0}, /* mov.w */
499 {79,0,r,A,0,0}, /* diag */
500 {80,0,nops,0,0,0}, /* pbkpt */
501 {81,3,r,S,0,0}, /* sqrt.s */
502 {81,4,r,S,0,0}, /* sqrt.d */
503 {82,0,nops,0,0,0}, /* casr */
504 {0,0,0,0,0,0},
505 {83,3,r,S,0,0}, /* atan.s */
506 {83,4,r,S,0,0}, /* atan.d */
507};
508struct formstr format7[] = {
509 {84,5,r,V,0,0}, /* sum.b */
510 {84,6,r,V,0,0}, /* sum.h */
511 {84,7,r,V,0,0}, /* sum.w */
512 {84,8,r,V,0,0}, /* sum.l */
513 {85,0,r,V,0,0}, /* all */
514 {86,0,r,V,0,0}, /* any */
515 {87,0,r,V,0,0}, /* parity */
516 {0,0,0,0,0,0},
517 {88,5,r,V,0,0}, /* max.b */
518 {88,6,r,V,0,0}, /* max.h */
519 {88,7,r,V,0,0}, /* max.w */
520 {88,8,r,V,0,0}, /* max.l */
521 {89,5,r,V,0,0}, /* min.b */
522 {89,6,r,V,0,0}, /* min.h */
523 {89,7,r,V,0,0}, /* min.w */
524 {89,8,r,V,0,0}, /* min.l */
525 {84,3,r,V,0,0}, /* sum.s */
526 {84,4,r,V,0,0}, /* sum.d */
527 {90,3,r,V,0,0}, /* prod.s */
528 {90,4,r,V,0,0}, /* prod.d */
529 {88,3,r,V,0,0}, /* max.s */
530 {88,4,r,V,0,0}, /* max.d */
531 {89,3,r,V,0,0}, /* min.s */
532 {89,4,r,V,0,0}, /* min.d */
533 {90,5,r,V,0,0}, /* prod.b */
534 {90,6,r,V,0,0}, /* prod.h */
535 {90,7,r,V,0,0}, /* prod.w */
536 {90,8,r,V,0,0}, /* prod.l */
537 {35,2,lr,VM,S,0}, /* plc.f */
538 {35,1,lr,VM,S,0}, /* plc.t */
539 {0,0,0,0,0,0},
540 {0,0,0,0,0,0},
541};
542struct formstr formatx[] = {
543 {0,0,0,0,0,0},
544};
545struct formstr format1a[] = {
546 {91,0,imr,A,0,0}, /* halt */
547 {92,0,a4,0,0,0}, /* sysc */
548 {18,6,imr,A,0,0}, /* ld.h */
549 {18,7,imr,A,0,0}, /* ld.w */
550 {5,0,imr,A,0,0}, /* and */
551 {6,0,imr,A,0,0}, /* or */
552 {7,0,imr,A,0,0}, /* xor */
553 {8,0,imr,A,0,0}, /* shf */
554 {9,6,imr,A,0,0}, /* add.h */
555 {9,7,imr,A,0,0}, /* add.w */
556 {10,6,imr,A,0,0}, /* sub.h */
557 {10,7,imr,A,0,0}, /* sub.w */
558 {3,6,imr,A,0,0}, /* mul.h */
559 {3,7,imr,A,0,0}, /* mul.w */
560 {4,6,imr,A,0,0}, /* div.h */
561 {4,7,imr,A,0,0}, /* div.w */
562 {18,7,iml,VL,0,0}, /* ld.w */
563 {18,7,iml,VS,0,0}, /* ld.w */
564 {0,0,0,0,0,0},
565 {8,7,imr,S,0,0}, /* shf.w */
566 {93,0,a5,0,0,0}, /* trap */
567 {0,0,0,0,0,0},
568 {37,6,imr,A,0,0}, /* eq.h */
569 {37,7,imr,A,0,0}, /* eq.w */
570 {38,6,imr,A,0,0}, /* leu.h */
571 {38,7,imr,A,0,0}, /* leu.w */
572 {39,6,imr,A,0,0}, /* ltu.h */
573 {39,7,imr,A,0,0}, /* ltu.w */
574 {40,6,imr,A,0,0}, /* le.h */
575 {40,7,imr,A,0,0}, /* le.w */
576 {41,6,imr,A,0,0}, /* lt.h */
577 {41,7,imr,A,0,0}, /* lt.w */
578};
579struct formstr format1b[] = {
580 {18,4,imr,S,0,0}, /* ld.d */
581 {18,10,imr,S,0,0}, /* ld.u */
582 {18,8,imr,S,0,0}, /* ld.l */
583 {18,7,imr,S,0,0}, /* ld.w */
584 {5,0,imr,S,0,0}, /* and */
585 {6,0,imr,S,0,0}, /* or */
586 {7,0,imr,S,0,0}, /* xor */
587 {8,0,imr,S,0,0}, /* shf */
588 {9,6,imr,S,0,0}, /* add.h */
589 {9,7,imr,S,0,0}, /* add.w */
590 {10,6,imr,S,0,0}, /* sub.h */
591 {10,7,imr,S,0,0}, /* sub.w */
592 {3,6,imr,S,0,0}, /* mul.h */
593 {3,7,imr,S,0,0}, /* mul.w */
594 {4,6,imr,S,0,0}, /* div.h */
595 {4,7,imr,S,0,0}, /* div.w */
596 {9,3,imr,S,0,0}, /* add.s */
597 {10,3,imr,S,0,0}, /* sub.s */
598 {3,3,imr,S,0,0}, /* mul.s */
599 {4,3,imr,S,0,0}, /* div.s */
600 {40,3,imr,S,0,0}, /* le.s */
601 {41,3,imr,S,0,0}, /* lt.s */
602 {37,6,imr,S,0,0}, /* eq.h */
603 {37,7,imr,S,0,0}, /* eq.w */
604 {38,6,imr,S,0,0}, /* leu.h */
605 {38,7,imr,S,0,0}, /* leu.w */
606 {39,6,imr,S,0,0}, /* ltu.h */
607 {39,7,imr,S,0,0}, /* ltu.w */
608 {40,6,imr,S,0,0}, /* le.h */
609 {40,7,imr,S,0,0}, /* le.w */
610 {41,6,imr,S,0,0}, /* lt.h */
611 {41,7,imr,S,0,0}, /* lt.w */
612};
613struct formstr e0_format0[] = {
614 {10,3,rrr,S,V,V}, /* sub.s */
615 {10,4,rrr,S,V,V}, /* sub.d */
616 {4,3,rrr,S,V,V}, /* div.s */
617 {4,4,rrr,S,V,V}, /* div.d */
618 {10,11,rrr,S,V,V}, /* sub.s.f */
619 {10,12,rrr,S,V,V}, /* sub.d.f */
620 {4,11,rrr,S,V,V}, /* div.s.f */
621 {4,12,rrr,S,V,V}, /* div.d.f */
622 {3,11,rrr,V,V,V}, /* mul.s.f */
623 {3,12,rrr,V,V,V}, /* mul.d.f */
624 {4,11,rrr,V,V,V}, /* div.s.f */
625 {4,12,rrr,V,V,V}, /* div.d.f */
626 {3,11,rrr,V,S,V}, /* mul.s.f */
627 {3,12,rrr,V,S,V}, /* mul.d.f */
628 {4,11,rrr,V,S,V}, /* div.s.f */
629 {4,12,rrr,V,S,V}, /* div.d.f */
630 {5,2,rrr,V,V,V}, /* and.f */
631 {6,2,rrr,V,V,V}, /* or.f */
632 {7,2,rrr,V,V,V}, /* xor.f */
633 {8,2,rrr,V,V,V}, /* shf.f */
634 {5,2,rrr,V,S,V}, /* and.f */
635 {6,2,rrr,V,S,V}, /* or.f */
636 {7,2,rrr,V,S,V}, /* xor.f */
637 {8,2,rrr,V,S,V}, /* shf.f */
638 {9,11,rrr,V,V,V}, /* add.s.f */
639 {9,12,rrr,V,V,V}, /* add.d.f */
640 {10,11,rrr,V,V,V}, /* sub.s.f */
641 {10,12,rrr,V,V,V}, /* sub.d.f */
642 {9,11,rrr,V,S,V}, /* add.s.f */
643 {9,12,rrr,V,S,V}, /* add.d.f */
644 {10,11,rrr,V,S,V}, /* sub.s.f */
645 {10,12,rrr,V,S,V}, /* sub.d.f */
646 {9,13,rrr,V,V,V}, /* add.b.f */
647 {9,14,rrr,V,V,V}, /* add.h.f */
648 {9,15,rrr,V,V,V}, /* add.w.f */
649 {9,16,rrr,V,V,V}, /* add.l.f */
650 {9,13,rrr,V,S,V}, /* add.b.f */
651 {9,14,rrr,V,S,V}, /* add.h.f */
652 {9,15,rrr,V,S,V}, /* add.w.f */
653 {9,16,rrr,V,S,V}, /* add.l.f */
654 {10,13,rrr,V,V,V}, /* sub.b.f */
655 {10,14,rrr,V,V,V}, /* sub.h.f */
656 {10,15,rrr,V,V,V}, /* sub.w.f */
657 {10,16,rrr,V,V,V}, /* sub.l.f */
658 {10,13,rrr,V,S,V}, /* sub.b.f */
659 {10,14,rrr,V,S,V}, /* sub.h.f */
660 {10,15,rrr,V,S,V}, /* sub.w.f */
661 {10,16,rrr,V,S,V}, /* sub.l.f */
662 {3,13,rrr,V,V,V}, /* mul.b.f */
663 {3,14,rrr,V,V,V}, /* mul.h.f */
664 {3,15,rrr,V,V,V}, /* mul.w.f */
665 {3,16,rrr,V,V,V}, /* mul.l.f */
666 {3,13,rrr,V,S,V}, /* mul.b.f */
667 {3,14,rrr,V,S,V}, /* mul.h.f */
668 {3,15,rrr,V,S,V}, /* mul.w.f */
669 {3,16,rrr,V,S,V}, /* mul.l.f */
670 {4,13,rrr,V,V,V}, /* div.b.f */
671 {4,14,rrr,V,V,V}, /* div.h.f */
672 {4,15,rrr,V,V,V}, /* div.w.f */
673 {4,16,rrr,V,V,V}, /* div.l.f */
674 {4,13,rrr,V,S,V}, /* div.b.f */
675 {4,14,rrr,V,S,V}, /* div.h.f */
676 {4,15,rrr,V,S,V}, /* div.w.f */
677 {4,16,rrr,V,S,V}, /* div.l.f */
678};
679struct formstr e0_format1[] = {
680 {0,0,0,0,0,0},
681 {94,0,a3,0,0,0}, /* tst */
682 {95,0,a3,0,0,0}, /* lck */
683 {96,0,a3,0,0,0}, /* ulk */
684 {17,0,a1r,S,0,0}, /* ldea */
685 {97,0,a1r,A,0,0}, /* spawn */
686 {98,0,a1r,A,0,0}, /* ldcmr */
687 {99,0,a2r,A,0,0}, /* stcmr */
688 {100,0,a1r,A,0,0}, /* popr */
689 {101,0,a2r,A,0,0}, /* pshr */
690 {102,7,a1r,A,0,0}, /* rcvr.w */
691 {103,7,a2r,A,0,0}, /* matm.w */
692 {104,7,a2r,A,0,0}, /* sndr.w */
693 {104,8,a2r,S,0,0}, /* sndr.l */
694 {102,8,a1r,S,0,0}, /* rcvr.l */
695 {103,8,a2r,S,0,0}, /* matm.l */
696 {0,0,0,0,0,0},
697 {0,0,0,0,0,0},
698 {0,0,0,0,0,0},
699 {0,0,0,0,0,0},
700 {0,0,0,0,0,0},
701 {0,0,0,0,0,0},
702 {0,0,0,0,0,0},
703 {0,0,0,0,0,0},
704 {0,0,0,0,0,0},
705 {0,0,0,0,0,0},
706 {0,0,0,0,0,0},
707 {0,0,0,0,0,0},
708 {0,0,0,0,0,0},
709 {0,0,0,0,0,0},
710 {0,0,0,0,0,0},
711 {0,0,0,0,0,0},
712 {105,7,a2r,A,0,0}, /* putr.w */
713 {105,8,a2r,S,0,0}, /* putr.l */
714 {106,7,a1r,A,0,0}, /* getr.w */
715 {106,8,a1r,S,0,0}, /* getr.l */
716 {26,13,a2r,S,0,0}, /* ste.b.f */
717 {26,14,a2r,S,0,0}, /* ste.h.f */
718 {26,15,a2r,S,0,0}, /* ste.w.f */
719 {26,16,a2r,S,0,0}, /* ste.l.f */
720 {107,7,a2r,A,0,0}, /* matr.w */
721 {108,7,a2r,A,0,0}, /* mat.w */
722 {109,7,a1r,A,0,0}, /* get.w */
723 {110,7,a1r,A,0,0}, /* rcv.w */
724 {0,0,0,0,0,0},
725 {111,7,a1r,A,0,0}, /* inc.w */
726 {112,7,a2r,A,0,0}, /* put.w */
727 {113,7,a2r,A,0,0}, /* snd.w */
728 {107,8,a2r,S,0,0}, /* matr.l */
729 {108,8,a2r,S,0,0}, /* mat.l */
730 {109,8,a1r,S,0,0}, /* get.l */
731 {110,8,a1r,S,0,0}, /* rcv.l */
732 {0,0,0,0,0,0},
733 {111,8,a1r,S,0,0}, /* inc.l */
734 {112,8,a2r,S,0,0}, /* put.l */
735 {113,8,a2r,S,0,0}, /* snd.l */
736 {18,13,a1r,V,0,0}, /* ld.b.f */
737 {18,14,a1r,V,0,0}, /* ld.h.f */
738 {18,15,a1r,V,0,0}, /* ld.w.f */
739 {18,16,a1r,V,0,0}, /* ld.l.f */
740 {21,13,a2r,V,0,0}, /* st.b.f */
741 {21,14,a2r,V,0,0}, /* st.h.f */
742 {21,15,a2r,V,0,0}, /* st.w.f */
743 {21,16,a2r,V,0,0}, /* st.l.f */
744};
745struct formstr e0_format2[] = {
746 {28,5,rr,V,V,0}, /* cvtw.b */
747 {28,6,rr,V,V,0}, /* cvtw.h */
748 {29,7,rr,V,V,0}, /* cvtb.w */
749 {30,7,rr,V,V,0}, /* cvth.w */
750 {28,13,rr,V,V,0}, /* cvtw.b.f */
751 {28,14,rr,V,V,0}, /* cvtw.h.f */
752 {29,15,rr,V,V,0}, /* cvtb.w.f */
753 {30,15,rr,V,V,0}, /* cvth.w.f */
754 {31,8,rr,V,V,0}, /* cvts.l */
755 {32,7,rr,V,V,0}, /* cvtd.w */
756 {33,3,rr,V,V,0}, /* cvtl.s */
757 {28,4,rr,V,V,0}, /* cvtw.d */
758 {31,16,rr,V,V,0}, /* cvts.l.f */
759 {32,15,rr,V,V,0}, /* cvtd.w.f */
760 {33,11,rr,V,V,0}, /* cvtl.s.f */
761 {28,12,rr,V,V,0}, /* cvtw.d.f */
762 {114,0,rr,S,S,0}, /* enal */
763 {8,7,rr,S,S,0}, /* shf.w */
764 {115,0,rr,S,S,0}, /* enag */
765 {0,0,0,0,0,0},
766 {28,4,rr,S,S,0}, /* cvtw.d */
767 {32,7,rr,S,S,0}, /* cvtd.w */
768 {0,0,0,0,0,0},
769 {0,0,0,0,0,0},
770 {0,0,0,0,0,0},
771 {0,0,0,0,0,0},
772 {0,0,0,0,0,0},
773 {0,0,0,0,0,0},
774 {116,3,rr,S,S,0}, /* frint.s */
775 {116,4,rr,S,S,0}, /* frint.d */
776 {0,0,0,0,0,0},
777 {0,0,0,0,0,0},
778 {0,0,0,0,0,0},
779 {0,0,0,0,0,0},
780 {0,0,0,0,0,0},
781 {0,0,0,0,0,0},
782 {0,0,0,0,0,0},
783 {0,0,0,0,0,0},
784 {0,0,0,0,0,0},
785 {0,0,0,0,0,0},
786 {0,0,0,0,0,0},
787 {0,0,0,0,0,0},
788 {0,0,0,0,0,0},
789 {0,0,0,0,0,0},
790 {0,0,0,0,0,0},
791 {0,0,0,0,0,0},
792 {0,0,0,0,0,0},
793 {0,0,0,0,0,0},
794 {0,0,0,0,0,0},
795 {0,0,0,0,0,0},
796 {0,0,0,0,0,0},
797 {0,0,0,0,0,0},
798 {0,0,0,0,0,0},
799 {0,0,0,0,0,0},
800 {0,0,0,0,0,0},
801 {0,0,0,0,0,0},
802 {0,0,0,0,0,0},
803 {0,0,0,0,0,0},
804 {0,0,0,0,0,0},
805 {0,0,0,0,0,0},
806 {0,0,0,0,0,0},
807 {0,0,0,0,0,0},
808 {0,0,0,0,0,0},
809 {0,0,0,0,0,0},
810 {0,0,0,0,0,0},
811 {0,0,0,0,0,0},
812 {0,0,0,0,0,0},
813 {0,0,0,0,0,0},
814 {0,0,0,0,0,0},
815 {0,0,0,0,0,0},
816 {0,0,0,0,0,0},
817 {0,0,0,0,0,0},
818 {0,0,0,0,0,0},
819 {0,0,0,0,0,0},
820 {0,0,0,0,0,0},
821 {0,0,0,0,0,0},
822 {0,0,0,0,0,0},
823 {0,0,0,0,0,0},
824 {0,0,0,0,0,0},
825 {0,0,0,0,0,0},
826 {0,0,0,0,0,0},
827 {0,0,0,0,0,0},
828 {0,0,0,0,0,0},
829 {0,0,0,0,0,0},
830 {0,0,0,0,0,0},
831 {0,0,0,0,0,0},
832 {0,0,0,0,0,0},
833 {0,0,0,0,0,0},
834 {0,0,0,0,0,0},
835 {0,0,0,0,0,0},
836 {0,0,0,0,0,0},
837 {0,0,0,0,0,0},
838 {0,0,0,0,0,0},
839 {0,0,0,0,0,0},
840 {0,0,0,0,0,0},
841 {0,0,0,0,0,0},
842 {0,0,0,0,0,0},
843 {0,0,0,0,0,0},
844 {116,3,rr,V,V,0}, /* frint.s */
845 {116,4,rr,V,V,0}, /* frint.d */
846 {0,0,0,0,0,0},
847 {0,0,0,0,0,0},
848 {116,11,rr,V,V,0}, /* frint.s.f */
849 {116,12,rr,V,V,0}, /* frint.d.f */
850 {0,0,0,0,0,0},
851 {0,0,0,0,0,0},
852 {0,0,0,0,0,0},
853 {0,0,0,0,0,0},
854 {0,0,0,0,0,0},
855 {0,0,0,0,0,0},
856 {0,0,0,0,0,0},
857 {0,0,0,0,0,0},
858 {0,0,0,0,0,0},
859 {0,0,0,0,0,0},
860 {0,0,0,0,0,0},
861 {0,0,0,0,0,0},
862 {81,3,rr,V,V,0}, /* sqrt.s */
863 {81,4,rr,V,V,0}, /* sqrt.d */
864 {0,0,0,0,0,0},
865 {0,0,0,0,0,0},
866 {0,0,0,0,0,0},
867 {0,0,0,0,0,0},
868 {0,0,0,0,0,0},
869 {0,0,0,0,0,0},
870 {81,11,rr,V,V,0}, /* sqrt.s.f */
871 {81,12,rr,V,V,0}, /* sqrt.d.f */
872 {0,0,0,0,0,0},
873 {0,0,0,0,0,0},
874};
875struct formstr e0_format3[] = {
876 {32,11,rr,V,V,0}, /* cvtd.s.f */
877 {31,12,rr,V,V,0}, /* cvts.d.f */
878 {33,12,rr,V,V,0}, /* cvtl.d.f */
879 {32,16,rr,V,V,0}, /* cvtd.l.f */
880 {0,0,0,0,0,0},
881 {0,0,0,0,0,0},
882 {0,0,0,0,0,0},
883 {0,0,0,0,0,0},
884 {36,2,rr,V,V,0}, /* tzc.f */
885 {44,2,rr,V,V,0}, /* lop.f */
886 {117,2,rr,V,V,0}, /* xpnd.f */
887 {42,2,rr,V,V,0}, /* not.f */
888 {8,2,rr,S,V,0}, /* shf.f */
889 {35,17,rr,V,V,0}, /* plc.t.f */
890 {0,0,0,0,0,0},
891 {0,0,0,0,0,0},
892 {37,11,rr,V,V,0}, /* eq.s.f */
893 {37,12,rr,V,V,0}, /* eq.d.f */
894 {43,11,rr,V,V,0}, /* neg.s.f */
895 {43,12,rr,V,V,0}, /* neg.d.f */
896 {37,11,rr,S,V,0}, /* eq.s.f */
897 {37,12,rr,S,V,0}, /* eq.d.f */
898 {0,0,0,0,0,0},
899 {0,0,0,0,0,0},
900 {40,11,rr,V,V,0}, /* le.s.f */
901 {40,12,rr,V,V,0}, /* le.d.f */
902 {41,11,rr,V,V,0}, /* lt.s.f */
903 {41,12,rr,V,V,0}, /* lt.d.f */
904 {40,11,rr,S,V,0}, /* le.s.f */
905 {40,12,rr,S,V,0}, /* le.d.f */
906 {41,11,rr,S,V,0}, /* lt.s.f */
907 {41,12,rr,S,V,0}, /* lt.d.f */
908 {37,13,rr,V,V,0}, /* eq.b.f */
909 {37,14,rr,V,V,0}, /* eq.h.f */
910 {37,15,rr,V,V,0}, /* eq.w.f */
911 {37,16,rr,V,V,0}, /* eq.l.f */
912 {37,13,rr,S,V,0}, /* eq.b.f */
913 {37,14,rr,S,V,0}, /* eq.h.f */
914 {37,15,rr,S,V,0}, /* eq.w.f */
915 {37,16,rr,S,V,0}, /* eq.l.f */
916 {40,13,rr,V,V,0}, /* le.b.f */
917 {40,14,rr,V,V,0}, /* le.h.f */
918 {40,15,rr,V,V,0}, /* le.w.f */
919 {40,16,rr,V,V,0}, /* le.l.f */
920 {40,13,rr,S,V,0}, /* le.b.f */
921 {40,14,rr,S,V,0}, /* le.h.f */
922 {40,15,rr,S,V,0}, /* le.w.f */
923 {40,16,rr,S,V,0}, /* le.l.f */
924 {41,13,rr,V,V,0}, /* lt.b.f */
925 {41,14,rr,V,V,0}, /* lt.h.f */
926 {41,15,rr,V,V,0}, /* lt.w.f */
927 {41,16,rr,V,V,0}, /* lt.l.f */
928 {41,13,rr,S,V,0}, /* lt.b.f */
929 {41,14,rr,S,V,0}, /* lt.h.f */
930 {41,15,rr,S,V,0}, /* lt.w.f */
931 {41,16,rr,S,V,0}, /* lt.l.f */
932 {43,13,rr,V,V,0}, /* neg.b.f */
933 {43,14,rr,V,V,0}, /* neg.h.f */
934 {43,15,rr,V,V,0}, /* neg.w.f */
935 {43,16,rr,V,V,0}, /* neg.l.f */
936 {0,0,0,0,0,0},
937 {0,0,0,0,0,0},
938 {0,0,0,0,0,0},
939 {0,0,0,0,0,0},
940};
941struct formstr e0_format4[] = {
942 {0,0,0,0,0,0},
943 {0,0,0,0,0,0},
944 {0,0,0,0,0,0},
945 {0,0,0,0,0,0},
946 {0,0,0,0,0,0},
947 {0,0,0,0,0,0},
948 {0,0,0,0,0,0},
949 {0,0,0,0,0,0},
950};
951struct formstr e0_format5[] = {
952 {51,13,rr,V,V,0}, /* ldvi.b.f */
953 {51,14,rr,V,V,0}, /* ldvi.h.f */
954 {51,15,rr,V,V,0}, /* ldvi.w.f */
955 {51,16,rr,V,V,0}, /* ldvi.l.f */
956 {28,11,rr,V,V,0}, /* cvtw.s.f */
957 {31,15,rr,V,V,0}, /* cvts.w.f */
958 {28,16,rr,V,V,0}, /* cvtw.l.f */
959 {33,15,rr,V,V,0}, /* cvtl.w.f */
960 {52,13,rxr,V,V,0}, /* stvi.b.f */
961 {52,14,rxr,V,V,0}, /* stvi.h.f */
962 {52,15,rxr,V,V,0}, /* stvi.w.f */
963 {52,16,rxr,V,V,0}, /* stvi.l.f */
964 {52,13,rxr,S,V,0}, /* stvi.b.f */
965 {52,14,rxr,S,V,0}, /* stvi.h.f */
966 {52,15,rxr,S,V,0}, /* stvi.w.f */
967 {52,16,rxr,S,V,0}, /* stvi.l.f */
968};
969struct formstr e0_format6[] = {
970 {0,0,rxl,S,CIR,0}, /* mov */
971 {0,0,lr,CIR,S,0}, /* mov */
972 {0,0,lr,TOC,S,0}, /* mov */
973 {0,0,lr,CPUID,S,0}, /* mov */
974 {0,0,rxl,S,TTR,0}, /* mov */
975 {0,0,lr,TTR,S,0}, /* mov */
976 {118,0,nops,0,0,0}, /* ctrsl */
977 {119,0,nops,0,0,0}, /* ctrsg */
978 {0,0,rxl,S,VMU,0}, /* mov */
979 {0,0,lr,VMU,S,0}, /* mov */
980 {0,0,rxl,S,VML,0}, /* mov */
981 {0,0,lr,VML,S,0}, /* mov */
982 {0,0,rxl,S,ICR,0}, /* mov */
983 {0,0,lr,ICR,S,0}, /* mov */
984 {0,0,rxl,S,TCPU,0}, /* mov */
985 {0,0,lr,TCPU,S,0}, /* mov */
986 {0,0,0,0,0,0},
987 {0,0,0,0,0,0},
988 {0,0,0,0,0,0},
989 {0,0,0,0,0,0},
990 {120,0,nops,0,0,0}, /* stop */
991 {0,0,0,0,0,0},
992 {0,0,rxl,S,TID,0}, /* mov */
993 {0,0,lr,TID,S,0}, /* mov */
994 {0,0,0,0,0,0},
995 {0,0,0,0,0,0},
996 {0,0,0,0,0,0},
997 {0,0,0,0,0,0},
998 {0,0,0,0,0,0},
999 {0,0,0,0,0,0},
1000 {0,0,0,0,0,0},
1001 {0,0,0,0,0,0},
1002 {0,0,0,0,0,0},
1003 {0,0,0,0,0,0},
1004 {0,0,0,0,0,0},
1005 {0,0,0,0,0,0},
1006 {0,0,0,0,0,0},
1007 {0,0,0,0,0,0},
1008 {0,0,0,0,0,0},
1009 {0,0,0,0,0,0},
1010 {0,0,0,0,0,0},
1011 {0,0,0,0,0,0},
1012 {0,0,0,0,0,0},
1013 {0,0,0,0,0,0},
1014 {0,0,0,0,0,0},
1015 {0,0,0,0,0,0},
1016 {0,0,0,0,0,0},
1017 {0,0,0,0,0,0},
1018 {0,0,0,0,0,0},
1019 {0,0,0,0,0,0},
1020 {0,0,0,0,0,0},
1021 {0,0,0,0,0,0},
1022 {0,0,0,0,0,0},
1023 {0,0,0,0,0,0},
1024 {0,0,0,0,0,0},
1025 {0,0,0,0,0,0},
1026 {0,0,0,0,0,0},
1027 {0,0,0,0,0,0},
1028 {0,0,0,0,0,0},
1029 {0,0,0,0,0,0},
1030 {0,0,0,0,0,0},
1031 {0,0,0,0,0,0},
1032 {0,0,0,0,0,0},
1033 {0,0,0,0,0,0},
1034};
1035struct formstr e0_format7[] = {
1036 {84,13,r,V,0,0}, /* sum.b.f */
1037 {84,14,r,V,0,0}, /* sum.h.f */
1038 {84,15,r,V,0,0}, /* sum.w.f */
1039 {84,16,r,V,0,0}, /* sum.l.f */
1040 {85,2,r,V,0,0}, /* all.f */
1041 {86,2,r,V,0,0}, /* any.f */
1042 {87,2,r,V,0,0}, /* parity.f */
1043 {0,0,0,0,0,0},
1044 {88,13,r,V,0,0}, /* max.b.f */
1045 {88,14,r,V,0,0}, /* max.h.f */
1046 {88,15,r,V,0,0}, /* max.w.f */
1047 {88,16,r,V,0,0}, /* max.l.f */
1048 {89,13,r,V,0,0}, /* min.b.f */
1049 {89,14,r,V,0,0}, /* min.h.f */
1050 {89,15,r,V,0,0}, /* min.w.f */
1051 {89,16,r,V,0,0}, /* min.l.f */
1052 {84,11,r,V,0,0}, /* sum.s.f */
1053 {84,12,r,V,0,0}, /* sum.d.f */
1054 {90,11,r,V,0,0}, /* prod.s.f */
1055 {90,12,r,V,0,0}, /* prod.d.f */
1056 {88,11,r,V,0,0}, /* max.s.f */
1057 {88,12,r,V,0,0}, /* max.d.f */
1058 {89,11,r,V,0,0}, /* min.s.f */
1059 {89,12,r,V,0,0}, /* min.d.f */
1060 {90,13,r,V,0,0}, /* prod.b.f */
1061 {90,14,r,V,0,0}, /* prod.h.f */
1062 {90,15,r,V,0,0}, /* prod.w.f */
1063 {90,16,r,V,0,0}, /* prod.l.f */
1064 {0,0,0,0,0,0},
1065 {0,0,0,0,0,0},
1066 {0,0,0,0,0,0},
1067 {0,0,0,0,0,0},
1068};
1069struct formstr e1_format0[] = {
1070 {0,0,0,0,0,0},
1071 {0,0,0,0,0,0},
1072 {0,0,0,0,0,0},
1073 {0,0,0,0,0,0},
1074 {10,18,rrr,S,V,V}, /* sub.s.t */
1075 {10,19,rrr,S,V,V}, /* sub.d.t */
1076 {4,18,rrr,S,V,V}, /* div.s.t */
1077 {4,19,rrr,S,V,V}, /* div.d.t */
1078 {3,18,rrr,V,V,V}, /* mul.s.t */
1079 {3,19,rrr,V,V,V}, /* mul.d.t */
1080 {4,18,rrr,V,V,V}, /* div.s.t */
1081 {4,19,rrr,V,V,V}, /* div.d.t */
1082 {3,18,rrr,V,S,V}, /* mul.s.t */
1083 {3,19,rrr,V,S,V}, /* mul.d.t */
1084 {4,18,rrr,V,S,V}, /* div.s.t */
1085 {4,19,rrr,V,S,V}, /* div.d.t */
1086 {5,1,rrr,V,V,V}, /* and.t */
1087 {6,1,rrr,V,V,V}, /* or.t */
1088 {7,1,rrr,V,V,V}, /* xor.t */
1089 {8,1,rrr,V,V,V}, /* shf.t */
1090 {5,1,rrr,V,S,V}, /* and.t */
1091 {6,1,rrr,V,S,V}, /* or.t */
1092 {7,1,rrr,V,S,V}, /* xor.t */
1093 {8,1,rrr,V,S,V}, /* shf.t */
1094 {9,18,rrr,V,V,V}, /* add.s.t */
1095 {9,19,rrr,V,V,V}, /* add.d.t */
1096 {10,18,rrr,V,V,V}, /* sub.s.t */
1097 {10,19,rrr,V,V,V}, /* sub.d.t */
1098 {9,18,rrr,V,S,V}, /* add.s.t */
1099 {9,19,rrr,V,S,V}, /* add.d.t */
1100 {10,18,rrr,V,S,V}, /* sub.s.t */
1101 {10,19,rrr,V,S,V}, /* sub.d.t */
1102 {9,20,rrr,V,V,V}, /* add.b.t */
1103 {9,21,rrr,V,V,V}, /* add.h.t */
1104 {9,22,rrr,V,V,V}, /* add.w.t */
1105 {9,23,rrr,V,V,V}, /* add.l.t */
1106 {9,20,rrr,V,S,V}, /* add.b.t */
1107 {9,21,rrr,V,S,V}, /* add.h.t */
1108 {9,22,rrr,V,S,V}, /* add.w.t */
1109 {9,23,rrr,V,S,V}, /* add.l.t */
1110 {10,20,rrr,V,V,V}, /* sub.b.t */
1111 {10,21,rrr,V,V,V}, /* sub.h.t */
1112 {10,22,rrr,V,V,V}, /* sub.w.t */
1113 {10,23,rrr,V,V,V}, /* sub.l.t */
1114 {10,20,rrr,V,S,V}, /* sub.b.t */
1115 {10,21,rrr,V,S,V}, /* sub.h.t */
1116 {10,22,rrr,V,S,V}, /* sub.w.t */
1117 {10,23,rrr,V,S,V}, /* sub.l.t */
1118 {3,20,rrr,V,V,V}, /* mul.b.t */
1119 {3,21,rrr,V,V,V}, /* mul.h.t */
1120 {3,22,rrr,V,V,V}, /* mul.w.t */
1121 {3,23,rrr,V,V,V}, /* mul.l.t */
1122 {3,20,rrr,V,S,V}, /* mul.b.t */
1123 {3,21,rrr,V,S,V}, /* mul.h.t */
1124 {3,22,rrr,V,S,V}, /* mul.w.t */
1125 {3,23,rrr,V,S,V}, /* mul.l.t */
1126 {4,20,rrr,V,V,V}, /* div.b.t */
1127 {4,21,rrr,V,V,V}, /* div.h.t */
1128 {4,22,rrr,V,V,V}, /* div.w.t */
1129 {4,23,rrr,V,V,V}, /* div.l.t */
1130 {4,20,rrr,V,S,V}, /* div.b.t */
1131 {4,21,rrr,V,S,V}, /* div.h.t */
1132 {4,22,rrr,V,S,V}, /* div.w.t */
1133 {4,23,rrr,V,S,V}, /* div.l.t */
1134};
1135struct formstr e1_format1[] = {
1136 {0,0,0,0,0,0},
1137 {0,0,0,0,0,0},
1138 {0,0,0,0,0,0},
1139 {0,0,0,0,0,0},
1140 {0,0,0,0,0,0},
1141 {0,0,0,0,0,0},
1142 {0,0,0,0,0,0},
1143 {0,0,0,0,0,0},
1144 {0,0,0,0,0,0},
1145 {0,0,0,0,0,0},
1146 {0,0,0,0,0,0},
1147 {0,0,0,0,0,0},
1148 {0,0,0,0,0,0},
1149 {0,0,0,0,0,0},
1150 {0,0,0,0,0,0},
1151 {0,0,0,0,0,0},
1152 {0,0,0,0,0,0},
1153 {0,0,0,0,0,0},
1154 {0,0,0,0,0,0},
1155 {0,0,0,0,0,0},
1156 {0,0,0,0,0,0},
1157 {0,0,0,0,0,0},
1158 {0,0,0,0,0,0},
1159 {0,0,0,0,0,0},
1160 {0,0,0,0,0,0},
1161 {0,0,0,0,0,0},
1162 {0,0,0,0,0,0},
1163 {0,0,0,0,0,0},
1164 {0,0,0,0,0,0},
1165 {0,0,0,0,0,0},
1166 {0,0,0,0,0,0},
1167 {0,0,0,0,0,0},
1168 {0,0,0,0,0,0},
1169 {0,0,0,0,0,0},
1170 {0,0,0,0,0,0},
1171 {0,0,0,0,0,0},
1172 {26,20,a2r,S,0,0}, /* ste.b.t */
1173 {26,21,a2r,S,0,0}, /* ste.h.t */
1174 {26,22,a2r,S,0,0}, /* ste.w.t */
1175 {26,23,a2r,S,0,0}, /* ste.l.t */
1176 {0,0,0,0,0,0},
1177 {0,0,0,0,0,0},
1178 {0,0,0,0,0,0},
1179 {0,0,0,0,0,0},
1180 {0,0,0,0,0,0},
1181 {0,0,0,0,0,0},
1182 {0,0,0,0,0,0},
1183 {0,0,0,0,0,0},
1184 {0,0,0,0,0,0},
1185 {0,0,0,0,0,0},
1186 {0,0,0,0,0,0},
1187 {0,0,0,0,0,0},
1188 {0,0,0,0,0,0},
1189 {0,0,0,0,0,0},
1190 {0,0,0,0,0,0},
1191 {0,0,0,0,0,0},
1192 {18,20,a1r,V,0,0}, /* ld.b.t */
1193 {18,21,a1r,V,0,0}, /* ld.h.t */
1194 {18,22,a1r,V,0,0}, /* ld.w.t */
1195 {18,23,a1r,V,0,0}, /* ld.l.t */
1196 {21,20,a2r,V,0,0}, /* st.b.t */
1197 {21,21,a2r,V,0,0}, /* st.h.t */
1198 {21,22,a2r,V,0,0}, /* st.w.t */
1199 {21,23,a2r,V,0,0}, /* st.l.t */
1200};
1201struct formstr e1_format2[] = {
1202 {0,0,0,0,0,0},
1203 {0,0,0,0,0,0},
1204 {0,0,0,0,0,0},
1205 {0,0,0,0,0,0},
1206 {28,20,rr,V,V,0}, /* cvtw.b.t */
1207 {28,21,rr,V,V,0}, /* cvtw.h.t */
1208 {29,22,rr,V,V,0}, /* cvtb.w.t */
1209 {30,22,rr,V,V,0}, /* cvth.w.t */
1210 {0,0,0,0,0,0},
1211 {0,0,0,0,0,0},
1212 {0,0,0,0,0,0},
1213 {0,0,0,0,0,0},
1214 {31,23,rr,V,V,0}, /* cvts.l.t */
1215 {32,22,rr,V,V,0}, /* cvtd.w.t */
1216 {33,18,rr,V,V,0}, /* cvtl.s.t */
1217 {28,19,rr,V,V,0}, /* cvtw.d.t */
1218 {0,0,0,0,0,0},
1219 {0,0,0,0,0,0},
1220 {0,0,0,0,0,0},
1221 {0,0,0,0,0,0},
1222 {0,0,0,0,0,0},
1223 {0,0,0,0,0,0},
1224 {0,0,0,0,0,0},
1225 {0,0,0,0,0,0},
1226 {0,0,0,0,0,0},
1227 {0,0,0,0,0,0},
1228 {0,0,0,0,0,0},
1229 {0,0,0,0,0,0},
1230 {0,0,0,0,0,0},
1231 {0,0,0,0,0,0},
1232 {0,0,0,0,0,0},
1233 {0,0,0,0,0,0},
1234 {0,0,0,0,0,0},
1235 {0,0,0,0,0,0},
1236 {0,0,0,0,0,0},
1237 {0,0,0,0,0,0},
1238 {0,0,0,0,0,0},
1239 {0,0,0,0,0,0},
1240 {0,0,0,0,0,0},
1241 {0,0,0,0,0,0},
1242 {0,0,0,0,0,0},
1243 {0,0,0,0,0,0},
1244 {0,0,0,0,0,0},
1245 {0,0,0,0,0,0},
1246 {0,0,0,0,0,0},
1247 {0,0,0,0,0,0},
1248 {0,0,0,0,0,0},
1249 {0,0,0,0,0,0},
1250 {0,0,0,0,0,0},
1251 {0,0,0,0,0,0},
1252 {0,0,0,0,0,0},
1253 {0,0,0,0,0,0},
1254 {0,0,0,0,0,0},
1255 {0,0,0,0,0,0},
1256 {0,0,0,0,0,0},
1257 {0,0,0,0,0,0},
1258 {0,0,0,0,0,0},
1259 {0,0,0,0,0,0},
1260 {0,0,0,0,0,0},
1261 {0,0,0,0,0,0},
1262 {0,0,0,0,0,0},
1263 {0,0,0,0,0,0},
1264 {0,0,0,0,0,0},
1265 {0,0,0,0,0,0},
1266 {0,0,0,0,0,0},
1267 {0,0,0,0,0,0},
1268 {0,0,0,0,0,0},
1269 {0,0,0,0,0,0},
1270 {0,0,0,0,0,0},
1271 {0,0,0,0,0,0},
1272 {0,0,0,0,0,0},
1273 {0,0,0,0,0,0},
1274 {0,0,0,0,0,0},
1275 {0,0,0,0,0,0},
1276 {0,0,0,0,0,0},
1277 {0,0,0,0,0,0},
1278 {0,0,0,0,0,0},
1279 {0,0,0,0,0,0},
1280 {0,0,0,0,0,0},
1281 {0,0,0,0,0,0},
1282 {0,0,0,0,0,0},
1283 {0,0,0,0,0,0},
1284 {0,0,0,0,0,0},
1285 {0,0,0,0,0,0},
1286 {0,0,0,0,0,0},
1287 {0,0,0,0,0,0},
1288 {0,0,0,0,0,0},
1289 {0,0,0,0,0,0},
1290 {0,0,0,0,0,0},
1291 {0,0,0,0,0,0},
1292 {0,0,0,0,0,0},
1293 {0,0,0,0,0,0},
1294 {0,0,0,0,0,0},
1295 {0,0,0,0,0,0},
1296 {0,0,0,0,0,0},
1297 {0,0,0,0,0,0},
1298 {0,0,0,0,0,0},
1299 {0,0,0,0,0,0},
1300 {0,0,0,0,0,0},
1301 {0,0,0,0,0,0},
1302 {0,0,0,0,0,0},
1303 {0,0,0,0,0,0},
1304 {116,18,rr,V,V,0}, /* frint.s.t */
1305 {116,19,rr,V,V,0}, /* frint.d.t */
1306 {0,0,0,0,0,0},
1307 {0,0,0,0,0,0},
1308 {0,0,0,0,0,0},
1309 {0,0,0,0,0,0},
1310 {0,0,0,0,0,0},
1311 {0,0,0,0,0,0},
1312 {0,0,0,0,0,0},
1313 {0,0,0,0,0,0},
1314 {0,0,0,0,0,0},
1315 {0,0,0,0,0,0},
1316 {0,0,0,0,0,0},
1317 {0,0,0,0,0,0},
1318 {0,0,0,0,0,0},
1319 {0,0,0,0,0,0},
1320 {0,0,0,0,0,0},
1321 {0,0,0,0,0,0},
1322 {0,0,0,0,0,0},
1323 {0,0,0,0,0,0},
1324 {0,0,0,0,0,0},
1325 {0,0,0,0,0,0},
1326 {81,18,rr,V,V,0}, /* sqrt.s.t */
1327 {81,19,rr,V,V,0}, /* sqrt.d.t */
1328 {0,0,0,0,0,0},
1329 {0,0,0,0,0,0},
1330};
1331struct formstr e1_format3[] = {
1332 {32,18,rr,V,V,0}, /* cvtd.s.t */
1333 {31,19,rr,V,V,0}, /* cvts.d.t */
1334 {33,19,rr,V,V,0}, /* cvtl.d.t */
1335 {32,23,rr,V,V,0}, /* cvtd.l.t */
1336 {0,0,0,0,0,0},
1337 {0,0,0,0,0,0},
1338 {0,0,0,0,0,0},
1339 {0,0,0,0,0,0},
1340 {36,1,rr,V,V,0}, /* tzc.t */
1341 {44,1,rr,V,V,0}, /* lop.t */
1342 {117,1,rr,V,V,0}, /* xpnd.t */
1343 {42,1,rr,V,V,0}, /* not.t */
1344 {8,1,rr,S,V,0}, /* shf.t */
1345 {35,24,rr,V,V,0}, /* plc.t.t */
1346 {0,0,0,0,0,0},
1347 {0,0,0,0,0,0},
1348 {37,18,rr,V,V,0}, /* eq.s.t */
1349 {37,19,rr,V,V,0}, /* eq.d.t */
1350 {43,18,rr,V,V,0}, /* neg.s.t */
1351 {43,19,rr,V,V,0}, /* neg.d.t */
1352 {37,18,rr,S,V,0}, /* eq.s.t */
1353 {37,19,rr,S,V,0}, /* eq.d.t */
1354 {0,0,0,0,0,0},
1355 {0,0,0,0,0,0},
1356 {40,18,rr,V,V,0}, /* le.s.t */
1357 {40,19,rr,V,V,0}, /* le.d.t */
1358 {41,18,rr,V,V,0}, /* lt.s.t */
1359 {41,19,rr,V,V,0}, /* lt.d.t */
1360 {40,18,rr,S,V,0}, /* le.s.t */
1361 {40,19,rr,S,V,0}, /* le.d.t */
1362 {41,18,rr,S,V,0}, /* lt.s.t */
1363 {41,19,rr,S,V,0}, /* lt.d.t */
1364 {37,20,rr,V,V,0}, /* eq.b.t */
1365 {37,21,rr,V,V,0}, /* eq.h.t */
1366 {37,22,rr,V,V,0}, /* eq.w.t */
1367 {37,23,rr,V,V,0}, /* eq.l.t */
1368 {37,20,rr,S,V,0}, /* eq.b.t */
1369 {37,21,rr,S,V,0}, /* eq.h.t */
1370 {37,22,rr,S,V,0}, /* eq.w.t */
1371 {37,23,rr,S,V,0}, /* eq.l.t */
1372 {40,20,rr,V,V,0}, /* le.b.t */
1373 {40,21,rr,V,V,0}, /* le.h.t */
1374 {40,22,rr,V,V,0}, /* le.w.t */
1375 {40,23,rr,V,V,0}, /* le.l.t */
1376 {40,20,rr,S,V,0}, /* le.b.t */
1377 {40,21,rr,S,V,0}, /* le.h.t */
1378 {40,22,rr,S,V,0}, /* le.w.t */
1379 {40,23,rr,S,V,0}, /* le.l.t */
1380 {41,20,rr,V,V,0}, /* lt.b.t */
1381 {41,21,rr,V,V,0}, /* lt.h.t */
1382 {41,22,rr,V,V,0}, /* lt.w.t */
1383 {41,23,rr,V,V,0}, /* lt.l.t */
1384 {41,20,rr,S,V,0}, /* lt.b.t */
1385 {41,21,rr,S,V,0}, /* lt.h.t */
1386 {41,22,rr,S,V,0}, /* lt.w.t */
1387 {41,23,rr,S,V,0}, /* lt.l.t */
1388 {43,20,rr,V,V,0}, /* neg.b.t */
1389 {43,21,rr,V,V,0}, /* neg.h.t */
1390 {43,22,rr,V,V,0}, /* neg.w.t */
1391 {43,23,rr,V,V,0}, /* neg.l.t */
1392 {0,0,0,0,0,0},
1393 {0,0,0,0,0,0},
1394 {0,0,0,0,0,0},
1395 {0,0,0,0,0,0},
1396};
1397struct formstr e1_format4[] = {
1398 {0,0,0,0,0,0},
1399 {0,0,0,0,0,0},
1400 {0,0,0,0,0,0},
1401 {0,0,0,0,0,0},
1402 {0,0,0,0,0,0},
1403 {0,0,0,0,0,0},
1404 {0,0,0,0,0,0},
1405 {0,0,0,0,0,0},
1406};
1407struct formstr e1_format5[] = {
1408 {51,20,rr,V,V,0}, /* ldvi.b.t */
1409 {51,21,rr,V,V,0}, /* ldvi.h.t */
1410 {51,22,rr,V,V,0}, /* ldvi.w.t */
1411 {51,23,rr,V,V,0}, /* ldvi.l.t */
1412 {28,18,rr,V,V,0}, /* cvtw.s.t */
1413 {31,22,rr,V,V,0}, /* cvts.w.t */
1414 {28,23,rr,V,V,0}, /* cvtw.l.t */
1415 {33,22,rr,V,V,0}, /* cvtl.w.t */
1416 {52,20,rxr,V,V,0}, /* stvi.b.t */
1417 {52,21,rxr,V,V,0}, /* stvi.h.t */
1418 {52,22,rxr,V,V,0}, /* stvi.w.t */
1419 {52,23,rxr,V,V,0}, /* stvi.l.t */
1420 {52,20,rxr,S,V,0}, /* stvi.b.t */
1421 {52,21,rxr,S,V,0}, /* stvi.h.t */
1422 {52,22,rxr,S,V,0}, /* stvi.w.t */
1423 {52,23,rxr,S,V,0}, /* stvi.l.t */
1424};
1425struct formstr e1_format6[] = {
1426 {0,0,0,0,0,0},
1427 {0,0,0,0,0,0},
1428 {0,0,0,0,0,0},
1429 {0,0,0,0,0,0},
1430 {0,0,0,0,0,0},
1431 {0,0,0,0,0,0},
1432 {0,0,0,0,0,0},
1433 {0,0,0,0,0,0},
1434 {0,0,0,0,0,0},
1435 {0,0,0,0,0,0},
1436 {0,0,0,0,0,0},
1437 {0,0,0,0,0,0},
1438 {0,0,0,0,0,0},
1439 {0,0,0,0,0,0},
1440 {0,0,0,0,0,0},
1441 {0,0,0,0,0,0},
1442 {0,0,0,0,0,0},
1443 {0,0,0,0,0,0},
1444 {0,0,0,0,0,0},
1445 {0,0,0,0,0,0},
1446 {0,0,0,0,0,0},
1447 {0,0,0,0,0,0},
1448 {0,0,0,0,0,0},
1449 {0,0,0,0,0,0},
1450 {0,0,0,0,0,0},
1451 {0,0,0,0,0,0},
1452 {0,0,0,0,0,0},
1453 {0,0,0,0,0,0},
1454 {0,0,0,0,0,0},
1455 {0,0,0,0,0,0},
1456 {0,0,0,0,0,0},
1457 {0,0,0,0,0,0},
1458 {0,0,0,0,0,0},
1459 {0,0,0,0,0,0},
1460 {0,0,0,0,0,0},
1461 {0,0,0,0,0,0},
1462 {0,0,0,0,0,0},
1463 {0,0,0,0,0,0},
1464 {0,0,0,0,0,0},
1465 {0,0,0,0,0,0},
1466 {0,0,0,0,0,0},
1467 {0,0,0,0,0,0},
1468 {0,0,0,0,0,0},
1469 {0,0,0,0,0,0},
1470 {0,0,0,0,0,0},
1471 {0,0,0,0,0,0},
1472 {0,0,0,0,0,0},
1473 {0,0,0,0,0,0},
1474 {0,0,0,0,0,0},
1475 {0,0,0,0,0,0},
1476 {0,0,0,0,0,0},
1477 {0,0,0,0,0,0},
1478 {0,0,0,0,0,0},
1479 {0,0,0,0,0,0},
1480 {0,0,0,0,0,0},
1481 {0,0,0,0,0,0},
1482 {0,0,0,0,0,0},
1483 {0,0,0,0,0,0},
1484 {0,0,0,0,0,0},
1485 {0,0,0,0,0,0},
1486 {0,0,0,0,0,0},
1487 {0,0,0,0,0,0},
1488 {0,0,0,0,0,0},
1489 {0,0,0,0,0,0},
1490};
1491struct formstr e1_format7[] = {
1492 {84,20,r,V,0,0}, /* sum.b.t */
1493 {84,21,r,V,0,0}, /* sum.h.t */
1494 {84,22,r,V,0,0}, /* sum.w.t */
1495 {84,23,r,V,0,0}, /* sum.l.t */
1496 {85,1,r,V,0,0}, /* all.t */
1497 {86,1,r,V,0,0}, /* any.t */
1498 {87,1,r,V,0,0}, /* parity.t */
1499 {0,0,0,0,0,0},
1500 {88,20,r,V,0,0}, /* max.b.t */
1501 {88,21,r,V,0,0}, /* max.h.t */
1502 {88,22,r,V,0,0}, /* max.w.t */
1503 {88,23,r,V,0,0}, /* max.l.t */
1504 {89,20,r,V,0,0}, /* min.b.t */
1505 {89,21,r,V,0,0}, /* min.h.t */
1506 {89,22,r,V,0,0}, /* min.w.t */
1507 {89,23,r,V,0,0}, /* min.l.t */
1508 {84,18,r,V,0,0}, /* sum.s.t */
1509 {84,19,r,V,0,0}, /* sum.d.t */
1510 {90,18,r,V,0,0}, /* prod.s.t */
1511 {90,19,r,V,0,0}, /* prod.d.t */
1512 {88,18,r,V,0,0}, /* max.s.t */
1513 {88,19,r,V,0,0}, /* max.d.t */
1514 {89,18,r,V,0,0}, /* min.s.t */
1515 {89,19,r,V,0,0}, /* min.d.t */
1516 {90,20,r,V,0,0}, /* prod.b.t */
1517 {90,21,r,V,0,0}, /* prod.h.t */
1518 {90,22,r,V,0,0}, /* prod.w.t */
1519 {90,23,r,V,0,0}, /* prod.l.t */
1520 {0,0,0,0,0,0},
1521 {0,0,0,0,0,0},
1522 {0,0,0,0,0,0},
1523 {0,0,0,0,0,0},
1524};
1525char *lop[] = {
1526 "mov", /* 0 */
1527 "merg", /* 1 */
1528 "mask", /* 2 */
1529 "mul", /* 3 */
1530 "div", /* 4 */
1531 "and", /* 5 */
1532 "or", /* 6 */
1533 "xor", /* 7 */
1534 "shf", /* 8 */
1535 "add", /* 9 */
1536 "sub", /* 10 */
1537 "exit", /* 11 */
1538 "jmp", /* 12 */
1539 "jmpi", /* 13 */
1540 "jmpa", /* 14 */
1541 "jmps", /* 15 */
1542 "tac", /* 16 */
1543 "ldea", /* 17 */
1544 "ld", /* 18 */
1545 "tas", /* 19 */
1546 "pshea", /* 20 */
1547 "st", /* 21 */
1548 "call", /* 22 */
1549 "calls", /* 23 */
1550 "callq", /* 24 */
1551 "pfork", /* 25 */
1552 "ste", /* 26 */
1553 "incr", /* 27 */
1554 "cvtw", /* 28 */
1555 "cvtb", /* 29 */
1556 "cvth", /* 30 */
1557 "cvts", /* 31 */
1558 "cvtd", /* 32 */
1559 "cvtl", /* 33 */
1560 "ldpa", /* 34 */
1561 "plc", /* 35 */
1562 "tzc", /* 36 */
1563 "eq", /* 37 */
1564 "leu", /* 38 */
1565 "ltu", /* 39 */
1566 "le", /* 40 */
1567 "lt", /* 41 */
1568 "not", /* 42 */
1569 "neg", /* 43 */
1570 "lop", /* 44 */
1571 "cprs", /* 45 */
1572 "nop", /* 46 */
1573 "br", /* 47 */
1574 "bri", /* 48 */
1575 "bra", /* 49 */
1576 "brs", /* 50 */
1577 "ldvi", /* 51 */
1578 "stvi", /* 52 */
1579 "ldsdr", /* 53 */
1580 "ldkdr", /* 54 */
1581 "ln", /* 55 */
1582 "patu", /* 56 */
1583 "pate", /* 57 */
1584 "pich", /* 58 */
1585 "plch", /* 59 */
1586 "idle", /* 60 */
1587 "rtnq", /* 61 */
1588 "cfork", /* 62 */
1589 "rtn", /* 63 */
1590 "wfork", /* 64 */
1591 "join", /* 65 */
1592 "rtnc", /* 66 */
1593 "exp", /* 67 */
1594 "sin", /* 68 */
1595 "cos", /* 69 */
1596 "psh", /* 70 */
1597 "pop", /* 71 */
1598 "eni", /* 72 */
1599 "dsi", /* 73 */
1600 "bkpt", /* 74 */
1601 "msync", /* 75 */
1602 "mski", /* 76 */
1603 "xmti", /* 77 */
1604 "tstvv", /* 78 */
1605 "diag", /* 79 */
1606 "pbkpt", /* 80 */
1607 "sqrt", /* 81 */
1608 "casr", /* 82 */
1609 "atan", /* 83 */
1610 "sum", /* 84 */
1611 "all", /* 85 */
1612 "any", /* 86 */
1613 "parity", /* 87 */
1614 "max", /* 88 */
1615 "min", /* 89 */
1616 "prod", /* 90 */
1617 "halt", /* 91 */
1618 "sysc", /* 92 */
1619 "trap", /* 93 */
1620 "tst", /* 94 */
1621 "lck", /* 95 */
1622 "ulk", /* 96 */
1623 "spawn", /* 97 */
1624 "ldcmr", /* 98 */
1625 "stcmr", /* 99 */
1626 "popr", /* 100 */
1627 "pshr", /* 101 */
1628 "rcvr", /* 102 */
1629 "matm", /* 103 */
1630 "sndr", /* 104 */
1631 "putr", /* 105 */
1632 "getr", /* 106 */
1633 "matr", /* 107 */
1634 "mat", /* 108 */
1635 "get", /* 109 */
1636 "rcv", /* 110 */
1637 "inc", /* 111 */
1638 "put", /* 112 */
1639 "snd", /* 113 */
1640 "enal", /* 114 */
1641 "enag", /* 115 */
1642 "frint", /* 116 */
1643 "xpnd", /* 117 */
1644 "ctrsl", /* 118 */
1645 "ctrsg", /* 119 */
1646 "stop", /* 120 */
1647};
1648char *rop[] = {
1649 "", /* 0 */
1650 ".t", /* 1 */
1651 ".f", /* 2 */
1652 ".s", /* 3 */
1653 ".d", /* 4 */
1654 ".b", /* 5 */
1655 ".h", /* 6 */
1656 ".w", /* 7 */
1657 ".l", /* 8 */
1658 ".x", /* 9 */
1659 ".u", /* 10 */
1660 ".s.f", /* 11 */
1661 ".d.f", /* 12 */
1662 ".b.f", /* 13 */
1663 ".h.f", /* 14 */
1664 ".w.f", /* 15 */
1665 ".l.f", /* 16 */
1666 ".t.f", /* 17 */
1667 ".s.t", /* 18 */
1668 ".d.t", /* 19 */
1669 ".b.t", /* 20 */
1670 ".h.t", /* 21 */
1671 ".w.t", /* 22 */
1672 ".l.t", /* 23 */
1673 ".t.t", /* 24 */
1674};
This page took 0.084792 seconds and 4 git commands to generate.