1 /* Include information for instruction dissasembly on the Convex.
2 Copyright (C) 1989, Free Software Foundation.
4 This file is part of GDB.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
49 /* Prevent an error during "make depend". */
67 "v0\0v1\0v2\0v3\0v4\0v5\0v6\0v7",
68 "s0\0s1\0s2\0s3\0s4\0s5\0s6\0s7",
70 "sp\0a1\0a2\0a3\0a4\0a5\0ap\0fp",
89 struct formstr format0
[] = {
90 {0,0,rrr
,V
,S
,S
}, /* mov */
91 {0,0,rrr
,S
,S
,V
}, /* mov */
92 {1,1,rrr
,V
,V
,V
}, /* merg.t */
93 {2,1,rrr
,V
,V
,V
}, /* mask.t */
94 {1,2,rrr
,V
,S
,V
}, /* merg.f */
95 {2,2,rrr
,V
,S
,V
}, /* mask.f */
96 {1,1,rrr
,V
,S
,V
}, /* merg.t */
97 {2,1,rrr
,V
,S
,V
}, /* mask.t */
98 {3,3,rrr
,V
,V
,V
}, /* mul.s */
99 {3,4,rrr
,V
,V
,V
}, /* mul.d */
100 {4,3,rrr
,V
,V
,V
}, /* div.s */
101 {4,4,rrr
,V
,V
,V
}, /* div.d */
102 {3,3,rrr
,V
,S
,V
}, /* mul.s */
103 {3,4,rrr
,V
,S
,V
}, /* mul.d */
104 {4,3,rrr
,V
,S
,V
}, /* div.s */
105 {4,4,rrr
,V
,S
,V
}, /* div.d */
106 {5,0,rrr
,V
,V
,V
}, /* and */
107 {6,0,rrr
,V
,V
,V
}, /* or */
108 {7,0,rrr
,V
,V
,V
}, /* xor */
109 {8,0,rrr
,V
,V
,V
}, /* shf */
110 {5,0,rrr
,V
,S
,V
}, /* and */
111 {6,0,rrr
,V
,S
,V
}, /* or */
112 {7,0,rrr
,V
,S
,V
}, /* xor */
113 {8,0,rrr
,V
,S
,V
}, /* shf */
114 {9,3,rrr
,V
,V
,V
}, /* add.s */
115 {9,4,rrr
,V
,V
,V
}, /* add.d */
116 {10,3,rrr
,V
,V
,V
}, /* sub.s */
117 {10,4,rrr
,V
,V
,V
}, /* sub.d */
118 {9,3,rrr
,V
,S
,V
}, /* add.s */
119 {9,4,rrr
,V
,S
,V
}, /* add.d */
120 {10,3,rrr
,V
,S
,V
}, /* sub.s */
121 {10,4,rrr
,V
,S
,V
}, /* sub.d */
122 {9,5,rrr
,V
,V
,V
}, /* add.b */
123 {9,6,rrr
,V
,V
,V
}, /* add.h */
124 {9,7,rrr
,V
,V
,V
}, /* add.w */
125 {9,8,rrr
,V
,V
,V
}, /* add.l */
126 {9,5,rrr
,V
,S
,V
}, /* add.b */
127 {9,6,rrr
,V
,S
,V
}, /* add.h */
128 {9,7,rrr
,V
,S
,V
}, /* add.w */
129 {9,8,rrr
,V
,S
,V
}, /* add.l */
130 {10,5,rrr
,V
,V
,V
}, /* sub.b */
131 {10,6,rrr
,V
,V
,V
}, /* sub.h */
132 {10,7,rrr
,V
,V
,V
}, /* sub.w */
133 {10,8,rrr
,V
,V
,V
}, /* sub.l */
134 {10,5,rrr
,V
,S
,V
}, /* sub.b */
135 {10,6,rrr
,V
,S
,V
}, /* sub.h */
136 {10,7,rrr
,V
,S
,V
}, /* sub.w */
137 {10,8,rrr
,V
,S
,V
}, /* sub.l */
138 {3,5,rrr
,V
,V
,V
}, /* mul.b */
139 {3,6,rrr
,V
,V
,V
}, /* mul.h */
140 {3,7,rrr
,V
,V
,V
}, /* mul.w */
141 {3,8,rrr
,V
,V
,V
}, /* mul.l */
142 {3,5,rrr
,V
,S
,V
}, /* mul.b */
143 {3,6,rrr
,V
,S
,V
}, /* mul.h */
144 {3,7,rrr
,V
,S
,V
}, /* mul.w */
145 {3,8,rrr
,V
,S
,V
}, /* mul.l */
146 {4,5,rrr
,V
,V
,V
}, /* div.b */
147 {4,6,rrr
,V
,V
,V
}, /* div.h */
148 {4,7,rrr
,V
,V
,V
}, /* div.w */
149 {4,8,rrr
,V
,V
,V
}, /* div.l */
150 {4,5,rrr
,V
,S
,V
}, /* div.b */
151 {4,6,rrr
,V
,S
,V
}, /* div.h */
152 {4,7,rrr
,V
,S
,V
}, /* div.w */
153 {4,8,rrr
,V
,S
,V
}, /* div.l */
155 struct formstr format1
[] = {
156 {11,0,xxx
,0,0,0}, /* exit */
157 {12,0,a3
,0,0,0}, /* jmp */
158 {13,2,a3
,0,0,0}, /* jmpi.f */
159 {13,1,a3
,0,0,0}, /* jmpi.t */
160 {14,2,a3
,0,0,0}, /* jmpa.f */
161 {14,1,a3
,0,0,0}, /* jmpa.t */
162 {15,2,a3
,0,0,0}, /* jmps.f */
163 {15,1,a3
,0,0,0}, /* jmps.t */
164 {16,0,a3
,0,0,0}, /* tac */
165 {17,0,a1r
,A
,0,0}, /* ldea */
166 {18,8,a1l
,VLS
,0,0}, /* ld.l */
167 {18,9,a1l
,VM
,0,0}, /* ld.x */
168 {19,0,a3
,0,0,0}, /* tas */
169 {20,0,a3
,0,0,0}, /* pshea */
170 {21,8,a2l
,VLS
,0,0}, /* st.l */
171 {21,9,a2l
,VM
,0,0}, /* st.x */
188 {22,0,a3
,0,0,0}, /* call */
189 {23,0,a3
,0,0,0}, /* calls */
190 {24,0,a3
,0,0,0}, /* callq */
191 {25,0,a1r
,A
,0,0}, /* pfork */
192 {26,5,a2r
,S
,0,0}, /* ste.b */
193 {26,6,a2r
,S
,0,0}, /* ste.h */
194 {26,7,a2r
,S
,0,0}, /* ste.w */
195 {26,8,a2r
,S
,0,0}, /* ste.l */
196 {18,5,a1r
,A
,0,0}, /* ld.b */
197 {18,6,a1r
,A
,0,0}, /* ld.h */
198 {18,7,a1r
,A
,0,0}, /* ld.w */
199 {27,7,a1r
,A
,0,0}, /* incr.w */
200 {21,5,a2r
,A
,0,0}, /* st.b */
201 {21,6,a2r
,A
,0,0}, /* st.h */
202 {21,7,a2r
,A
,0,0}, /* st.w */
203 {27,8,a1r
,S
,0,0}, /* incr.l */
204 {18,5,a1r
,S
,0,0}, /* ld.b */
205 {18,6,a1r
,S
,0,0}, /* ld.h */
206 {18,7,a1r
,S
,0,0}, /* ld.w */
207 {18,8,a1r
,S
,0,0}, /* ld.l */
208 {21,5,a2r
,S
,0,0}, /* st.b */
209 {21,6,a2r
,S
,0,0}, /* st.h */
210 {21,7,a2r
,S
,0,0}, /* st.w */
211 {21,8,a2r
,S
,0,0}, /* st.l */
212 {18,5,a1r
,V
,0,0}, /* ld.b */
213 {18,6,a1r
,V
,0,0}, /* ld.h */
214 {18,7,a1r
,V
,0,0}, /* ld.w */
215 {18,8,a1r
,V
,0,0}, /* ld.l */
216 {21,5,a2r
,V
,0,0}, /* st.b */
217 {21,6,a2r
,V
,0,0}, /* st.h */
218 {21,7,a2r
,V
,0,0}, /* st.w */
219 {21,8,a2r
,V
,0,0}, /* st.l */
221 struct formstr format2
[] = {
222 {28,5,rr
,A
,A
,0}, /* cvtw.b */
223 {28,6,rr
,A
,A
,0}, /* cvtw.h */
224 {29,7,rr
,A
,A
,0}, /* cvtb.w */
225 {30,7,rr
,A
,A
,0}, /* cvth.w */
226 {28,5,rr
,S
,S
,0}, /* cvtw.b */
227 {28,6,rr
,S
,S
,0}, /* cvtw.h */
228 {29,7,rr
,S
,S
,0}, /* cvtb.w */
229 {30,7,rr
,S
,S
,0}, /* cvth.w */
230 {28,3,rr
,S
,S
,0}, /* cvtw.s */
231 {31,7,rr
,S
,S
,0}, /* cvts.w */
232 {32,3,rr
,S
,S
,0}, /* cvtd.s */
233 {31,4,rr
,S
,S
,0}, /* cvts.d */
234 {31,8,rr
,S
,S
,0}, /* cvts.l */
235 {32,8,rr
,S
,S
,0}, /* cvtd.l */
236 {33,3,rr
,S
,S
,0}, /* cvtl.s */
237 {33,4,rr
,S
,S
,0}, /* cvtl.d */
238 {34,0,rr
,A
,A
,0}, /* ldpa */
239 {8,0,nr
,A
,0,0}, /* shf */
240 {18,6,nr
,A
,0,0}, /* ld.h */
241 {18,7,nr
,A
,0,0}, /* ld.w */
242 {33,7,rr
,S
,S
,0}, /* cvtl.w */
243 {28,8,rr
,S
,S
,0}, /* cvtw.l */
244 {35,1,rr
,S
,S
,0}, /* plc.t */
245 {36,0,rr
,S
,S
,0}, /* tzc */
246 {37,6,rr
,A
,A
,0}, /* eq.h */
247 {37,7,rr
,A
,A
,0}, /* eq.w */
248 {37,6,nr
,A
,0,0}, /* eq.h */
249 {37,7,nr
,A
,0,0}, /* eq.w */
250 {37,5,rr
,S
,S
,0}, /* eq.b */
251 {37,6,rr
,S
,S
,0}, /* eq.h */
252 {37,7,rr
,S
,S
,0}, /* eq.w */
253 {37,8,rr
,S
,S
,0}, /* eq.l */
254 {38,6,rr
,A
,A
,0}, /* leu.h */
255 {38,7,rr
,A
,A
,0}, /* leu.w */
256 {38,6,nr
,A
,0,0}, /* leu.h */
257 {38,7,nr
,A
,0,0}, /* leu.w */
258 {38,5,rr
,S
,S
,0}, /* leu.b */
259 {38,6,rr
,S
,S
,0}, /* leu.h */
260 {38,7,rr
,S
,S
,0}, /* leu.w */
261 {38,8,rr
,S
,S
,0}, /* leu.l */
262 {39,6,rr
,A
,A
,0}, /* ltu.h */
263 {39,7,rr
,A
,A
,0}, /* ltu.w */
264 {39,6,nr
,A
,0,0}, /* ltu.h */
265 {39,7,nr
,A
,0,0}, /* ltu.w */
266 {39,5,rr
,S
,S
,0}, /* ltu.b */
267 {39,6,rr
,S
,S
,0}, /* ltu.h */
268 {39,7,rr
,S
,S
,0}, /* ltu.w */
269 {39,8,rr
,S
,S
,0}, /* ltu.l */
270 {40,6,rr
,A
,A
,0}, /* le.h */
271 {40,7,rr
,A
,A
,0}, /* le.w */
272 {40,6,nr
,A
,0,0}, /* le.h */
273 {40,7,nr
,A
,0,0}, /* le.w */
274 {40,5,rr
,S
,S
,0}, /* le.b */
275 {40,6,rr
,S
,S
,0}, /* le.h */
276 {40,7,rr
,S
,S
,0}, /* le.w */
277 {40,8,rr
,S
,S
,0}, /* le.l */
278 {41,6,rr
,A
,A
,0}, /* lt.h */
279 {41,7,rr
,A
,A
,0}, /* lt.w */
280 {41,6,nr
,A
,0,0}, /* lt.h */
281 {41,7,nr
,A
,0,0}, /* lt.w */
282 {41,5,rr
,S
,S
,0}, /* lt.b */
283 {41,6,rr
,S
,S
,0}, /* lt.h */
284 {41,7,rr
,S
,S
,0}, /* lt.w */
285 {41,8,rr
,S
,S
,0}, /* lt.l */
286 {9,7,rr
,S
,A
,0}, /* add.w */
287 {8,0,rr
,A
,A
,0}, /* shf */
288 {0,0,rr
,A
,A
,0}, /* mov */
289 {0,0,rr
,S
,A
,0}, /* mov */
290 {0,7,rr
,S
,S
,0}, /* mov.w */
291 {8,0,rr
,S
,S
,0}, /* shf */
292 {0,0,rr
,S
,S
,0}, /* mov */
293 {0,0,rr
,A
,S
,0}, /* mov */
294 {5,0,rr
,A
,A
,0}, /* and */
295 {6,0,rr
,A
,A
,0}, /* or */
296 {7,0,rr
,A
,A
,0}, /* xor */
297 {42,0,rr
,A
,A
,0}, /* not */
298 {5,0,rr
,S
,S
,0}, /* and */
299 {6,0,rr
,S
,S
,0}, /* or */
300 {7,0,rr
,S
,S
,0}, /* xor */
301 {42,0,rr
,S
,S
,0}, /* not */
302 {40,3,rr
,S
,S
,0}, /* le.s */
303 {40,4,rr
,S
,S
,0}, /* le.d */
304 {41,3,rr
,S
,S
,0}, /* lt.s */
305 {41,4,rr
,S
,S
,0}, /* lt.d */
306 {9,3,rr
,S
,S
,0}, /* add.s */
307 {9,4,rr
,S
,S
,0}, /* add.d */
308 {10,3,rr
,S
,S
,0}, /* sub.s */
309 {10,4,rr
,S
,S
,0}, /* sub.d */
310 {37,3,rr
,S
,S
,0}, /* eq.s */
311 {37,4,rr
,S
,S
,0}, /* eq.d */
312 {43,6,rr
,A
,A
,0}, /* neg.h */
313 {43,7,rr
,A
,A
,0}, /* neg.w */
314 {3,3,rr
,S
,S
,0}, /* mul.s */
315 {3,4,rr
,S
,S
,0}, /* mul.d */
316 {4,3,rr
,S
,S
,0}, /* div.s */
317 {4,4,rr
,S
,S
,0}, /* div.d */
318 {9,6,rr
,A
,A
,0}, /* add.h */
319 {9,7,rr
,A
,A
,0}, /* add.w */
320 {9,6,nr
,A
,0,0}, /* add.h */
321 {9,7,nr
,A
,0,0}, /* add.w */
322 {9,5,rr
,S
,S
,0}, /* add.b */
323 {9,6,rr
,S
,S
,0}, /* add.h */
324 {9,7,rr
,S
,S
,0}, /* add.w */
325 {9,8,rr
,S
,S
,0}, /* add.l */
326 {10,6,rr
,A
,A
,0}, /* sub.h */
327 {10,7,rr
,A
,A
,0}, /* sub.w */
328 {10,6,nr
,A
,0,0}, /* sub.h */
329 {10,7,nr
,A
,0,0}, /* sub.w */
330 {10,5,rr
,S
,S
,0}, /* sub.b */
331 {10,6,rr
,S
,S
,0}, /* sub.h */
332 {10,7,rr
,S
,S
,0}, /* sub.w */
333 {10,8,rr
,S
,S
,0}, /* sub.l */
334 {3,6,rr
,A
,A
,0}, /* mul.h */
335 {3,7,rr
,A
,A
,0}, /* mul.w */
336 {3,6,nr
,A
,0,0}, /* mul.h */
337 {3,7,nr
,A
,0,0}, /* mul.w */
338 {3,5,rr
,S
,S
,0}, /* mul.b */
339 {3,6,rr
,S
,S
,0}, /* mul.h */
340 {3,7,rr
,S
,S
,0}, /* mul.w */
341 {3,8,rr
,S
,S
,0}, /* mul.l */
342 {4,6,rr
,A
,A
,0}, /* div.h */
343 {4,7,rr
,A
,A
,0}, /* div.w */
344 {4,6,nr
,A
,0,0}, /* div.h */
345 {4,7,nr
,A
,0,0}, /* div.w */
346 {4,5,rr
,S
,S
,0}, /* div.b */
347 {4,6,rr
,S
,S
,0}, /* div.h */
348 {4,7,rr
,S
,S
,0}, /* div.w */
349 {4,8,rr
,S
,S
,0}, /* div.l */
351 struct formstr format3
[] = {
352 {32,3,rr
,V
,V
,0}, /* cvtd.s */
353 {31,4,rr
,V
,V
,0}, /* cvts.d */
354 {33,4,rr
,V
,V
,0}, /* cvtl.d */
355 {32,8,rr
,V
,V
,0}, /* cvtd.l */
356 {0,0,rrl
,S
,S
,VM
}, /* mov */
357 {0,0,rlr
,S
,VM
,S
}, /* mov */
359 {44,0,rr
,S
,S
,0}, /* lop */
360 {36,0,rr
,V
,V
,0}, /* tzc */
361 {44,0,rr
,V
,V
,0}, /* lop */
363 {42,0,rr
,V
,V
,0}, /* not */
364 {8,0,rr
,S
,V
,0}, /* shf */
365 {35,1,rr
,V
,V
,0}, /* plc.t */
366 {45,2,rr
,V
,V
,0}, /* cprs.f */
367 {45,1,rr
,V
,V
,0}, /* cprs.t */
368 {37,3,rr
,V
,V
,0}, /* eq.s */
369 {37,4,rr
,V
,V
,0}, /* eq.d */
370 {43,3,rr
,V
,V
,0}, /* neg.s */
371 {43,4,rr
,V
,V
,0}, /* neg.d */
372 {37,3,rr
,S
,V
,0}, /* eq.s */
373 {37,4,rr
,S
,V
,0}, /* eq.d */
374 {43,3,rr
,S
,S
,0}, /* neg.s */
375 {43,4,rr
,S
,S
,0}, /* neg.d */
376 {40,3,rr
,V
,V
,0}, /* le.s */
377 {40,4,rr
,V
,V
,0}, /* le.d */
378 {41,3,rr
,V
,V
,0}, /* lt.s */
379 {41,4,rr
,V
,V
,0}, /* lt.d */
380 {40,3,rr
,S
,V
,0}, /* le.s */
381 {40,4,rr
,S
,V
,0}, /* le.d */
382 {41,3,rr
,S
,V
,0}, /* lt.s */
383 {41,4,rr
,S
,V
,0}, /* lt.d */
384 {37,5,rr
,V
,V
,0}, /* eq.b */
385 {37,6,rr
,V
,V
,0}, /* eq.h */
386 {37,7,rr
,V
,V
,0}, /* eq.w */
387 {37,8,rr
,V
,V
,0}, /* eq.l */
388 {37,5,rr
,S
,V
,0}, /* eq.b */
389 {37,6,rr
,S
,V
,0}, /* eq.h */
390 {37,7,rr
,S
,V
,0}, /* eq.w */
391 {37,8,rr
,S
,V
,0}, /* eq.l */
392 {40,5,rr
,V
,V
,0}, /* le.b */
393 {40,6,rr
,V
,V
,0}, /* le.h */
394 {40,7,rr
,V
,V
,0}, /* le.w */
395 {40,8,rr
,V
,V
,0}, /* le.l */
396 {40,5,rr
,S
,V
,0}, /* le.b */
397 {40,6,rr
,S
,V
,0}, /* le.h */
398 {40,7,rr
,S
,V
,0}, /* le.w */
399 {40,8,rr
,S
,V
,0}, /* le.l */
400 {41,5,rr
,V
,V
,0}, /* lt.b */
401 {41,6,rr
,V
,V
,0}, /* lt.h */
402 {41,7,rr
,V
,V
,0}, /* lt.w */
403 {41,8,rr
,V
,V
,0}, /* lt.l */
404 {41,5,rr
,S
,V
,0}, /* lt.b */
405 {41,6,rr
,S
,V
,0}, /* lt.h */
406 {41,7,rr
,S
,V
,0}, /* lt.w */
407 {41,8,rr
,S
,V
,0}, /* lt.l */
408 {43,5,rr
,V
,V
,0}, /* neg.b */
409 {43,6,rr
,V
,V
,0}, /* neg.h */
410 {43,7,rr
,V
,V
,0}, /* neg.w */
411 {43,8,rr
,V
,V
,0}, /* neg.l */
412 {43,5,rr
,S
,S
,0}, /* neg.b */
413 {43,6,rr
,S
,S
,0}, /* neg.h */
414 {43,7,rr
,S
,S
,0}, /* neg.w */
415 {43,8,rr
,S
,S
,0}, /* neg.l */
417 struct formstr format4
[] = {
418 {46,0,nops
,0,0,0}, /* nop */
419 {47,0,pcrel
,0,0,0}, /* br */
420 {48,2,pcrel
,0,0,0}, /* bri.f */
421 {48,1,pcrel
,0,0,0}, /* bri.t */
422 {49,2,pcrel
,0,0,0}, /* bra.f */
423 {49,1,pcrel
,0,0,0}, /* bra.t */
424 {50,2,pcrel
,0,0,0}, /* brs.f */
425 {50,1,pcrel
,0,0,0}, /* brs.t */
427 struct formstr format5
[] = {
428 {51,5,rr
,V
,V
,0}, /* ldvi.b */
429 {51,6,rr
,V
,V
,0}, /* ldvi.h */
430 {51,7,rr
,V
,V
,0}, /* ldvi.w */
431 {51,8,rr
,V
,V
,0}, /* ldvi.l */
432 {28,3,rr
,V
,V
,0}, /* cvtw.s */
433 {31,7,rr
,V
,V
,0}, /* cvts.w */
434 {28,8,rr
,V
,V
,0}, /* cvtw.l */
435 {33,7,rr
,V
,V
,0}, /* cvtl.w */
436 {52,5,rxr
,V
,V
,0}, /* stvi.b */
437 {52,6,rxr
,V
,V
,0}, /* stvi.h */
438 {52,7,rxr
,V
,V
,0}, /* stvi.w */
439 {52,8,rxr
,V
,V
,0}, /* stvi.l */
440 {52,5,rxr
,S
,V
,0}, /* stvi.b */
441 {52,6,rxr
,S
,V
,0}, /* stvi.h */
442 {52,7,rxr
,S
,V
,0}, /* stvi.w */
443 {52,8,rxr
,S
,V
,0}, /* stvi.l */
445 struct formstr format6
[] = {
446 {53,0,r
,A
,0,0}, /* ldsdr */
447 {54,0,r
,A
,0,0}, /* ldkdr */
448 {55,3,r
,S
,0,0}, /* ln.s */
449 {55,4,r
,S
,0,0}, /* ln.d */
450 {56,0,nops
,0,0,0}, /* patu */
451 {57,0,r
,A
,0,0}, /* pate */
452 {58,0,nops
,0,0,0}, /* pich */
453 {59,0,nops
,0,0,0}, /* plch */
454 {0,0,lr
,PSW
,A
,0}, /* mov */
455 {0,0,rxl
,A
,PSW
,0}, /* mov */
456 {0,0,lr
,PC
,A
,0}, /* mov */
457 {60,0,r
,S
,0,0}, /* idle */
458 {0,0,lr
,ITR
,S
,0}, /* mov */
459 {0,0,rxl
,S
,ITR
,0}, /* mov */
461 {0,0,rxl
,S
,ITSR
,0}, /* mov */
462 {61,0,nops
,0,0,0}, /* rtnq */
463 {62,0,nops
,0,0,0}, /* cfork */
464 {63,0,nops
,0,0,0}, /* rtn */
465 {64,0,nops
,0,0,0}, /* wfork */
466 {65,0,nops
,0,0,0}, /* join */
467 {66,0,nops
,0,0,0}, /* rtnc */
468 {67,3,r
,S
,0,0}, /* exp.s */
469 {67,4,r
,S
,0,0}, /* exp.d */
470 {68,3,r
,S
,0,0}, /* sin.s */
471 {68,4,r
,S
,0,0}, /* sin.d */
474 {69,3,r
,S
,0,0}, /* cos.s */
475 {69,4,r
,S
,0,0}, /* cos.d */
478 {70,7,r
,A
,0,0}, /* psh.w */
480 {71,7,r
,A
,0,0}, /* pop.w */
482 {70,7,r
,S
,0,0}, /* psh.w */
483 {70,8,r
,S
,0,0}, /* psh.l */
484 {71,7,r
,S
,0,0}, /* pop.w */
485 {71,8,r
,S
,0,0}, /* pop.l */
486 {72,0,nops
,0,0,0}, /* eni */
487 {73,0,nops
,0,0,0}, /* dsi */
488 {74,0,nops
,0,0,0}, /* bkpt */
489 {75,0,nops
,0,0,0}, /* msync */
490 {76,0,r
,S
,0,0}, /* mski */
491 {77,0,r
,S
,0,0}, /* xmti */
492 {0,0,rxl
,S
,VV
,0}, /* mov */
493 {78,0,nops
,0,0,0}, /* tstvv */
494 {0,0,lr
,VS
,A
,0}, /* mov */
495 {0,0,rxl
,A
,VS
,0}, /* mov */
496 {0,0,lr
,VL
,A
,0}, /* mov */
497 {0,0,rxl
,A
,VL
,0}, /* mov */
498 {0,7,lr
,VS
,S
,0}, /* mov.w */
499 {0,7,rxl
,S
,VS
,0}, /* mov.w */
500 {0,7,lr
,VL
,S
,0}, /* mov.w */
501 {0,7,rxl
,S
,VL
,0}, /* mov.w */
502 {79,0,r
,A
,0,0}, /* diag */
503 {80,0,nops
,0,0,0}, /* pbkpt */
504 {81,3,r
,S
,0,0}, /* sqrt.s */
505 {81,4,r
,S
,0,0}, /* sqrt.d */
506 {82,0,nops
,0,0,0}, /* casr */
508 {83,3,r
,S
,0,0}, /* atan.s */
509 {83,4,r
,S
,0,0}, /* atan.d */
511 struct formstr format7
[] = {
512 {84,5,r
,V
,0,0}, /* sum.b */
513 {84,6,r
,V
,0,0}, /* sum.h */
514 {84,7,r
,V
,0,0}, /* sum.w */
515 {84,8,r
,V
,0,0}, /* sum.l */
516 {85,0,r
,V
,0,0}, /* all */
517 {86,0,r
,V
,0,0}, /* any */
518 {87,0,r
,V
,0,0}, /* parity */
520 {88,5,r
,V
,0,0}, /* max.b */
521 {88,6,r
,V
,0,0}, /* max.h */
522 {88,7,r
,V
,0,0}, /* max.w */
523 {88,8,r
,V
,0,0}, /* max.l */
524 {89,5,r
,V
,0,0}, /* min.b */
525 {89,6,r
,V
,0,0}, /* min.h */
526 {89,7,r
,V
,0,0}, /* min.w */
527 {89,8,r
,V
,0,0}, /* min.l */
528 {84,3,r
,V
,0,0}, /* sum.s */
529 {84,4,r
,V
,0,0}, /* sum.d */
530 {90,3,r
,V
,0,0}, /* prod.s */
531 {90,4,r
,V
,0,0}, /* prod.d */
532 {88,3,r
,V
,0,0}, /* max.s */
533 {88,4,r
,V
,0,0}, /* max.d */
534 {89,3,r
,V
,0,0}, /* min.s */
535 {89,4,r
,V
,0,0}, /* min.d */
536 {90,5,r
,V
,0,0}, /* prod.b */
537 {90,6,r
,V
,0,0}, /* prod.h */
538 {90,7,r
,V
,0,0}, /* prod.w */
539 {90,8,r
,V
,0,0}, /* prod.l */
540 {35,2,lr
,VM
,S
,0}, /* plc.f */
541 {35,1,lr
,VM
,S
,0}, /* plc.t */
545 struct formstr formatx
[] = {
548 struct formstr format1a
[] = {
549 {91,0,imr
,A
,0,0}, /* halt */
550 {92,0,a4
,0,0,0}, /* sysc */
551 {18,6,imr
,A
,0,0}, /* ld.h */
552 {18,7,imr
,A
,0,0}, /* ld.w */
553 {5,0,imr
,A
,0,0}, /* and */
554 {6,0,imr
,A
,0,0}, /* or */
555 {7,0,imr
,A
,0,0}, /* xor */
556 {8,0,imr
,A
,0,0}, /* shf */
557 {9,6,imr
,A
,0,0}, /* add.h */
558 {9,7,imr
,A
,0,0}, /* add.w */
559 {10,6,imr
,A
,0,0}, /* sub.h */
560 {10,7,imr
,A
,0,0}, /* sub.w */
561 {3,6,imr
,A
,0,0}, /* mul.h */
562 {3,7,imr
,A
,0,0}, /* mul.w */
563 {4,6,imr
,A
,0,0}, /* div.h */
564 {4,7,imr
,A
,0,0}, /* div.w */
565 {18,7,iml
,VL
,0,0}, /* ld.w */
566 {18,7,iml
,VS
,0,0}, /* ld.w */
568 {8,7,imr
,S
,0,0}, /* shf.w */
569 {93,0,a5
,0,0,0}, /* trap */
571 {37,6,imr
,A
,0,0}, /* eq.h */
572 {37,7,imr
,A
,0,0}, /* eq.w */
573 {38,6,imr
,A
,0,0}, /* leu.h */
574 {38,7,imr
,A
,0,0}, /* leu.w */
575 {39,6,imr
,A
,0,0}, /* ltu.h */
576 {39,7,imr
,A
,0,0}, /* ltu.w */
577 {40,6,imr
,A
,0,0}, /* le.h */
578 {40,7,imr
,A
,0,0}, /* le.w */
579 {41,6,imr
,A
,0,0}, /* lt.h */
580 {41,7,imr
,A
,0,0}, /* lt.w */
582 struct formstr format1b
[] = {
583 {18,4,imr
,S
,0,0}, /* ld.d */
584 {18,10,imr
,S
,0,0}, /* ld.u */
585 {18,8,imr
,S
,0,0}, /* ld.l */
586 {18,7,imr
,S
,0,0}, /* ld.w */
587 {5,0,imr
,S
,0,0}, /* and */
588 {6,0,imr
,S
,0,0}, /* or */
589 {7,0,imr
,S
,0,0}, /* xor */
590 {8,0,imr
,S
,0,0}, /* shf */
591 {9,6,imr
,S
,0,0}, /* add.h */
592 {9,7,imr
,S
,0,0}, /* add.w */
593 {10,6,imr
,S
,0,0}, /* sub.h */
594 {10,7,imr
,S
,0,0}, /* sub.w */
595 {3,6,imr
,S
,0,0}, /* mul.h */
596 {3,7,imr
,S
,0,0}, /* mul.w */
597 {4,6,imr
,S
,0,0}, /* div.h */
598 {4,7,imr
,S
,0,0}, /* div.w */
599 {9,3,imr
,S
,0,0}, /* add.s */
600 {10,3,imr
,S
,0,0}, /* sub.s */
601 {3,3,imr
,S
,0,0}, /* mul.s */
602 {4,3,imr
,S
,0,0}, /* div.s */
603 {40,3,imr
,S
,0,0}, /* le.s */
604 {41,3,imr
,S
,0,0}, /* lt.s */
605 {37,6,imr
,S
,0,0}, /* eq.h */
606 {37,7,imr
,S
,0,0}, /* eq.w */
607 {38,6,imr
,S
,0,0}, /* leu.h */
608 {38,7,imr
,S
,0,0}, /* leu.w */
609 {39,6,imr
,S
,0,0}, /* ltu.h */
610 {39,7,imr
,S
,0,0}, /* ltu.w */
611 {40,6,imr
,S
,0,0}, /* le.h */
612 {40,7,imr
,S
,0,0}, /* le.w */
613 {41,6,imr
,S
,0,0}, /* lt.h */
614 {41,7,imr
,S
,0,0}, /* lt.w */
616 struct formstr e0_format0
[] = {
617 {10,3,rrr
,S
,V
,V
}, /* sub.s */
618 {10,4,rrr
,S
,V
,V
}, /* sub.d */
619 {4,3,rrr
,S
,V
,V
}, /* div.s */
620 {4,4,rrr
,S
,V
,V
}, /* div.d */
621 {10,11,rrr
,S
,V
,V
}, /* sub.s.f */
622 {10,12,rrr
,S
,V
,V
}, /* sub.d.f */
623 {4,11,rrr
,S
,V
,V
}, /* div.s.f */
624 {4,12,rrr
,S
,V
,V
}, /* div.d.f */
625 {3,11,rrr
,V
,V
,V
}, /* mul.s.f */
626 {3,12,rrr
,V
,V
,V
}, /* mul.d.f */
627 {4,11,rrr
,V
,V
,V
}, /* div.s.f */
628 {4,12,rrr
,V
,V
,V
}, /* div.d.f */
629 {3,11,rrr
,V
,S
,V
}, /* mul.s.f */
630 {3,12,rrr
,V
,S
,V
}, /* mul.d.f */
631 {4,11,rrr
,V
,S
,V
}, /* div.s.f */
632 {4,12,rrr
,V
,S
,V
}, /* div.d.f */
633 {5,2,rrr
,V
,V
,V
}, /* and.f */
634 {6,2,rrr
,V
,V
,V
}, /* or.f */
635 {7,2,rrr
,V
,V
,V
}, /* xor.f */
636 {8,2,rrr
,V
,V
,V
}, /* shf.f */
637 {5,2,rrr
,V
,S
,V
}, /* and.f */
638 {6,2,rrr
,V
,S
,V
}, /* or.f */
639 {7,2,rrr
,V
,S
,V
}, /* xor.f */
640 {8,2,rrr
,V
,S
,V
}, /* shf.f */
641 {9,11,rrr
,V
,V
,V
}, /* add.s.f */
642 {9,12,rrr
,V
,V
,V
}, /* add.d.f */
643 {10,11,rrr
,V
,V
,V
}, /* sub.s.f */
644 {10,12,rrr
,V
,V
,V
}, /* sub.d.f */
645 {9,11,rrr
,V
,S
,V
}, /* add.s.f */
646 {9,12,rrr
,V
,S
,V
}, /* add.d.f */
647 {10,11,rrr
,V
,S
,V
}, /* sub.s.f */
648 {10,12,rrr
,V
,S
,V
}, /* sub.d.f */
649 {9,13,rrr
,V
,V
,V
}, /* add.b.f */
650 {9,14,rrr
,V
,V
,V
}, /* add.h.f */
651 {9,15,rrr
,V
,V
,V
}, /* add.w.f */
652 {9,16,rrr
,V
,V
,V
}, /* add.l.f */
653 {9,13,rrr
,V
,S
,V
}, /* add.b.f */
654 {9,14,rrr
,V
,S
,V
}, /* add.h.f */
655 {9,15,rrr
,V
,S
,V
}, /* add.w.f */
656 {9,16,rrr
,V
,S
,V
}, /* add.l.f */
657 {10,13,rrr
,V
,V
,V
}, /* sub.b.f */
658 {10,14,rrr
,V
,V
,V
}, /* sub.h.f */
659 {10,15,rrr
,V
,V
,V
}, /* sub.w.f */
660 {10,16,rrr
,V
,V
,V
}, /* sub.l.f */
661 {10,13,rrr
,V
,S
,V
}, /* sub.b.f */
662 {10,14,rrr
,V
,S
,V
}, /* sub.h.f */
663 {10,15,rrr
,V
,S
,V
}, /* sub.w.f */
664 {10,16,rrr
,V
,S
,V
}, /* sub.l.f */
665 {3,13,rrr
,V
,V
,V
}, /* mul.b.f */
666 {3,14,rrr
,V
,V
,V
}, /* mul.h.f */
667 {3,15,rrr
,V
,V
,V
}, /* mul.w.f */
668 {3,16,rrr
,V
,V
,V
}, /* mul.l.f */
669 {3,13,rrr
,V
,S
,V
}, /* mul.b.f */
670 {3,14,rrr
,V
,S
,V
}, /* mul.h.f */
671 {3,15,rrr
,V
,S
,V
}, /* mul.w.f */
672 {3,16,rrr
,V
,S
,V
}, /* mul.l.f */
673 {4,13,rrr
,V
,V
,V
}, /* div.b.f */
674 {4,14,rrr
,V
,V
,V
}, /* div.h.f */
675 {4,15,rrr
,V
,V
,V
}, /* div.w.f */
676 {4,16,rrr
,V
,V
,V
}, /* div.l.f */
677 {4,13,rrr
,V
,S
,V
}, /* div.b.f */
678 {4,14,rrr
,V
,S
,V
}, /* div.h.f */
679 {4,15,rrr
,V
,S
,V
}, /* div.w.f */
680 {4,16,rrr
,V
,S
,V
}, /* div.l.f */
682 struct formstr e0_format1
[] = {
684 {94,0,a3
,0,0,0}, /* tst */
685 {95,0,a3
,0,0,0}, /* lck */
686 {96,0,a3
,0,0,0}, /* ulk */
687 {17,0,a1r
,S
,0,0}, /* ldea */
688 {97,0,a1r
,A
,0,0}, /* spawn */
689 {98,0,a1r
,A
,0,0}, /* ldcmr */
690 {99,0,a2r
,A
,0,0}, /* stcmr */
691 {100,0,a1r
,A
,0,0}, /* popr */
692 {101,0,a2r
,A
,0,0}, /* pshr */
693 {102,7,a1r
,A
,0,0}, /* rcvr.w */
694 {103,7,a2r
,A
,0,0}, /* matm.w */
695 {104,7,a2r
,A
,0,0}, /* sndr.w */
696 {104,8,a2r
,S
,0,0}, /* sndr.l */
697 {102,8,a1r
,S
,0,0}, /* rcvr.l */
698 {103,8,a2r
,S
,0,0}, /* matm.l */
715 {105,7,a2r
,A
,0,0}, /* putr.w */
716 {105,8,a2r
,S
,0,0}, /* putr.l */
717 {106,7,a1r
,A
,0,0}, /* getr.w */
718 {106,8,a1r
,S
,0,0}, /* getr.l */
719 {26,13,a2r
,S
,0,0}, /* ste.b.f */
720 {26,14,a2r
,S
,0,0}, /* ste.h.f */
721 {26,15,a2r
,S
,0,0}, /* ste.w.f */
722 {26,16,a2r
,S
,0,0}, /* ste.l.f */
723 {107,7,a2r
,A
,0,0}, /* matr.w */
724 {108,7,a2r
,A
,0,0}, /* mat.w */
725 {109,7,a1r
,A
,0,0}, /* get.w */
726 {110,7,a1r
,A
,0,0}, /* rcv.w */
728 {111,7,a1r
,A
,0,0}, /* inc.w */
729 {112,7,a2r
,A
,0,0}, /* put.w */
730 {113,7,a2r
,A
,0,0}, /* snd.w */
731 {107,8,a2r
,S
,0,0}, /* matr.l */
732 {108,8,a2r
,S
,0,0}, /* mat.l */
733 {109,8,a1r
,S
,0,0}, /* get.l */
734 {110,8,a1r
,S
,0,0}, /* rcv.l */
736 {111,8,a1r
,S
,0,0}, /* inc.l */
737 {112,8,a2r
,S
,0,0}, /* put.l */
738 {113,8,a2r
,S
,0,0}, /* snd.l */
739 {18,13,a1r
,V
,0,0}, /* ld.b.f */
740 {18,14,a1r
,V
,0,0}, /* ld.h.f */
741 {18,15,a1r
,V
,0,0}, /* ld.w.f */
742 {18,16,a1r
,V
,0,0}, /* ld.l.f */
743 {21,13,a2r
,V
,0,0}, /* st.b.f */
744 {21,14,a2r
,V
,0,0}, /* st.h.f */
745 {21,15,a2r
,V
,0,0}, /* st.w.f */
746 {21,16,a2r
,V
,0,0}, /* st.l.f */
748 struct formstr e0_format2
[] = {
749 {28,5,rr
,V
,V
,0}, /* cvtw.b */
750 {28,6,rr
,V
,V
,0}, /* cvtw.h */
751 {29,7,rr
,V
,V
,0}, /* cvtb.w */
752 {30,7,rr
,V
,V
,0}, /* cvth.w */
753 {28,13,rr
,V
,V
,0}, /* cvtw.b.f */
754 {28,14,rr
,V
,V
,0}, /* cvtw.h.f */
755 {29,15,rr
,V
,V
,0}, /* cvtb.w.f */
756 {30,15,rr
,V
,V
,0}, /* cvth.w.f */
757 {31,8,rr
,V
,V
,0}, /* cvts.l */
758 {32,7,rr
,V
,V
,0}, /* cvtd.w */
759 {33,3,rr
,V
,V
,0}, /* cvtl.s */
760 {28,4,rr
,V
,V
,0}, /* cvtw.d */
761 {31,16,rr
,V
,V
,0}, /* cvts.l.f */
762 {32,15,rr
,V
,V
,0}, /* cvtd.w.f */
763 {33,11,rr
,V
,V
,0}, /* cvtl.s.f */
764 {28,12,rr
,V
,V
,0}, /* cvtw.d.f */
765 {114,0,rr
,S
,S
,0}, /* enal */
766 {8,7,rr
,S
,S
,0}, /* shf.w */
767 {115,0,rr
,S
,S
,0}, /* enag */
769 {28,4,rr
,S
,S
,0}, /* cvtw.d */
770 {32,7,rr
,S
,S
,0}, /* cvtd.w */
777 {116,3,rr
,S
,S
,0}, /* frint.s */
778 {116,4,rr
,S
,S
,0}, /* frint.d */
847 {116,3,rr
,V
,V
,0}, /* frint.s */
848 {116,4,rr
,V
,V
,0}, /* frint.d */
851 {116,11,rr
,V
,V
,0}, /* frint.s.f */
852 {116,12,rr
,V
,V
,0}, /* frint.d.f */
865 {81,3,rr
,V
,V
,0}, /* sqrt.s */
866 {81,4,rr
,V
,V
,0}, /* sqrt.d */
873 {81,11,rr
,V
,V
,0}, /* sqrt.s.f */
874 {81,12,rr
,V
,V
,0}, /* sqrt.d.f */
878 struct formstr e0_format3
[] = {
879 {32,11,rr
,V
,V
,0}, /* cvtd.s.f */
880 {31,12,rr
,V
,V
,0}, /* cvts.d.f */
881 {33,12,rr
,V
,V
,0}, /* cvtl.d.f */
882 {32,16,rr
,V
,V
,0}, /* cvtd.l.f */
887 {36,2,rr
,V
,V
,0}, /* tzc.f */
888 {44,2,rr
,V
,V
,0}, /* lop.f */
889 {117,2,rr
,V
,V
,0}, /* xpnd.f */
890 {42,2,rr
,V
,V
,0}, /* not.f */
891 {8,2,rr
,S
,V
,0}, /* shf.f */
892 {35,17,rr
,V
,V
,0}, /* plc.t.f */
895 {37,11,rr
,V
,V
,0}, /* eq.s.f */
896 {37,12,rr
,V
,V
,0}, /* eq.d.f */
897 {43,11,rr
,V
,V
,0}, /* neg.s.f */
898 {43,12,rr
,V
,V
,0}, /* neg.d.f */
899 {37,11,rr
,S
,V
,0}, /* eq.s.f */
900 {37,12,rr
,S
,V
,0}, /* eq.d.f */
903 {40,11,rr
,V
,V
,0}, /* le.s.f */
904 {40,12,rr
,V
,V
,0}, /* le.d.f */
905 {41,11,rr
,V
,V
,0}, /* lt.s.f */
906 {41,12,rr
,V
,V
,0}, /* lt.d.f */
907 {40,11,rr
,S
,V
,0}, /* le.s.f */
908 {40,12,rr
,S
,V
,0}, /* le.d.f */
909 {41,11,rr
,S
,V
,0}, /* lt.s.f */
910 {41,12,rr
,S
,V
,0}, /* lt.d.f */
911 {37,13,rr
,V
,V
,0}, /* eq.b.f */
912 {37,14,rr
,V
,V
,0}, /* eq.h.f */
913 {37,15,rr
,V
,V
,0}, /* eq.w.f */
914 {37,16,rr
,V
,V
,0}, /* eq.l.f */
915 {37,13,rr
,S
,V
,0}, /* eq.b.f */
916 {37,14,rr
,S
,V
,0}, /* eq.h.f */
917 {37,15,rr
,S
,V
,0}, /* eq.w.f */
918 {37,16,rr
,S
,V
,0}, /* eq.l.f */
919 {40,13,rr
,V
,V
,0}, /* le.b.f */
920 {40,14,rr
,V
,V
,0}, /* le.h.f */
921 {40,15,rr
,V
,V
,0}, /* le.w.f */
922 {40,16,rr
,V
,V
,0}, /* le.l.f */
923 {40,13,rr
,S
,V
,0}, /* le.b.f */
924 {40,14,rr
,S
,V
,0}, /* le.h.f */
925 {40,15,rr
,S
,V
,0}, /* le.w.f */
926 {40,16,rr
,S
,V
,0}, /* le.l.f */
927 {41,13,rr
,V
,V
,0}, /* lt.b.f */
928 {41,14,rr
,V
,V
,0}, /* lt.h.f */
929 {41,15,rr
,V
,V
,0}, /* lt.w.f */
930 {41,16,rr
,V
,V
,0}, /* lt.l.f */
931 {41,13,rr
,S
,V
,0}, /* lt.b.f */
932 {41,14,rr
,S
,V
,0}, /* lt.h.f */
933 {41,15,rr
,S
,V
,0}, /* lt.w.f */
934 {41,16,rr
,S
,V
,0}, /* lt.l.f */
935 {43,13,rr
,V
,V
,0}, /* neg.b.f */
936 {43,14,rr
,V
,V
,0}, /* neg.h.f */
937 {43,15,rr
,V
,V
,0}, /* neg.w.f */
938 {43,16,rr
,V
,V
,0}, /* neg.l.f */
944 struct formstr e0_format4
[] = {
954 struct formstr e0_format5
[] = {
955 {51,13,rr
,V
,V
,0}, /* ldvi.b.f */
956 {51,14,rr
,V
,V
,0}, /* ldvi.h.f */
957 {51,15,rr
,V
,V
,0}, /* ldvi.w.f */
958 {51,16,rr
,V
,V
,0}, /* ldvi.l.f */
959 {28,11,rr
,V
,V
,0}, /* cvtw.s.f */
960 {31,15,rr
,V
,V
,0}, /* cvts.w.f */
961 {28,16,rr
,V
,V
,0}, /* cvtw.l.f */
962 {33,15,rr
,V
,V
,0}, /* cvtl.w.f */
963 {52,13,rxr
,V
,V
,0}, /* stvi.b.f */
964 {52,14,rxr
,V
,V
,0}, /* stvi.h.f */
965 {52,15,rxr
,V
,V
,0}, /* stvi.w.f */
966 {52,16,rxr
,V
,V
,0}, /* stvi.l.f */
967 {52,13,rxr
,S
,V
,0}, /* stvi.b.f */
968 {52,14,rxr
,S
,V
,0}, /* stvi.h.f */
969 {52,15,rxr
,S
,V
,0}, /* stvi.w.f */
970 {52,16,rxr
,S
,V
,0}, /* stvi.l.f */
972 struct formstr e0_format6
[] = {
973 {0,0,rxl
,S
,CIR
,0}, /* mov */
974 {0,0,lr
,CIR
,S
,0}, /* mov */
975 {0,0,lr
,TOC
,S
,0}, /* mov */
976 {0,0,lr
,CPUID
,S
,0}, /* mov */
977 {0,0,rxl
,S
,TTR
,0}, /* mov */
978 {0,0,lr
,TTR
,S
,0}, /* mov */
979 {118,0,nops
,0,0,0}, /* ctrsl */
980 {119,0,nops
,0,0,0}, /* ctrsg */
981 {0,0,rxl
,S
,VMU
,0}, /* mov */
982 {0,0,lr
,VMU
,S
,0}, /* mov */
983 {0,0,rxl
,S
,VML
,0}, /* mov */
984 {0,0,lr
,VML
,S
,0}, /* mov */
985 {0,0,rxl
,S
,ICR
,0}, /* mov */
986 {0,0,lr
,ICR
,S
,0}, /* mov */
987 {0,0,rxl
,S
,TCPU
,0}, /* mov */
988 {0,0,lr
,TCPU
,S
,0}, /* mov */
993 {120,0,nops
,0,0,0}, /* stop */
995 {0,0,rxl
,S
,TID
,0}, /* mov */
996 {0,0,lr
,TID
,S
,0}, /* mov */
1038 struct formstr e0_format7
[] = {
1039 {84,13,r
,V
,0,0}, /* sum.b.f */
1040 {84,14,r
,V
,0,0}, /* sum.h.f */
1041 {84,15,r
,V
,0,0}, /* sum.w.f */
1042 {84,16,r
,V
,0,0}, /* sum.l.f */
1043 {85,2,r
,V
,0,0}, /* all.f */
1044 {86,2,r
,V
,0,0}, /* any.f */
1045 {87,2,r
,V
,0,0}, /* parity.f */
1047 {88,13,r
,V
,0,0}, /* max.b.f */
1048 {88,14,r
,V
,0,0}, /* max.h.f */
1049 {88,15,r
,V
,0,0}, /* max.w.f */
1050 {88,16,r
,V
,0,0}, /* max.l.f */
1051 {89,13,r
,V
,0,0}, /* min.b.f */
1052 {89,14,r
,V
,0,0}, /* min.h.f */
1053 {89,15,r
,V
,0,0}, /* min.w.f */
1054 {89,16,r
,V
,0,0}, /* min.l.f */
1055 {84,11,r
,V
,0,0}, /* sum.s.f */
1056 {84,12,r
,V
,0,0}, /* sum.d.f */
1057 {90,11,r
,V
,0,0}, /* prod.s.f */
1058 {90,12,r
,V
,0,0}, /* prod.d.f */
1059 {88,11,r
,V
,0,0}, /* max.s.f */
1060 {88,12,r
,V
,0,0}, /* max.d.f */
1061 {89,11,r
,V
,0,0}, /* min.s.f */
1062 {89,12,r
,V
,0,0}, /* min.d.f */
1063 {90,13,r
,V
,0,0}, /* prod.b.f */
1064 {90,14,r
,V
,0,0}, /* prod.h.f */
1065 {90,15,r
,V
,0,0}, /* prod.w.f */
1066 {90,16,r
,V
,0,0}, /* prod.l.f */
1072 struct formstr e1_format0
[] = {
1077 {10,18,rrr
,S
,V
,V
}, /* sub.s.t */
1078 {10,19,rrr
,S
,V
,V
}, /* sub.d.t */
1079 {4,18,rrr
,S
,V
,V
}, /* div.s.t */
1080 {4,19,rrr
,S
,V
,V
}, /* div.d.t */
1081 {3,18,rrr
,V
,V
,V
}, /* mul.s.t */
1082 {3,19,rrr
,V
,V
,V
}, /* mul.d.t */
1083 {4,18,rrr
,V
,V
,V
}, /* div.s.t */
1084 {4,19,rrr
,V
,V
,V
}, /* div.d.t */
1085 {3,18,rrr
,V
,S
,V
}, /* mul.s.t */
1086 {3,19,rrr
,V
,S
,V
}, /* mul.d.t */
1087 {4,18,rrr
,V
,S
,V
}, /* div.s.t */
1088 {4,19,rrr
,V
,S
,V
}, /* div.d.t */
1089 {5,1,rrr
,V
,V
,V
}, /* and.t */
1090 {6,1,rrr
,V
,V
,V
}, /* or.t */
1091 {7,1,rrr
,V
,V
,V
}, /* xor.t */
1092 {8,1,rrr
,V
,V
,V
}, /* shf.t */
1093 {5,1,rrr
,V
,S
,V
}, /* and.t */
1094 {6,1,rrr
,V
,S
,V
}, /* or.t */
1095 {7,1,rrr
,V
,S
,V
}, /* xor.t */
1096 {8,1,rrr
,V
,S
,V
}, /* shf.t */
1097 {9,18,rrr
,V
,V
,V
}, /* add.s.t */
1098 {9,19,rrr
,V
,V
,V
}, /* add.d.t */
1099 {10,18,rrr
,V
,V
,V
}, /* sub.s.t */
1100 {10,19,rrr
,V
,V
,V
}, /* sub.d.t */
1101 {9,18,rrr
,V
,S
,V
}, /* add.s.t */
1102 {9,19,rrr
,V
,S
,V
}, /* add.d.t */
1103 {10,18,rrr
,V
,S
,V
}, /* sub.s.t */
1104 {10,19,rrr
,V
,S
,V
}, /* sub.d.t */
1105 {9,20,rrr
,V
,V
,V
}, /* add.b.t */
1106 {9,21,rrr
,V
,V
,V
}, /* add.h.t */
1107 {9,22,rrr
,V
,V
,V
}, /* add.w.t */
1108 {9,23,rrr
,V
,V
,V
}, /* add.l.t */
1109 {9,20,rrr
,V
,S
,V
}, /* add.b.t */
1110 {9,21,rrr
,V
,S
,V
}, /* add.h.t */
1111 {9,22,rrr
,V
,S
,V
}, /* add.w.t */
1112 {9,23,rrr
,V
,S
,V
}, /* add.l.t */
1113 {10,20,rrr
,V
,V
,V
}, /* sub.b.t */
1114 {10,21,rrr
,V
,V
,V
}, /* sub.h.t */
1115 {10,22,rrr
,V
,V
,V
}, /* sub.w.t */
1116 {10,23,rrr
,V
,V
,V
}, /* sub.l.t */
1117 {10,20,rrr
,V
,S
,V
}, /* sub.b.t */
1118 {10,21,rrr
,V
,S
,V
}, /* sub.h.t */
1119 {10,22,rrr
,V
,S
,V
}, /* sub.w.t */
1120 {10,23,rrr
,V
,S
,V
}, /* sub.l.t */
1121 {3,20,rrr
,V
,V
,V
}, /* mul.b.t */
1122 {3,21,rrr
,V
,V
,V
}, /* mul.h.t */
1123 {3,22,rrr
,V
,V
,V
}, /* mul.w.t */
1124 {3,23,rrr
,V
,V
,V
}, /* mul.l.t */
1125 {3,20,rrr
,V
,S
,V
}, /* mul.b.t */
1126 {3,21,rrr
,V
,S
,V
}, /* mul.h.t */
1127 {3,22,rrr
,V
,S
,V
}, /* mul.w.t */
1128 {3,23,rrr
,V
,S
,V
}, /* mul.l.t */
1129 {4,20,rrr
,V
,V
,V
}, /* div.b.t */
1130 {4,21,rrr
,V
,V
,V
}, /* div.h.t */
1131 {4,22,rrr
,V
,V
,V
}, /* div.w.t */
1132 {4,23,rrr
,V
,V
,V
}, /* div.l.t */
1133 {4,20,rrr
,V
,S
,V
}, /* div.b.t */
1134 {4,21,rrr
,V
,S
,V
}, /* div.h.t */
1135 {4,22,rrr
,V
,S
,V
}, /* div.w.t */
1136 {4,23,rrr
,V
,S
,V
}, /* div.l.t */
1138 struct formstr e1_format1
[] = {
1175 {26,20,a2r
,S
,0,0}, /* ste.b.t */
1176 {26,21,a2r
,S
,0,0}, /* ste.h.t */
1177 {26,22,a2r
,S
,0,0}, /* ste.w.t */
1178 {26,23,a2r
,S
,0,0}, /* ste.l.t */
1195 {18,20,a1r
,V
,0,0}, /* ld.b.t */
1196 {18,21,a1r
,V
,0,0}, /* ld.h.t */
1197 {18,22,a1r
,V
,0,0}, /* ld.w.t */
1198 {18,23,a1r
,V
,0,0}, /* ld.l.t */
1199 {21,20,a2r
,V
,0,0}, /* st.b.t */
1200 {21,21,a2r
,V
,0,0}, /* st.h.t */
1201 {21,22,a2r
,V
,0,0}, /* st.w.t */
1202 {21,23,a2r
,V
,0,0}, /* st.l.t */
1204 struct formstr e1_format2
[] = {
1209 {28,20,rr
,V
,V
,0}, /* cvtw.b.t */
1210 {28,21,rr
,V
,V
,0}, /* cvtw.h.t */
1211 {29,22,rr
,V
,V
,0}, /* cvtb.w.t */
1212 {30,22,rr
,V
,V
,0}, /* cvth.w.t */
1217 {31,23,rr
,V
,V
,0}, /* cvts.l.t */
1218 {32,22,rr
,V
,V
,0}, /* cvtd.w.t */
1219 {33,18,rr
,V
,V
,0}, /* cvtl.s.t */
1220 {28,19,rr
,V
,V
,0}, /* cvtw.d.t */
1307 {116,18,rr
,V
,V
,0}, /* frint.s.t */
1308 {116,19,rr
,V
,V
,0}, /* frint.d.t */
1329 {81,18,rr
,V
,V
,0}, /* sqrt.s.t */
1330 {81,19,rr
,V
,V
,0}, /* sqrt.d.t */
1334 struct formstr e1_format3
[] = {
1335 {32,18,rr
,V
,V
,0}, /* cvtd.s.t */
1336 {31,19,rr
,V
,V
,0}, /* cvts.d.t */
1337 {33,19,rr
,V
,V
,0}, /* cvtl.d.t */
1338 {32,23,rr
,V
,V
,0}, /* cvtd.l.t */
1343 {36,1,rr
,V
,V
,0}, /* tzc.t */
1344 {44,1,rr
,V
,V
,0}, /* lop.t */
1345 {117,1,rr
,V
,V
,0}, /* xpnd.t */
1346 {42,1,rr
,V
,V
,0}, /* not.t */
1347 {8,1,rr
,S
,V
,0}, /* shf.t */
1348 {35,24,rr
,V
,V
,0}, /* plc.t.t */
1351 {37,18,rr
,V
,V
,0}, /* eq.s.t */
1352 {37,19,rr
,V
,V
,0}, /* eq.d.t */
1353 {43,18,rr
,V
,V
,0}, /* neg.s.t */
1354 {43,19,rr
,V
,V
,0}, /* neg.d.t */
1355 {37,18,rr
,S
,V
,0}, /* eq.s.t */
1356 {37,19,rr
,S
,V
,0}, /* eq.d.t */
1359 {40,18,rr
,V
,V
,0}, /* le.s.t */
1360 {40,19,rr
,V
,V
,0}, /* le.d.t */
1361 {41,18,rr
,V
,V
,0}, /* lt.s.t */
1362 {41,19,rr
,V
,V
,0}, /* lt.d.t */
1363 {40,18,rr
,S
,V
,0}, /* le.s.t */
1364 {40,19,rr
,S
,V
,0}, /* le.d.t */
1365 {41,18,rr
,S
,V
,0}, /* lt.s.t */
1366 {41,19,rr
,S
,V
,0}, /* lt.d.t */
1367 {37,20,rr
,V
,V
,0}, /* eq.b.t */
1368 {37,21,rr
,V
,V
,0}, /* eq.h.t */
1369 {37,22,rr
,V
,V
,0}, /* eq.w.t */
1370 {37,23,rr
,V
,V
,0}, /* eq.l.t */
1371 {37,20,rr
,S
,V
,0}, /* eq.b.t */
1372 {37,21,rr
,S
,V
,0}, /* eq.h.t */
1373 {37,22,rr
,S
,V
,0}, /* eq.w.t */
1374 {37,23,rr
,S
,V
,0}, /* eq.l.t */
1375 {40,20,rr
,V
,V
,0}, /* le.b.t */
1376 {40,21,rr
,V
,V
,0}, /* le.h.t */
1377 {40,22,rr
,V
,V
,0}, /* le.w.t */
1378 {40,23,rr
,V
,V
,0}, /* le.l.t */
1379 {40,20,rr
,S
,V
,0}, /* le.b.t */
1380 {40,21,rr
,S
,V
,0}, /* le.h.t */
1381 {40,22,rr
,S
,V
,0}, /* le.w.t */
1382 {40,23,rr
,S
,V
,0}, /* le.l.t */
1383 {41,20,rr
,V
,V
,0}, /* lt.b.t */
1384 {41,21,rr
,V
,V
,0}, /* lt.h.t */
1385 {41,22,rr
,V
,V
,0}, /* lt.w.t */
1386 {41,23,rr
,V
,V
,0}, /* lt.l.t */
1387 {41,20,rr
,S
,V
,0}, /* lt.b.t */
1388 {41,21,rr
,S
,V
,0}, /* lt.h.t */
1389 {41,22,rr
,S
,V
,0}, /* lt.w.t */
1390 {41,23,rr
,S
,V
,0}, /* lt.l.t */
1391 {43,20,rr
,V
,V
,0}, /* neg.b.t */
1392 {43,21,rr
,V
,V
,0}, /* neg.h.t */
1393 {43,22,rr
,V
,V
,0}, /* neg.w.t */
1394 {43,23,rr
,V
,V
,0}, /* neg.l.t */
1400 struct formstr e1_format4
[] = {
1410 struct formstr e1_format5
[] = {
1411 {51,20,rr
,V
,V
,0}, /* ldvi.b.t */
1412 {51,21,rr
,V
,V
,0}, /* ldvi.h.t */
1413 {51,22,rr
,V
,V
,0}, /* ldvi.w.t */
1414 {51,23,rr
,V
,V
,0}, /* ldvi.l.t */
1415 {28,18,rr
,V
,V
,0}, /* cvtw.s.t */
1416 {31,22,rr
,V
,V
,0}, /* cvts.w.t */
1417 {28,23,rr
,V
,V
,0}, /* cvtw.l.t */
1418 {33,22,rr
,V
,V
,0}, /* cvtl.w.t */
1419 {52,20,rxr
,V
,V
,0}, /* stvi.b.t */
1420 {52,21,rxr
,V
,V
,0}, /* stvi.h.t */
1421 {52,22,rxr
,V
,V
,0}, /* stvi.w.t */
1422 {52,23,rxr
,V
,V
,0}, /* stvi.l.t */
1423 {52,20,rxr
,S
,V
,0}, /* stvi.b.t */
1424 {52,21,rxr
,S
,V
,0}, /* stvi.h.t */
1425 {52,22,rxr
,S
,V
,0}, /* stvi.w.t */
1426 {52,23,rxr
,S
,V
,0}, /* stvi.l.t */
1428 struct formstr e1_format6
[] = {
1494 struct formstr e1_format7
[] = {
1495 {84,20,r
,V
,0,0}, /* sum.b.t */
1496 {84,21,r
,V
,0,0}, /* sum.h.t */
1497 {84,22,r
,V
,0,0}, /* sum.w.t */
1498 {84,23,r
,V
,0,0}, /* sum.l.t */
1499 {85,1,r
,V
,0,0}, /* all.t */
1500 {86,1,r
,V
,0,0}, /* any.t */
1501 {87,1,r
,V
,0,0}, /* parity.t */
1503 {88,20,r
,V
,0,0}, /* max.b.t */
1504 {88,21,r
,V
,0,0}, /* max.h.t */
1505 {88,22,r
,V
,0,0}, /* max.w.t */
1506 {88,23,r
,V
,0,0}, /* max.l.t */
1507 {89,20,r
,V
,0,0}, /* min.b.t */
1508 {89,21,r
,V
,0,0}, /* min.h.t */
1509 {89,22,r
,V
,0,0}, /* min.w.t */
1510 {89,23,r
,V
,0,0}, /* min.l.t */
1511 {84,18,r
,V
,0,0}, /* sum.s.t */
1512 {84,19,r
,V
,0,0}, /* sum.d.t */
1513 {90,18,r
,V
,0,0}, /* prod.s.t */
1514 {90,19,r
,V
,0,0}, /* prod.d.t */
1515 {88,18,r
,V
,0,0}, /* max.s.t */
1516 {88,19,r
,V
,0,0}, /* max.d.t */
1517 {89,18,r
,V
,0,0}, /* min.s.t */
1518 {89,19,r
,V
,0,0}, /* min.d.t */
1519 {90,20,r
,V
,0,0}, /* prod.b.t */
1520 {90,21,r
,V
,0,0}, /* prod.h.t */
1521 {90,22,r
,V
,0,0}, /* prod.w.t */
1522 {90,23,r
,V
,0,0}, /* prod.l.t */
This page took 0.094084 seconds and 4 git commands to generate.