Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(356)

Side by Side Diff: src/trusted/validator/x86/ncval_seg_sfi/gen/ncdisasmtab_32.h

Issue 625923004: Delete old x86 validator. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: rebase master Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /* native_client/src/trusted/validator/x86/ncval_seg_sfi/gen/ncdisasmtab_32.h
2 * THIS FILE IS AUTO-GENERATED. DO NOT EDIT.
3 * Compiled for x86-32 bit mode.
4 *
5 * You must include ncdecode.h before this file.
6 */
7
8 static const char *kDisasmModRMOp[][kNaClMRMGroupsRange] = {
9 { /* 0 0 */ "undefined",
10 /* 0 1 */ "undefined",
11 /* 0 2 */ "undefined",
12 /* 0 3 */ "undefined",
13 /* 0 4 */ "undefined",
14 /* 0 5 */ "undefined",
15 /* 0 6 */ "undefined",
16 /* 0 7 */ "undefined",
17 },
18 { /* 1 0 */ "add",
19 /* 1 1 */ "or",
20 /* 1 2 */ "adc",
21 /* 1 3 */ "sbb",
22 /* 1 4 */ "and",
23 /* 1 5 */ "sub",
24 /* 1 6 */ "xor",
25 /* 1 7 */ "cmp",
26 },
27 { /* 2 0 */ "rol",
28 /* 2 1 */ "ror",
29 /* 2 2 */ "rcl",
30 /* 2 3 */ "rcr",
31 /* 2 4 */ "shl",
32 /* 2 5 */ "shr",
33 /* 2 6 */ "undefined",
34 /* 2 7 */ "sar",
35 },
36 { /* 3 0 */ "test $I",
37 /* 3 1 */ "undefined",
38 /* 3 2 */ "not",
39 /* 3 3 */ "neg",
40 /* 3 4 */ "mul %eax",
41 /* 3 5 */ "imul %eax",
42 /* 3 6 */ "div %eax",
43 /* 3 7 */ "idiv %eax",
44 },
45 { /* 4 0 */ "inc",
46 /* 4 1 */ "dec",
47 /* 4 2 */ "undefined",
48 /* 4 3 */ "undefined",
49 /* 4 4 */ "undefined",
50 /* 4 5 */ "undefined",
51 /* 4 6 */ "undefined",
52 /* 4 7 */ "undefined",
53 },
54 { /* 5 0 */ "inc",
55 /* 5 1 */ "dec",
56 /* 5 2 */ "call *",
57 /* 5 3 */ "lcall *",
58 /* 5 4 */ "jmp *",
59 /* 5 5 */ "ljmp *",
60 /* 5 6 */ "push",
61 /* 5 7 */ "undefined",
62 },
63 { /* 6 0 */ "sldt",
64 /* 6 1 */ "str",
65 /* 6 2 */ "lldt",
66 /* 6 3 */ "ltr",
67 /* 6 4 */ "verr",
68 /* 6 5 */ "verw",
69 /* 6 6 */ "undefined",
70 /* 6 7 */ "undefined",
71 },
72 { /* 7 0 */ "sgdt",
73 /* 7 1 */ "sidt",
74 /* 7 2 */ "lgdt",
75 /* 7 3 */ "lidt",
76 /* 7 4 */ "smsw",
77 /* 7 5 */ "undefined",
78 /* 7 6 */ "lmsw",
79 /* 7 7 */ "invlpg",
80 },
81 { /* 8 0 */ "undefined",
82 /* 8 1 */ "undefined",
83 /* 8 2 */ "undefined",
84 /* 8 3 */ "undefined",
85 /* 8 4 */ "bt",
86 /* 8 5 */ "bts",
87 /* 8 6 */ "btr",
88 /* 8 7 */ "btc",
89 },
90 { /* 9 0 */ "undefined",
91 /* 9 1 */ "cmpxchg8b",
92 /* 9 2 */ "undefined",
93 /* 9 3 */ "undefined",
94 /* 9 4 */ "undefined",
95 /* 9 5 */ "undefined",
96 /* 9 6 */ "undefined",
97 /* 9 7 */ "undefined",
98 },
99 { /* 10 0 */ "undefined",
100 /* 10 1 */ "undefined",
101 /* 10 2 */ "undefined",
102 /* 10 3 */ "undefined",
103 /* 10 4 */ "undefined",
104 /* 10 5 */ "undefined",
105 /* 10 6 */ "undefined",
106 /* 10 7 */ "undefined",
107 },
108 { /* 11 0 */ "mov",
109 /* 11 1 */ "undefined",
110 /* 11 2 */ "undefined",
111 /* 11 3 */ "undefined",
112 /* 11 4 */ "undefined",
113 /* 11 5 */ "undefined",
114 /* 11 6 */ "undefined",
115 /* 11 7 */ "undefined",
116 },
117 { /* 12 0 */ "undefined",
118 /* 12 1 */ "undefined",
119 /* 12 2 */ "psrlw",
120 /* 12 3 */ "undefined",
121 /* 12 4 */ "psraw",
122 /* 12 5 */ "undefined",
123 /* 12 6 */ "psllw",
124 /* 12 7 */ "undefined",
125 },
126 { /* 13 0 */ "undefined",
127 /* 13 1 */ "undefined",
128 /* 13 2 */ "psrld",
129 /* 13 3 */ "undefined",
130 /* 13 4 */ "psrad",
131 /* 13 5 */ "undefined",
132 /* 13 6 */ "pslld",
133 /* 13 7 */ "undefined",
134 },
135 { /* 14 0 */ "undefined",
136 /* 14 1 */ "undefined",
137 /* 14 2 */ "psrlq",
138 /* 14 3 */ "psrldq",
139 /* 14 4 */ "undefined",
140 /* 14 5 */ "undefined",
141 /* 14 6 */ "psllq",
142 /* 14 7 */ "pslldq",
143 },
144 { /* 15 0 */ "fxsave",
145 /* 15 1 */ "fxrstor",
146 /* 15 2 */ "ldmxcsr",
147 /* 15 3 */ "stmxcsr",
148 /* 15 4 */ "invalid",
149 /* 15 5 */ "lfence",
150 /* 15 6 */ "mfence",
151 /* 15 7 */ "sfence/clflush",
152 },
153 { /* 16 0 */ "prefetch NTA",
154 /* 16 1 */ "prefetch T0",
155 /* 16 2 */ "prefetch T1",
156 /* 16 3 */ "prefetch T1",
157 /* 16 4 */ "NOP (prefetch)",
158 /* 16 5 */ "NOP (prefetch)",
159 /* 16 6 */ "NOP (prefetch)",
160 /* 16 7 */ "NOP (prefetch)",
161 },
162 { /* 17 0 */ "undefined",
163 /* 17 1 */ "undefined",
164 /* 17 2 */ "undefined",
165 /* 17 3 */ "undefined",
166 /* 17 4 */ "undefined",
167 /* 17 5 */ "undefined",
168 /* 17 6 */ "undefined",
169 /* 17 7 */ "undefined",
170 },
171 { /* 18 0 */ "pop $Ev",
172 /* 18 1 */ "undefined",
173 /* 18 2 */ "undefined",
174 /* 18 3 */ "undefined",
175 /* 18 4 */ "undefined",
176 /* 18 5 */ "undefined",
177 /* 18 6 */ "undefined",
178 /* 18 7 */ "undefined",
179 },
180 { /* 19 0 */ "prefetch exclusive",
181 /* 19 1 */ "prefetch modified",
182 /* 19 2 */ "[prefetch reserved]",
183 /* 19 3 */ "prefetch modified",
184 /* 19 4 */ "[prefetch reserved]",
185 /* 19 5 */ "[prefetch reserved]",
186 /* 19 6 */ "[prefetch reserved]",
187 /* 19 7 */ "[prefetch reserved]",
188 },
189 };
190
191
192 /* one byte opcode tables */
193 static const char *kDisasm1ByteOp[NCDTABLESIZE] = {
194 /* 00 */ "add $Eb, $Gb",
195 /* 01 */ "add $Ev, $Gv",
196 /* 02 */ "add $Gb, $Eb",
197 /* 03 */ "add $Gv, $Ev",
198 /* 04 */ "add %al, $Ib",
199 /* 05 */ "add %eax, $Iz",
200 /* 06 */ "push %es",
201 /* 07 */ "pop %es",
202 /* 08 */ "or $Eb, $Gb",
203 /* 09 */ "or $Ev, $Gv",
204 /* 0a */ "or $Gb, $Eb",
205 /* 0b */ "or $Gv, $Ev",
206 /* 0c */ "or %al, $Ib",
207 /* 0d */ "or %eax, $Iz",
208 /* 0e */ "push %cs",
209 /* 0f */ "[two-byte opcode]",
210 /* 10 */ "adc $Eb, $Gb",
211 /* 11 */ "adc $Ev, $Gv",
212 /* 12 */ "adc $Gb, $Eb",
213 /* 13 */ "adc $Gv, $Ev",
214 /* 14 */ "adc %al, $Ib",
215 /* 15 */ "adc %eax, $Iz",
216 /* 16 */ "push %ss",
217 /* 17 */ "pop %ss",
218 /* 18 */ "sbb $Eb, $Gb",
219 /* 19 */ "sbb $Ev, $Gv",
220 /* 1a */ "sbb $Gb, $Eb",
221 /* 1b */ "sbb $Gv, $Ev",
222 /* 1c */ "sbb %al, $Ib",
223 /* 1d */ "sbb %eax, $Iz",
224 /* 1e */ "push %ds",
225 /* 1f */ "pop %ds",
226 /* 20 */ "and $Eb, $Gb",
227 /* 21 */ "and $Ev, $Gv",
228 /* 22 */ "and $Gb, $Eb",
229 /* 23 */ "and $Gv, $Ev",
230 /* 24 */ "and %al, $Ib",
231 /* 25 */ "and %eax, $Iz",
232 /* 26 */ "[seg %es]",
233 /* 27 */ "daa",
234 /* 28 */ "sub $Eb, $Gb",
235 /* 29 */ "sub $Ev, $Gv",
236 /* 2a */ "sub $Gb, $Eb",
237 /* 2b */ "sub $Gv, $Ev",
238 /* 2c */ "sub %al, $Ib",
239 /* 2d */ "sub %eax, $Iz",
240 /* 2e */ "[seg %cs]",
241 /* 2f */ "das",
242 /* 30 */ "xor $Eb, $Gb",
243 /* 31 */ "xor $Ev, $Gv",
244 /* 32 */ "xor $Gb, $Eb",
245 /* 33 */ "xor $Gv, $Ev",
246 /* 34 */ "xor %al, $Ib",
247 /* 35 */ "xor %eax, $Iz",
248 /* 36 */ "[seg %ss]",
249 /* 37 */ "aaa",
250 /* 38 */ "cmp $Eb, $Gb",
251 /* 39 */ "cmp $Ev, $Gv",
252 /* 3a */ "cmp $Gb, $Eb",
253 /* 3b */ "cmp $Gv, $Ev",
254 /* 3c */ "cmp %al, $Ib",
255 /* 3d */ "cmp %eax, $Iz",
256 /* 3e */ "[seg %ds]",
257 /* 3f */ "aas",
258 /* 40 */ "inc %eax",
259 /* 41 */ "inc %ecx",
260 /* 42 */ "inc %edx",
261 /* 43 */ "inc %ebx",
262 /* 44 */ "inc %esp",
263 /* 45 */ "inc %ebp",
264 /* 46 */ "inc %esi",
265 /* 47 */ "inc %edi",
266 /* 48 */ "dec %eax",
267 /* 49 */ "dec %ecx",
268 /* 4a */ "dec %edx",
269 /* 4b */ "dec %ebx",
270 /* 4c */ "dec %esp",
271 /* 4d */ "dec %ebp",
272 /* 4e */ "dec %esi",
273 /* 4f */ "dec %edi",
274 /* 50 */ "push %eax",
275 /* 51 */ "push %ecx",
276 /* 52 */ "push %edx",
277 /* 53 */ "push %ebx",
278 /* 54 */ "push %esp",
279 /* 55 */ "push %ebp",
280 /* 56 */ "push %esi",
281 /* 57 */ "push %edi",
282 /* 58 */ "pop %eax",
283 /* 59 */ "pop %ecx",
284 /* 5a */ "pop %edx",
285 /* 5b */ "pop %ebx",
286 /* 5c */ "pop %esp",
287 /* 5d */ "pop %ebp",
288 /* 5e */ "pop %esi",
289 /* 5f */ "pop %edi",
290 /* 60 */ "pusha",
291 /* 61 */ "popa",
292 /* 62 */ "bound $Gv, $Ma",
293 /* 63 */ "arpl $Ew, $Gw",
294 /* 64 */ "[seg fs]",
295 /* 65 */ "[seg gs]",
296 /* 66 */ "[data16]",
297 /* 67 */ "[addr size]",
298 /* 68 */ "push $Iz",
299 /* 69 */ "imul $Gv, $Ev, $Iz",
300 /* 6a */ "push $Ib",
301 /* 6b */ "imul $Gv, $Ev, $Ib",
302 /* 6c */ "insb $Y, $D",
303 /* 6d */ "insw/d $Y, $D",
304 /* 6e */ "outsb $D, $X",
305 /* 6f */ "outsw/d $D, $X",
306 /* 70 */ "jo $Jb",
307 /* 71 */ "jno $Jb",
308 /* 72 */ "jb $Jb",
309 /* 73 */ "jnb $Jb",
310 /* 74 */ "jz $Jb",
311 /* 75 */ "jnz $Jb",
312 /* 76 */ "jbe $Jb",
313 /* 77 */ "jnbe $Jb",
314 /* 78 */ "js $Jb",
315 /* 79 */ "jns $Jb",
316 /* 7a */ "jp $Jb",
317 /* 7b */ "jnp $Jb",
318 /* 7c */ "jl $Jb",
319 /* 7d */ "jge $Jb",
320 /* 7e */ "jle $Jb",
321 /* 7f */ "jg $Jb",
322 /* 80 */ "$group1 $Eb, $Ib",
323 /* 81 */ "$group1 $Ev, $Iz",
324 /* 82 */ "undef",
325 /* 83 */ "$group1 $Ev, $Ib",
326 /* 84 */ "test $E, $G",
327 /* 85 */ "test $E, $G",
328 /* 86 */ "xchg $E, $G",
329 /* 87 */ "xchg $E, $G",
330 /* 88 */ "mov $Eb, $Gb",
331 /* 89 */ "mov $Ev, $Gv",
332 /* 8a */ "mov $Gb, $Eb",
333 /* 8b */ "mov $Gv, $Ev",
334 /* 8c */ "mov $E, $S",
335 /* 8d */ "lea $G, $M",
336 /* 8e */ "mov $S, $E",
337 /* 8f */ "$group1a $Ev",
338 /* 90 */ "nop",
339 /* 91 */ "xchg %eax, %ecx",
340 /* 92 */ "xchg %eax, %edx",
341 /* 93 */ "xchg %eax, %ebx",
342 /* 94 */ "xchg %eax, %esp",
343 /* 95 */ "xchg %eax, %ebp",
344 /* 96 */ "xchg %eax, %esi",
345 /* 97 */ "xchg %eax, %edi",
346 /* 98 */ "cbw",
347 /* 99 */ "cwd",
348 /* 9a */ "lcall $A",
349 /* 9b */ "wait",
350 /* 9c */ "pushf $F",
351 /* 9d */ "popf $F",
352 /* 9e */ "sahf",
353 /* 9f */ "lahf",
354 /* a0 */ "mov %al, $O",
355 /* a1 */ "mov %eax, $O",
356 /* a2 */ "mov $O, %al",
357 /* a3 */ "mov $O, %eax",
358 /* a4 */ "movsb $X, $Y",
359 /* a5 */ "movsw $X, $Y",
360 /* a6 */ "cmpsb $X, $Y",
361 /* a7 */ "cmpsw $X, $Y",
362 /* a8 */ "test %al, $I",
363 /* a9 */ "test %eax, $I",
364 /* aa */ "stosb $Y, %al",
365 /* ab */ "stosw $Y, $eax",
366 /* ac */ "lodsb %al, $X",
367 /* ad */ "lodsw %eax, $X",
368 /* ae */ "scasb %al, $X",
369 /* af */ "scasw %eax, $X",
370 /* b0 */ "mov %al, $Ib",
371 /* b1 */ "mov %cl, $Ib",
372 /* b2 */ "mov %dl, $Ib",
373 /* b3 */ "mov %bl, $Ib",
374 /* b4 */ "mov %ah, $Ib",
375 /* b5 */ "mov %ch, $Ib",
376 /* b6 */ "mov %dh, $Ib",
377 /* b7 */ "mov %bh, $Ib",
378 /* b8 */ "mov %eax, $Iv",
379 /* b9 */ "mov %ecx, $Iv",
380 /* ba */ "mov %edx, $Iv",
381 /* bb */ "mov %ebx, $Iv",
382 /* bc */ "mov %esp, $Iv",
383 /* bd */ "mov %ebp, $Iv",
384 /* be */ "mov %esi, $Iv",
385 /* bf */ "mov %edi, $Iv",
386 /* c0 */ "$group2 $Eb, $Ib",
387 /* c1 */ "$group2 $Ev, $Ib",
388 /* c2 */ "ret $Iw",
389 /* c3 */ "ret",
390 /* c4 */ "les $G, $M",
391 /* c5 */ "lds $G, $M",
392 /* c6 */ "$group11 $Eb, $Ib",
393 /* c7 */ "$group11 $Ev, $Iz",
394 /* c8 */ "enter $I, $I",
395 /* c9 */ "leave",
396 /* ca */ "ret (far)",
397 /* cb */ "ret (far)",
398 /* cc */ "int3",
399 /* cd */ "int $Iv",
400 /* ce */ "into",
401 /* cf */ "iret",
402 /* d0 */ "$group2 $Eb, 1",
403 /* d1 */ "$group2 $Ev, 1",
404 /* d2 */ "$group2 $Eb, %cl",
405 /* d3 */ "$group2 $Ev, %cl",
406 /* d4 */ "aam",
407 /* d5 */ "aad",
408 /* d6 */ "salc",
409 /* d7 */ "xlat",
410 /* d8 */ "x87",
411 /* d9 */ "x87",
412 /* da */ "x87",
413 /* db */ "x87",
414 /* dc */ "x87",
415 /* dd */ "x87",
416 /* de */ "x87",
417 /* df */ "x87",
418 /* e0 */ "loopne $Jb",
419 /* e1 */ "loope $Jb",
420 /* e2 */ "loop $Jb",
421 /* e3 */ "jcxz $Jb",
422 /* e4 */ "in %al, $I",
423 /* e5 */ "in %eax, $I",
424 /* e6 */ "out %al, $I",
425 /* e7 */ "out %eax, $I",
426 /* e8 */ "call $Jz",
427 /* e9 */ "jmp $Jz",
428 /* ea */ "ljmp $A",
429 /* eb */ "jmp $Jb",
430 /* ec */ "in %al, %dx",
431 /* ed */ "in %eax, %dx",
432 /* ee */ "out %dx, %al",
433 /* ef */ "out %dx, %eax",
434 /* f0 */ "[lock]",
435 /* f1 */ "int1",
436 /* f2 */ "[repne]",
437 /* f3 */ "[rep]",
438 /* f4 */ "hlt",
439 /* f5 */ "cmc",
440 /* f6 */ "$group3 $Eb",
441 /* f7 */ "$group3 $Ev",
442 /* f8 */ "clc",
443 /* f9 */ "stc",
444 /* fa */ "cli",
445 /* fb */ "sti",
446 /* fc */ "cld",
447 /* fd */ "std",
448 /* fe */ "$group4 $Eb",
449 /* ff */ "$group5 $Ev",
450 };
451
452
453 /* two byte opcode tables */
454 static const char *kDisasm0FXXOp[NCDTABLESIZE] = {
455 /* 00 */ "$group6 $Ew",
456 /* 01 */ "$group7",
457 /* 02 */ "lar $G, $E",
458 /* 03 */ "lsl $Gv, $Ew",
459 /* 04 */ "undefined",
460 /* 05 */ "undefined",
461 /* 06 */ "clts",
462 /* 07 */ "undefined",
463 /* 08 */ "invd",
464 /* 09 */ "wbinvd",
465 /* 0a */ "undefined",
466 /* 0b */ "ud2",
467 /* 0c */ "undefined",
468 /* 0d */ "$groupP (prefetch)",
469 /* 0e */ "femms",
470 /* 0f */ "3DNow",
471 /* 10 */ "movups $Vps, $Wps",
472 /* 11 */ "movups $Wps, $Vps",
473 /* 12 */ "movlps $Vps, $Mq",
474 /* 13 */ "movlps $Mq, $Vps",
475 /* 14 */ "unpcklps $Vps, $Wq",
476 /* 15 */ "unpckhps $Vps, $Wq",
477 /* 16 */ "movhps $Vps, $Mq",
478 /* 17 */ "movhps $Mq, $Vps",
479 /* 18 */ "$group16",
480 /* 19 */ "undefined",
481 /* 1a */ "undefined",
482 /* 1b */ "undefined",
483 /* 1c */ "undefined",
484 /* 1d */ "undefined",
485 /* 1e */ "undefined",
486 /* 1f */ "nop",
487 /* 20 */ "mov $C, $R",
488 /* 21 */ "mov $D, $R",
489 /* 22 */ "mov $R, $C",
490 /* 23 */ "mov $R, $D",
491 /* 24 */ "undefined",
492 /* 25 */ "undefined",
493 /* 26 */ "undefined",
494 /* 27 */ "undefined",
495 /* 28 */ "movaps $Vps, $Wps",
496 /* 29 */ "movaps $Wps, $Vps",
497 /* 2a */ "cvtpi2ps $Vps, $Qq",
498 /* 2b */ "movntps $Mdq, $Vps",
499 /* 2c */ "cvttps2pi $Pq, $Wps",
500 /* 2d */ "cvtps2pi $Pq, $Wps",
501 /* 2e */ "ucomiss $Vss, $Wss",
502 /* 2f */ "comiss $Vps, $Wps",
503 /* 30 */ "wrmsr",
504 /* 31 */ "rdtsc",
505 /* 32 */ "rdmsr",
506 /* 33 */ "rdpmc",
507 /* 34 */ "sysenter",
508 /* 35 */ "sysexit",
509 /* 36 */ "undefined",
510 /* 37 */ "getsec",
511 /* 38 */ "SSSE3, SSE4",
512 /* 39 */ "undefined",
513 /* 3a */ "SSSE3, SSE4",
514 /* 3b */ "undefined",
515 /* 3c */ "undefined",
516 /* 3d */ "undefined",
517 /* 3e */ "undefined",
518 /* 3f */ "undefined",
519 /* 40 */ "cmovo $Gv, $Ev",
520 /* 41 */ "cmovno $Gv, $Ev",
521 /* 42 */ "cmovb $Gv, $Ev",
522 /* 43 */ "cmovnb $Gv, $Ev",
523 /* 44 */ "cmovz $Gv, $Ev",
524 /* 45 */ "cmovnz $Gv, $Ev",
525 /* 46 */ "cmovbe $Gv, $Ev",
526 /* 47 */ "cmovnbe $Gv, $Ev",
527 /* 48 */ "cmovs $Gv, $Ev",
528 /* 49 */ "cmovns $Gv, $Ev",
529 /* 4a */ "cmovp $Gv, $Ev",
530 /* 4b */ "cmovnp $Gv, $Ev",
531 /* 4c */ "cmovl $Gv, $Ev",
532 /* 4d */ "cmovnl $Gv, $Ev",
533 /* 4e */ "cmovle $Gv, $Ev",
534 /* 4f */ "cmovnle $Gv, $Ev",
535 /* 50 */ "movmskps $Gd, $VRps",
536 /* 51 */ "sqrtps $Vps, $Wps",
537 /* 52 */ "rsqrtps $Vps, $Wps",
538 /* 53 */ "rcpps $Vps, $Wps",
539 /* 54 */ "andps $Vps, $Wps",
540 /* 55 */ "andnps $Vps, $Wps",
541 /* 56 */ "orps $Vps, $Wps",
542 /* 57 */ "xorps $Vps, $Wps",
543 /* 58 */ "addps $Vps, $Wps",
544 /* 59 */ "mulps $Vps, $Wps",
545 /* 5a */ "cvtps2pd $Vpd, $Wps",
546 /* 5b */ "cvtdq2ps $Vps, $Wdq",
547 /* 5c */ "subps $Vps, $Wps",
548 /* 5d */ "minps $Vps, $Wps",
549 /* 5e */ "divps $Vps, $Wps",
550 /* 5f */ "maxps $Vps, $Wps",
551 /* 60 */ "punpcklbw $Pq, $Qd",
552 /* 61 */ "punpcklwd $Pq, $Qd",
553 /* 62 */ "punpckldq $Pq, $Qd",
554 /* 63 */ "packsswb $Pq, $Qq",
555 /* 64 */ "pcmpgtb $Pq, $Qq",
556 /* 65 */ "pcmpgtw $Pq, $Qq",
557 /* 66 */ "pcmpgtd $Pq, $Qq",
558 /* 67 */ "packuswb $Pq, $Qq",
559 /* 68 */ "punpckhbw $Pq, $Qd",
560 /* 69 */ "punpckhwd $Pq, $Qd",
561 /* 6a */ "punpckhdq $Pq, $Qd",
562 /* 6b */ "packssdw $Pq, $Qq",
563 /* 6c */ "invalid",
564 /* 6d */ "invalid",
565 /* 6e */ "movd $Pq, $Ed",
566 /* 6f */ "movq $Pq, $Qq",
567 /* 70 */ "pshufw $Pq, $Qq, $Ib",
568 /* 71 */ "$group12 $PRq, $Ib",
569 /* 72 */ "$group13 $PRq, $Ib",
570 /* 73 */ "$group14 $PRq, $Ib",
571 /* 74 */ "pcmpeqb $Pq, $Qq",
572 /* 75 */ "pcmpeqw $Pq, $Qq",
573 /* 76 */ "pcmpeqd $Pq, $Qq",
574 /* 77 */ "emms",
575 /* 78 */ "invalid",
576 /* 79 */ "invalid",
577 /* 7a */ "invalid",
578 /* 7b */ "invalid",
579 /* 7c */ "invalid",
580 /* 7d */ "invalid",
581 /* 7e */ "movd $Ed, $Pd",
582 /* 7f */ "movq $Qq, $Pq",
583 /* 80 */ "jo $Jz",
584 /* 81 */ "jno $Jz",
585 /* 82 */ "jb $Jz",
586 /* 83 */ "jnb $Jz",
587 /* 84 */ "jz $Jz",
588 /* 85 */ "jnz $Jz",
589 /* 86 */ "jbe $Jz",
590 /* 87 */ "jnbe $Jz",
591 /* 88 */ "js $Jz",
592 /* 89 */ "jns $Jz",
593 /* 8a */ "jp $Jz",
594 /* 8b */ "jnp $Jz",
595 /* 8c */ "jl $Jz",
596 /* 8d */ "jge $Jz",
597 /* 8e */ "jle $Jz",
598 /* 8f */ "jg $Jz",
599 /* 90 */ "seto $Eb",
600 /* 91 */ "setno $Eb",
601 /* 92 */ "setb $Eb",
602 /* 93 */ "setnb $Eb",
603 /* 94 */ "setz $Eb",
604 /* 95 */ "setnz $Eb",
605 /* 96 */ "setbe $Eb",
606 /* 97 */ "setnbe $Eb",
607 /* 98 */ "sets $Eb",
608 /* 99 */ "setns $Eb",
609 /* 9a */ "setp $Eb",
610 /* 9b */ "setnp $Eb",
611 /* 9c */ "setl $Eb",
612 /* 9d */ "setge $Eb",
613 /* 9e */ "setle $Eb",
614 /* 9f */ "setg $Eb",
615 /* a0 */ "push %fs",
616 /* a1 */ "pop %fs",
617 /* a2 */ "cpuid",
618 /* a3 */ "bt $Ev, $Gv",
619 /* a4 */ "shld $Ev, $Gv, $Ib",
620 /* a5 */ "shld $Ev, $Gv, %cl",
621 /* a6 */ "invalid",
622 /* a7 */ "invalid",
623 /* a8 */ "push %gs",
624 /* a9 */ "pop %gs",
625 /* aa */ "rsm",
626 /* ab */ "bts $Ev, $Gv",
627 /* ac */ "shrd $Ev, $Gv, $Ib",
628 /* ad */ "shrd $Ev, $Gv, %cl",
629 /* ae */ "$group15 $M",
630 /* af */ "imul $Gv, $Ev",
631 /* b0 */ "cmpxchg $E, $G",
632 /* b1 */ "cmpxchg $E, $G",
633 /* b2 */ "lss $Mp",
634 /* b3 */ "btr $Ev, $Gv",
635 /* b4 */ "lfs $Mp",
636 /* b5 */ "lgs $Mp",
637 /* b6 */ "movzx $Gv, $Eb",
638 /* b7 */ "movzx $Gv, $Ew",
639 /* b8 */ "reserved",
640 /* b9 */ "$group10",
641 /* ba */ "$group8 $Ev, $Ib",
642 /* bb */ "btc $Ev, $Gv",
643 /* bc */ "bsf $Gv, $Ev",
644 /* bd */ "bsr $Gv, $Ev",
645 /* be */ "movsx $Gv, $Eb",
646 /* bf */ "movsx $Gv, $Ew",
647 /* c0 */ "xadd $E, $G",
648 /* c1 */ "xadd $E, $G",
649 /* c2 */ "cmpps $V, $W, $I",
650 /* c3 */ "movnti $Md, $Gd",
651 /* c4 */ "pinsrw $Pq, $Ew, $Ib",
652 /* c5 */ "pextrw $Gd, $PRq, $Ib",
653 /* c6 */ "shufps $Vps, $Wps, $Ib",
654 /* c7 */ "$group9 $Mq",
655 /* c8 */ "bswap %eax",
656 /* c9 */ "bswap %ecx",
657 /* ca */ "bswap %edx",
658 /* cb */ "bswap %ebx",
659 /* cc */ "bswap %esp",
660 /* cd */ "bswap %ebp",
661 /* ce */ "bswap %esi",
662 /* cf */ "bswap %edi",
663 /* d0 */ "invalid",
664 /* d1 */ "psrlw $Pq, $Qq",
665 /* d2 */ "psrld $Pq, $Qq",
666 /* d3 */ "psrlq $Pq, $Qq",
667 /* d4 */ "paddq $Pq, $Qq",
668 /* d5 */ "pmullw $Pq, $Qq",
669 /* d6 */ "invalid",
670 /* d7 */ "pmovmskb $Gd, $PRq",
671 /* d8 */ "psubusb $Pq, $Qq",
672 /* d9 */ "psubusw $Pq, $Qq",
673 /* da */ "pminub $Pq, $Qq",
674 /* db */ "pand $Pq, $Qq",
675 /* dc */ "paddusb $Pq, $Qq",
676 /* dd */ "paddusw $Pq, $Qq",
677 /* de */ "pmaxub $Pq, $Qq",
678 /* df */ "pandn $Pq, $Qq",
679 /* e0 */ "pavgb $Pq, $Qq",
680 /* e1 */ "psraw $Pq, $Qq",
681 /* e2 */ "psrad $Pq, $Qq",
682 /* e3 */ "pavgw $Pq, $Qq",
683 /* e4 */ "pmulhuw $Pq, $Qq",
684 /* e5 */ "pmulhw $Pq, $Qq",
685 /* e6 */ "invalid",
686 /* e7 */ "movntq $Mq, $Pq",
687 /* e8 */ "psubsb $Pq, $Qq",
688 /* e9 */ "psubsw $Pq, $Qq",
689 /* ea */ "pminsw $Pq, $Qq",
690 /* eb */ "por $Pq, $Qq",
691 /* ec */ "paddsb $Pq, $Qq",
692 /* ed */ "paddsw $Pq, $Qq",
693 /* ee */ "pmaxsw $Pq, $Qq",
694 /* ef */ "pxor $Pq, $Qq",
695 /* f0 */ "invalid",
696 /* f1 */ "psllw $Pq, $Qq",
697 /* f2 */ "pslld $Pq, $Qq",
698 /* f3 */ "psllq $Pq, $Qq",
699 /* f4 */ "pmuludq $Pq, $Qq",
700 /* f5 */ "pmaddwd $Pq, $Qq",
701 /* f6 */ "psadbw $Pq, $Qq",
702 /* f7 */ "maskmovq $Pq, $PRq",
703 /* f8 */ "psubb $Pq, $Qq",
704 /* f9 */ "psubw $Pq, $Qq",
705 /* fa */ "psubd $Pq, $Qq",
706 /* fb */ "psubq $Pq, $Qq",
707 /* fc */ "paddb $Pq, $Qq",
708 /* fd */ "paddw $Pq, $Qq",
709 /* fe */ "paddd $Pq, $Qq",
710 /* ff */ "invalid",
711 };
712
713 static const char *kDisasm660FXXOp[NCDTABLESIZE] = {
714 /* 00 */ "undefined",
715 /* 01 */ "undefined",
716 /* 02 */ "undefined",
717 /* 03 */ "undefined",
718 /* 04 */ "undefined",
719 /* 05 */ "undefined",
720 /* 06 */ "undefined",
721 /* 07 */ "undefined",
722 /* 08 */ "undefined",
723 /* 09 */ "undefined",
724 /* 0a */ "undefined",
725 /* 0b */ "undefined",
726 /* 0c */ "undefined",
727 /* 0d */ "undefined",
728 /* 0e */ "undefined",
729 /* 0f */ "undefined",
730 /* 10 */ "movupd $Vpd, $Wpd",
731 /* 11 */ "movupd $Wpd, $Vpd",
732 /* 12 */ "movlpd $Vps, $Mq",
733 /* 13 */ "movlpd $Mq, $Vsd",
734 /* 14 */ "unpcklpd $Vpd, $Wq",
735 /* 15 */ "unpckhpd $Vpd, $Wq",
736 /* 16 */ "movhpd $Vsd, $Mq",
737 /* 17 */ "movhpd $Mq, $Vpd",
738 /* 18 */ "undefined",
739 /* 19 */ "undefined",
740 /* 1a */ "undefined",
741 /* 1b */ "undefined",
742 /* 1c */ "undefined",
743 /* 1d */ "undefined",
744 /* 1e */ "undefined",
745 /* 1f */ "undefined",
746 /* 20 */ "undefined",
747 /* 21 */ "undefined",
748 /* 22 */ "undefined",
749 /* 23 */ "undefined",
750 /* 24 */ "undefined",
751 /* 25 */ "undefined",
752 /* 26 */ "undefined",
753 /* 27 */ "undefined",
754 /* 28 */ "movapd $Vpd, $Wpd",
755 /* 29 */ "movapd $Wpd, $Vpd",
756 /* 2a */ "cvtpi2pd $Vpd $Qq",
757 /* 2b */ "movntpd $Mdq, $Vpd",
758 /* 2c */ "cvttpd2pi $Pq, $Wpd",
759 /* 2d */ "cvtpd2pi $Pq, $Wpd",
760 /* 2e */ "ucomisd $Vps, $Wps",
761 /* 2f */ "comisd $Vpd, $Wsd",
762 /* 30 */ "undefined",
763 /* 31 */ "undefined",
764 /* 32 */ "undefined",
765 /* 33 */ "undefined",
766 /* 34 */ "undefined",
767 /* 35 */ "undefined",
768 /* 36 */ "undefined",
769 /* 37 */ "undefined",
770 /* 38 */ "SSE4",
771 /* 39 */ "undefined",
772 /* 3a */ "SSE4",
773 /* 3b */ "undefined",
774 /* 3c */ "undefined",
775 /* 3d */ "undefined",
776 /* 3e */ "undefined",
777 /* 3f */ "undefined",
778 /* 40 */ "cmovo $Gv, $Ev",
779 /* 41 */ "cmovno $Gv, $Ev",
780 /* 42 */ "cmovb $Gv, $Ev",
781 /* 43 */ "cmovnb $Gv, $Ev",
782 /* 44 */ "cmovz $Gv, $Ev",
783 /* 45 */ "cmovnz $Gv, $Ev",
784 /* 46 */ "cmovbe $Gv, $Ev",
785 /* 47 */ "cmovnbe $Gv, $Ev",
786 /* 48 */ "cmovs $Gv, $Ev",
787 /* 49 */ "cmovns $Gv, $Ev",
788 /* 4a */ "cmovp $Gv, $Ev",
789 /* 4b */ "cmovnp $Gv, $Ev",
790 /* 4c */ "cmovl $Gv, $Ev",
791 /* 4d */ "cmovnl $Gv, $Ev",
792 /* 4e */ "cmovle $Gv, $Ev",
793 /* 4f */ "cmovnle $Gv, $Ev",
794 /* 50 */ "movmskpd $Gd, $VRpd",
795 /* 51 */ "sqrtpd $Vpd, $Wpd",
796 /* 52 */ "invalid",
797 /* 53 */ "invalid",
798 /* 54 */ "andpd $Vpd, $Wpd",
799 /* 55 */ "andnpd $Vpd, $Wpd",
800 /* 56 */ "orpd $Vpd, $Wpd",
801 /* 57 */ "xorpd $Vpd, $Wpd",
802 /* 58 */ "addpd $Vpd, $Wpd",
803 /* 59 */ "mulpd $Vpd, $Wpd",
804 /* 5a */ "cvtpd2ps $Vps, $Wpd",
805 /* 5b */ "cvtps2dq $Vdq, $Wps",
806 /* 5c */ "subpd $Vpd, $Wpd",
807 /* 5d */ "minpd $Vpd, $Wpd",
808 /* 5e */ "divpd $Vpd, $Wpd",
809 /* 5f */ "maxpd $Vpd, $Wpd",
810 /* 60 */ "punpcklbw $Vdq, $Wq",
811 /* 61 */ "punpcklwd $Vdq, $Wq",
812 /* 62 */ "punpckldq $Vdq, $Wq",
813 /* 63 */ "packsswb $Vdq, $Wdq",
814 /* 64 */ "pcmpgtb $Vdq, $Wdq",
815 /* 65 */ "pcmpgtw $Vdq, $Wdq",
816 /* 66 */ "pcmpgtd $Vdq, $Wdq",
817 /* 67 */ "packuswb $Vdq, $Wdq",
818 /* 68 */ "punpckhbw $Vdq, $Wq",
819 /* 69 */ "punpckhwd $Vdq, $Wq",
820 /* 6a */ "punpckhdq $Vdq, $Wq",
821 /* 6b */ "packssdw $Vdq, $Wdq",
822 /* 6c */ "punpcklqdq $Vdq, $Wq",
823 /* 6d */ "punpckhqdq $Vdq, $Wq",
824 /* 6e */ "movd $Vdq, $Edq",
825 /* 6f */ "movdqa $Vdq, $Wdq",
826 /* 70 */ "pshufd $Vdq, $Wdq, $Ib",
827 /* 71 */ "$group12 $VRdq, $Ib",
828 /* 72 */ "$group13 $VRdq, $Ib",
829 /* 73 */ "$group14 $VRdq, $Ib",
830 /* 74 */ "pcmpeqb $Vdq, $Wdq",
831 /* 75 */ "pcmpeqw $Vdq, $Wdq",
832 /* 76 */ "pcmpeqd $Vdq, $Wdq",
833 /* 77 */ "invalid",
834 /* 78 */ "$group17 $Vdq, $Ib, $Ib",
835 /* 79 */ "extrq $Vdq, $VRq",
836 /* 7a */ "invalid",
837 /* 7b */ "invalid",
838 /* 7c */ "haddpd $Vpd, $Wpd",
839 /* 7d */ "hsubpd $Vpd, $Wpd",
840 /* 7e */ "movd $Ed, $Vd",
841 /* 7f */ "movdqa $Wdq, $Vdq",
842 /* 80 */ "undefined",
843 /* 81 */ "undefined",
844 /* 82 */ "undefined",
845 /* 83 */ "undefined",
846 /* 84 */ "undefined",
847 /* 85 */ "undefined",
848 /* 86 */ "undefined",
849 /* 87 */ "undefined",
850 /* 88 */ "undefined",
851 /* 89 */ "undefined",
852 /* 8a */ "undefined",
853 /* 8b */ "undefined",
854 /* 8c */ "undefined",
855 /* 8d */ "undefined",
856 /* 8e */ "undefined",
857 /* 8f */ "undefined",
858 /* 90 */ "undefined",
859 /* 91 */ "undefined",
860 /* 92 */ "undefined",
861 /* 93 */ "undefined",
862 /* 94 */ "undefined",
863 /* 95 */ "undefined",
864 /* 96 */ "undefined",
865 /* 97 */ "undefined",
866 /* 98 */ "undefined",
867 /* 99 */ "undefined",
868 /* 9a */ "undefined",
869 /* 9b */ "undefined",
870 /* 9c */ "undefined",
871 /* 9d */ "undefined",
872 /* 9e */ "undefined",
873 /* 9f */ "undefined",
874 /* a0 */ "undefined",
875 /* a1 */ "undefined",
876 /* a2 */ "undefined",
877 /* a3 */ "undefined",
878 /* a4 */ "undefined",
879 /* a5 */ "undefined",
880 /* a6 */ "undefined",
881 /* a7 */ "undefined",
882 /* a8 */ "undefined",
883 /* a9 */ "undefined",
884 /* aa */ "undefined",
885 /* ab */ "undefined",
886 /* ac */ "undefined",
887 /* ad */ "undefined",
888 /* ae */ "undefined",
889 /* af */ "imul $Gv, $Ev",
890 /* b0 */ "undefined",
891 /* b1 */ "undefined",
892 /* b2 */ "undefined",
893 /* b3 */ "undefined",
894 /* b4 */ "undefined",
895 /* b5 */ "undefined",
896 /* b6 */ "movzx $Gv, $Eb",
897 /* b7 */ "movzx $Gv, $Ew",
898 /* b8 */ "undefined",
899 /* b9 */ "undefined",
900 /* ba */ "undefined",
901 /* bb */ "undefined",
902 /* bc */ "undefined",
903 /* bd */ "undefined",
904 /* be */ "movsx $Gv, $Eb",
905 /* bf */ "movsx $Gv, $Ew",
906 /* c0 */ "undefined",
907 /* c1 */ "undefined",
908 /* c2 */ "cmppd $V, $W, $I",
909 /* c3 */ "invalid",
910 /* c4 */ "pinsrw $Vdq, $Ew, $Ib",
911 /* c5 */ "pextrw $Gd, $VRdq, $Ib",
912 /* c6 */ "shufpd $Vpd, $Wpd, $Ib",
913 /* c7 */ "undefined",
914 /* c8 */ "undefined",
915 /* c9 */ "undefined",
916 /* ca */ "undefined",
917 /* cb */ "undefined",
918 /* cc */ "undefined",
919 /* cd */ "undefined",
920 /* ce */ "undefined",
921 /* cf */ "undefined",
922 /* d0 */ "addsubpd $Vpd, $Wpd",
923 /* d1 */ "psrlw $Vdq, $Wdq",
924 /* d2 */ "psrld $Vdq, $Wdq",
925 /* d3 */ "psrlq $Vdq, $Wdq",
926 /* d4 */ "paddq $Vdq, $Wdq",
927 /* d5 */ "pmullw $Vdq, $Wdq",
928 /* d6 */ "movq $Wq, $Vq",
929 /* d7 */ "pmovmskb $Gd, $VRdq",
930 /* d8 */ "psubusb $Vdq, $Wdq",
931 /* d9 */ "psubusw $Vdq, $Wdq",
932 /* da */ "pminub $Vdq, $Wdq",
933 /* db */ "pand $Vdq, $Wdq",
934 /* dc */ "paddusb $Vdq, $Wdq",
935 /* dd */ "paddusw $Vdq, $Wdq",
936 /* de */ "pmaxub $Vdq, $Wdq",
937 /* df */ "pandn $Vdq, $Wdq",
938 /* e0 */ "pavgb $Vdq, $Wdq",
939 /* e1 */ "psraw $Vdq, $Wdq",
940 /* e2 */ "psrad $Vdq, $Wdq",
941 /* e3 */ "pavgw $Vdq, $Wdq",
942 /* e4 */ "pmulhuw $Vdq, $Wdq",
943 /* e5 */ "pmulhw $Vdq, $Wdq",
944 /* e6 */ "cvttpd2dq $Vq, $Wpd",
945 /* e7 */ "movntdq $Mdq, $Vdq",
946 /* e8 */ "psubsb $Vdq, $Wdq",
947 /* e9 */ "psubsw $Vdq, $Wdq",
948 /* ea */ "pminsw $Vdq, $Wdq",
949 /* eb */ "por $Vdq, $Wdq",
950 /* ec */ "paddsb $Vdq, $Wdq",
951 /* ed */ "paddsw $Vdq, $Wdq",
952 /* ee */ "pmaxsw $Vdq, $Wdq",
953 /* ef */ "pxor $Vdq, $Wdq",
954 /* f0 */ "invalid",
955 /* f1 */ "psllw $Vdq, $Wdq",
956 /* f2 */ "pslld $Vdq, $Wdq",
957 /* f3 */ "psllq $Vdq, $Wdq",
958 /* f4 */ "pmuludq $Vdq, $Wdq",
959 /* f5 */ "pmaddwd $Vdq, $Wdq",
960 /* f6 */ "psadbw $Vdq, $Wdq",
961 /* f7 */ "maskmovdqu $Vdq, $VRdq",
962 /* f8 */ "psubb $Vdq, $Wdq",
963 /* f9 */ "psubw $Vdq, $Wdq",
964 /* fa */ "psubd $Vdq, $Wdq",
965 /* fb */ "psubq $Vdq, $Wdq",
966 /* fc */ "paddb $Vdq, $Wdq",
967 /* fd */ "paddw $Vdq, $Wdq",
968 /* fe */ "paddd $Vdq, $Wdq",
969 /* ff */ "invalid",
970 };
971
972 static const char *kDisasmF20FXXOp[NCDTABLESIZE] = {
973 /* 00 */ "undefined",
974 /* 01 */ "undefined",
975 /* 02 */ "undefined",
976 /* 03 */ "undefined",
977 /* 04 */ "undefined",
978 /* 05 */ "undefined",
979 /* 06 */ "undefined",
980 /* 07 */ "undefined",
981 /* 08 */ "undefined",
982 /* 09 */ "undefined",
983 /* 0a */ "undefined",
984 /* 0b */ "undefined",
985 /* 0c */ "undefined",
986 /* 0d */ "undefined",
987 /* 0e */ "undefined",
988 /* 0f */ "undefined",
989 /* 10 */ "movsd $Vsd, $Wsd",
990 /* 11 */ "movsd $Wsd, $Vsd",
991 /* 12 */ "movddup $Vpd, $Wsd",
992 /* 13 */ "invalid",
993 /* 14 */ "invalid",
994 /* 15 */ "invalid",
995 /* 16 */ "invalid",
996 /* 17 */ "invalid",
997 /* 18 */ "undefined",
998 /* 19 */ "undefined",
999 /* 1a */ "undefined",
1000 /* 1b */ "undefined",
1001 /* 1c */ "undefined",
1002 /* 1d */ "undefined",
1003 /* 1e */ "undefined",
1004 /* 1f */ "undefined",
1005 /* 20 */ "undefined",
1006 /* 21 */ "undefined",
1007 /* 22 */ "undefined",
1008 /* 23 */ "undefined",
1009 /* 24 */ "undefined",
1010 /* 25 */ "undefined",
1011 /* 26 */ "undefined",
1012 /* 27 */ "undefined",
1013 /* 28 */ "invalid",
1014 /* 29 */ "invalid",
1015 /* 2a */ "cvtsi2sd $Vsd, $Ed",
1016 /* 2b */ "movntsd $Mq, $Vsd",
1017 /* 2c */ "cvttsd2si $Gd, $Wsd",
1018 /* 2d */ "cvtsd2si $Gd, $Wsd",
1019 /* 2e */ "invalid",
1020 /* 2f */ "invalid",
1021 /* 30 */ "undefined",
1022 /* 31 */ "undefined",
1023 /* 32 */ "undefined",
1024 /* 33 */ "undefined",
1025 /* 34 */ "undefined",
1026 /* 35 */ "undefined",
1027 /* 36 */ "undefined",
1028 /* 37 */ "undefined",
1029 /* 38 */ "SSE4",
1030 /* 39 */ "undefined",
1031 /* 3a */ "undefined",
1032 /* 3b */ "undefined",
1033 /* 3c */ "undefined",
1034 /* 3d */ "undefined",
1035 /* 3e */ "undefined",
1036 /* 3f */ "undefined",
1037 /* 40 */ "undefined",
1038 /* 41 */ "undefined",
1039 /* 42 */ "undefined",
1040 /* 43 */ "undefined",
1041 /* 44 */ "undefined",
1042 /* 45 */ "undefined",
1043 /* 46 */ "undefined",
1044 /* 47 */ "undefined",
1045 /* 48 */ "undefined",
1046 /* 49 */ "undefined",
1047 /* 4a */ "undefined",
1048 /* 4b */ "undefined",
1049 /* 4c */ "undefined",
1050 /* 4d */ "undefined",
1051 /* 4e */ "undefined",
1052 /* 4f */ "undefined",
1053 /* 50 */ "invalid",
1054 /* 51 */ "sqrtsd $Vsd, $Wsd",
1055 /* 52 */ "invalid",
1056 /* 53 */ "invalid",
1057 /* 54 */ "invalid",
1058 /* 55 */ "invalid",
1059 /* 56 */ "invalid",
1060 /* 57 */ "invalid",
1061 /* 58 */ "addsd $Vsd, $Wsd",
1062 /* 59 */ "mulsd $Vsd, $Wsd",
1063 /* 5a */ "cvtsd2ss $Vss, $Wsd",
1064 /* 5b */ "invalid",
1065 /* 5c */ "subsd $Vsd, $Wsd",
1066 /* 5d */ "minsd $Vsd, $Wsd",
1067 /* 5e */ "divsd $Vsd, $Wsd",
1068 /* 5f */ "maxsd $Vsd, $Wsd",
1069 /* 60 */ "invalid",
1070 /* 61 */ "invalid",
1071 /* 62 */ "invalid",
1072 /* 63 */ "invalid",
1073 /* 64 */ "invalid",
1074 /* 65 */ "invalid",
1075 /* 66 */ "invalid",
1076 /* 67 */ "invalid",
1077 /* 68 */ "invalid",
1078 /* 69 */ "invalid",
1079 /* 6a */ "invalid",
1080 /* 6b */ "invalid",
1081 /* 6c */ "invalid",
1082 /* 6d */ "invalid",
1083 /* 6e */ "invalid",
1084 /* 6f */ "invalid",
1085 /* 70 */ "pshuflw $Vq, $Wq, $Ib",
1086 /* 71 */ "invalid",
1087 /* 72 */ "invalid",
1088 /* 73 */ "invalid",
1089 /* 74 */ "invalid",
1090 /* 75 */ "invalid",
1091 /* 76 */ "invalid",
1092 /* 77 */ "invalid",
1093 /* 78 */ "insertq $Vdq, $VRq, $Ib, $Ib",
1094 /* 79 */ "insertq $Vdq, $VRdq",
1095 /* 7a */ "invalid",
1096 /* 7b */ "invalid",
1097 /* 7c */ "haddps $Vps, $Wps",
1098 /* 7d */ "hsubps $Vps, $Wps",
1099 /* 7e */ "invalid",
1100 /* 7f */ "invalid",
1101 /* 80 */ "undefined",
1102 /* 81 */ "undefined",
1103 /* 82 */ "undefined",
1104 /* 83 */ "undefined",
1105 /* 84 */ "undefined",
1106 /* 85 */ "undefined",
1107 /* 86 */ "undefined",
1108 /* 87 */ "undefined",
1109 /* 88 */ "undefined",
1110 /* 89 */ "undefined",
1111 /* 8a */ "undefined",
1112 /* 8b */ "undefined",
1113 /* 8c */ "undefined",
1114 /* 8d */ "undefined",
1115 /* 8e */ "undefined",
1116 /* 8f */ "undefined",
1117 /* 90 */ "undefined",
1118 /* 91 */ "undefined",
1119 /* 92 */ "undefined",
1120 /* 93 */ "undefined",
1121 /* 94 */ "undefined",
1122 /* 95 */ "undefined",
1123 /* 96 */ "undefined",
1124 /* 97 */ "undefined",
1125 /* 98 */ "undefined",
1126 /* 99 */ "undefined",
1127 /* 9a */ "undefined",
1128 /* 9b */ "undefined",
1129 /* 9c */ "undefined",
1130 /* 9d */ "undefined",
1131 /* 9e */ "undefined",
1132 /* 9f */ "undefined",
1133 /* a0 */ "undefined",
1134 /* a1 */ "undefined",
1135 /* a2 */ "undefined",
1136 /* a3 */ "undefined",
1137 /* a4 */ "undefined",
1138 /* a5 */ "undefined",
1139 /* a6 */ "undefined",
1140 /* a7 */ "undefined",
1141 /* a8 */ "undefined",
1142 /* a9 */ "undefined",
1143 /* aa */ "undefined",
1144 /* ab */ "undefined",
1145 /* ac */ "undefined",
1146 /* ad */ "undefined",
1147 /* ae */ "undefined",
1148 /* af */ "undefined",
1149 /* b0 */ "undefined",
1150 /* b1 */ "undefined",
1151 /* b2 */ "undefined",
1152 /* b3 */ "undefined",
1153 /* b4 */ "undefined",
1154 /* b5 */ "undefined",
1155 /* b6 */ "undefined",
1156 /* b7 */ "undefined",
1157 /* b8 */ "reserved",
1158 /* b9 */ "reserved",
1159 /* ba */ "reserved",
1160 /* bb */ "reserved",
1161 /* bc */ "reserved",
1162 /* bd */ "reserved",
1163 /* be */ "reserved",
1164 /* bf */ "reserved",
1165 /* c0 */ "undefined",
1166 /* c1 */ "undefined",
1167 /* c2 */ "cmpsd $V, $W, $I",
1168 /* c3 */ "invalid",
1169 /* c4 */ "invalid",
1170 /* c5 */ "invalid",
1171 /* c6 */ "invalid",
1172 /* c7 */ "undefined",
1173 /* c8 */ "undefined",
1174 /* c9 */ "undefined",
1175 /* ca */ "undefined",
1176 /* cb */ "undefined",
1177 /* cc */ "undefined",
1178 /* cd */ "undefined",
1179 /* ce */ "undefined",
1180 /* cf */ "undefined",
1181 /* d0 */ "addsubps $Vps, $Wps",
1182 /* d1 */ "invalid",
1183 /* d2 */ "invalid",
1184 /* d3 */ "invalid",
1185 /* d4 */ "invalid",
1186 /* d5 */ "invalid",
1187 /* d6 */ "movdq2q $Pq, $VRq",
1188 /* d7 */ "invalid",
1189 /* d8 */ "invalid",
1190 /* d9 */ "invalid",
1191 /* da */ "invalid",
1192 /* db */ "invalid",
1193 /* dc */ "invalid",
1194 /* dd */ "invalid",
1195 /* de */ "invalid",
1196 /* df */ "invalid",
1197 /* e0 */ "invalid",
1198 /* e1 */ "invalid",
1199 /* e2 */ "invalid",
1200 /* e3 */ "invalid",
1201 /* e4 */ "invalid",
1202 /* e5 */ "invalid",
1203 /* e6 */ "cvtpd2dq $Vq, $Wpd",
1204 /* e7 */ "invalid",
1205 /* e8 */ "invalid",
1206 /* e9 */ "invalid",
1207 /* ea */ "invalid",
1208 /* eb */ "invalid",
1209 /* ec */ "invalid",
1210 /* ed */ "invalid",
1211 /* ee */ "invalid",
1212 /* ef */ "invalid",
1213 /* f0 */ "lddqu $Vpd, $Mdq",
1214 /* f1 */ "invalid",
1215 /* f2 */ "invalid",
1216 /* f3 */ "invalid",
1217 /* f4 */ "invalid",
1218 /* f5 */ "invalid",
1219 /* f6 */ "invalid",
1220 /* f7 */ "invalid",
1221 /* f8 */ "invalid",
1222 /* f9 */ "invalid",
1223 /* fa */ "invalid",
1224 /* fb */ "invalid",
1225 /* fc */ "invalid",
1226 /* fd */ "invalid",
1227 /* fe */ "invalid",
1228 /* ff */ "invalid",
1229 };
1230
1231 static const char *kDisasmF30FXXOp[NCDTABLESIZE] = {
1232 /* 00 */ "undefined",
1233 /* 01 */ "undefined",
1234 /* 02 */ "undefined",
1235 /* 03 */ "undefined",
1236 /* 04 */ "undefined",
1237 /* 05 */ "undefined",
1238 /* 06 */ "undefined",
1239 /* 07 */ "undefined",
1240 /* 08 */ "undefined",
1241 /* 09 */ "undefined",
1242 /* 0a */ "undefined",
1243 /* 0b */ "undefined",
1244 /* 0c */ "undefined",
1245 /* 0d */ "undefined",
1246 /* 0e */ "undefined",
1247 /* 0f */ "undefined",
1248 /* 10 */ "movss $Vss, $Wss",
1249 /* 11 */ "movss $Wss, $Vss",
1250 /* 12 */ "movsldup $Vps, $Wps",
1251 /* 13 */ "invalid",
1252 /* 14 */ "invalid",
1253 /* 15 */ "invalid",
1254 /* 16 */ "movshdup $Vps, $Wps",
1255 /* 17 */ "invalid",
1256 /* 18 */ "undefined",
1257 /* 19 */ "undefined",
1258 /* 1a */ "undefined",
1259 /* 1b */ "undefined",
1260 /* 1c */ "undefined",
1261 /* 1d */ "undefined",
1262 /* 1e */ "undefined",
1263 /* 1f */ "undefined",
1264 /* 20 */ "undefined",
1265 /* 21 */ "undefined",
1266 /* 22 */ "undefined",
1267 /* 23 */ "undefined",
1268 /* 24 */ "undefined",
1269 /* 25 */ "undefined",
1270 /* 26 */ "undefined",
1271 /* 27 */ "undefined",
1272 /* 28 */ "invalid",
1273 /* 29 */ "invalid",
1274 /* 2a */ "cvtsi2ss $Vss, $Ed",
1275 /* 2b */ "movntss $Md, $Vss",
1276 /* 2c */ "cvttss2si $Gd, $Wss",
1277 /* 2d */ "cvtss2si $Gd, $Wss",
1278 /* 2e */ "invalid",
1279 /* 2f */ "invalid",
1280 /* 30 */ "undefined",
1281 /* 31 */ "undefined",
1282 /* 32 */ "undefined",
1283 /* 33 */ "undefined",
1284 /* 34 */ "undefined",
1285 /* 35 */ "undefined",
1286 /* 36 */ "undefined",
1287 /* 37 */ "undefined",
1288 /* 38 */ "undefined",
1289 /* 39 */ "undefined",
1290 /* 3a */ "undefined",
1291 /* 3b */ "undefined",
1292 /* 3c */ "undefined",
1293 /* 3d */ "undefined",
1294 /* 3e */ "undefined",
1295 /* 3f */ "undefined",
1296 /* 40 */ "undefined",
1297 /* 41 */ "undefined",
1298 /* 42 */ "undefined",
1299 /* 43 */ "undefined",
1300 /* 44 */ "undefined",
1301 /* 45 */ "undefined",
1302 /* 46 */ "undefined",
1303 /* 47 */ "undefined",
1304 /* 48 */ "undefined",
1305 /* 49 */ "undefined",
1306 /* 4a */ "undefined",
1307 /* 4b */ "undefined",
1308 /* 4c */ "undefined",
1309 /* 4d */ "undefined",
1310 /* 4e */ "undefined",
1311 /* 4f */ "undefined",
1312 /* 50 */ "invalid",
1313 /* 51 */ "sqrtss $Vss, $Wss",
1314 /* 52 */ "rsqrtss $Vss, $Wss",
1315 /* 53 */ "rcpss $Vss, $Wss",
1316 /* 54 */ "invalid",
1317 /* 55 */ "invalid",
1318 /* 56 */ "invalid",
1319 /* 57 */ "invalid",
1320 /* 58 */ "addss $Vss, $Wss",
1321 /* 59 */ "mulss $Vss, $Wss",
1322 /* 5a */ "cvtss2sd $Vsd, $Wss",
1323 /* 5b */ "cvttps2dq $Vdq, $Wps",
1324 /* 5c */ "subss $Vss, $Wss",
1325 /* 5d */ "minss $Vss, $Wss",
1326 /* 5e */ "divss $Vss, $Wss",
1327 /* 5f */ "maxss $Vss, $Wss",
1328 /* 60 */ "invalid",
1329 /* 61 */ "invalid",
1330 /* 62 */ "invalid",
1331 /* 63 */ "invalid",
1332 /* 64 */ "invalid",
1333 /* 65 */ "invalid",
1334 /* 66 */ "invalid",
1335 /* 67 */ "invalid",
1336 /* 68 */ "invalid",
1337 /* 69 */ "invalid",
1338 /* 6a */ "invalid",
1339 /* 6b */ "invalid",
1340 /* 6c */ "invalid",
1341 /* 6d */ "invalid",
1342 /* 6e */ "invalid",
1343 /* 6f */ "movdqu $Vdq, $Wdq",
1344 /* 70 */ "pshufhw $Vq, $Wq, $Ib",
1345 /* 71 */ "invalid",
1346 /* 72 */ "invalid",
1347 /* 73 */ "invalid",
1348 /* 74 */ "invalid",
1349 /* 75 */ "invalid",
1350 /* 76 */ "invalid",
1351 /* 77 */ "invalid",
1352 /* 78 */ "invalid",
1353 /* 79 */ "invalid",
1354 /* 7a */ "invalid",
1355 /* 7b */ "invalid",
1356 /* 7c */ "invalid",
1357 /* 7d */ "invalid",
1358 /* 7e */ "movq $Vq, $Wq",
1359 /* 7f */ "movdqu $Wdq, $Vdq",
1360 /* 80 */ "undefined",
1361 /* 81 */ "undefined",
1362 /* 82 */ "undefined",
1363 /* 83 */ "undefined",
1364 /* 84 */ "undefined",
1365 /* 85 */ "undefined",
1366 /* 86 */ "undefined",
1367 /* 87 */ "undefined",
1368 /* 88 */ "undefined",
1369 /* 89 */ "undefined",
1370 /* 8a */ "undefined",
1371 /* 8b */ "undefined",
1372 /* 8c */ "undefined",
1373 /* 8d */ "undefined",
1374 /* 8e */ "undefined",
1375 /* 8f */ "undefined",
1376 /* 90 */ "undefined",
1377 /* 91 */ "undefined",
1378 /* 92 */ "undefined",
1379 /* 93 */ "undefined",
1380 /* 94 */ "undefined",
1381 /* 95 */ "undefined",
1382 /* 96 */ "undefined",
1383 /* 97 */ "undefined",
1384 /* 98 */ "undefined",
1385 /* 99 */ "undefined",
1386 /* 9a */ "undefined",
1387 /* 9b */ "undefined",
1388 /* 9c */ "undefined",
1389 /* 9d */ "undefined",
1390 /* 9e */ "undefined",
1391 /* 9f */ "undefined",
1392 /* a0 */ "undefined",
1393 /* a1 */ "undefined",
1394 /* a2 */ "undefined",
1395 /* a3 */ "undefined",
1396 /* a4 */ "undefined",
1397 /* a5 */ "undefined",
1398 /* a6 */ "undefined",
1399 /* a7 */ "undefined",
1400 /* a8 */ "undefined",
1401 /* a9 */ "undefined",
1402 /* aa */ "undefined",
1403 /* ab */ "undefined",
1404 /* ac */ "undefined",
1405 /* ad */ "undefined",
1406 /* ae */ "undefined",
1407 /* af */ "undefined",
1408 /* b0 */ "undefined",
1409 /* b1 */ "undefined",
1410 /* b2 */ "undefined",
1411 /* b3 */ "undefined",
1412 /* b4 */ "undefined",
1413 /* b5 */ "undefined",
1414 /* b6 */ "undefined",
1415 /* b7 */ "undefined",
1416 /* b8 */ "popcnt",
1417 /* b9 */ "reserved",
1418 /* ba */ "reserved",
1419 /* bb */ "reserved",
1420 /* bc */ "tzcnt $Gv, $Ev",
1421 /* bd */ "lzcnt $Gv, $Ev",
1422 /* be */ "reserved",
1423 /* bf */ "reserved",
1424 /* c0 */ "undefined",
1425 /* c1 */ "undefined",
1426 /* c2 */ "cmpss $V, $W, $I",
1427 /* c3 */ "invalid",
1428 /* c4 */ "invalid",
1429 /* c5 */ "invalid",
1430 /* c6 */ "invalid",
1431 /* c7 */ "undefined",
1432 /* c8 */ "undefined",
1433 /* c9 */ "undefined",
1434 /* ca */ "undefined",
1435 /* cb */ "undefined",
1436 /* cc */ "undefined",
1437 /* cd */ "undefined",
1438 /* ce */ "undefined",
1439 /* cf */ "undefined",
1440 /* d0 */ "invalid",
1441 /* d1 */ "invalid",
1442 /* d2 */ "invalid",
1443 /* d3 */ "invalid",
1444 /* d4 */ "invalid",
1445 /* d5 */ "invalid",
1446 /* d6 */ "movq2dq $Vdq, $PRq",
1447 /* d7 */ "invalid",
1448 /* d8 */ "invalid",
1449 /* d9 */ "invalid",
1450 /* da */ "invalid",
1451 /* db */ "invalid",
1452 /* dc */ "invalid",
1453 /* dd */ "invalid",
1454 /* de */ "invalid",
1455 /* df */ "invalid",
1456 /* e0 */ "invalid",
1457 /* e1 */ "invalid",
1458 /* e2 */ "invalid",
1459 /* e3 */ "invalid",
1460 /* e4 */ "invalid",
1461 /* e5 */ "invalid",
1462 /* e6 */ "cvtdq2pd $Vpd, $Wq",
1463 /* e7 */ "invalid",
1464 /* e8 */ "invalid",
1465 /* e9 */ "invalid",
1466 /* ea */ "invalid",
1467 /* eb */ "invalid",
1468 /* ec */ "invalid",
1469 /* ed */ "invalid",
1470 /* ee */ "invalid",
1471 /* ef */ "invalid",
1472 /* f0 */ "invalid",
1473 /* f1 */ "invalid",
1474 /* f2 */ "invalid",
1475 /* f3 */ "invalid",
1476 /* f4 */ "invalid",
1477 /* f5 */ "invalid",
1478 /* f6 */ "invalid",
1479 /* f7 */ "invalid",
1480 /* f8 */ "invalid",
1481 /* f9 */ "invalid",
1482 /* fa */ "invalid",
1483 /* fb */ "invalid",
1484 /* fc */ "invalid",
1485 /* fd */ "invalid",
1486 /* fe */ "invalid",
1487 /* ff */ "invalid",
1488 };
1489
1490
1491 /* three byte opcode tables */
1492 static const char *kDisasm0F0FOp[NCDTABLESIZE] = {
1493 /* 00 */ "undefined",
1494 /* 01 */ "undefined",
1495 /* 02 */ "undefined",
1496 /* 03 */ "undefined",
1497 /* 04 */ "undefined",
1498 /* 05 */ "undefined",
1499 /* 06 */ "undefined",
1500 /* 07 */ "undefined",
1501 /* 08 */ "undefined",
1502 /* 09 */ "undefined",
1503 /* 0a */ "undefined",
1504 /* 0b */ "undefined",
1505 /* 0c */ "pi2fw $P, $Q",
1506 /* 0d */ "pi2fd $P, $Q",
1507 /* 0e */ "undefined",
1508 /* 0f */ "undefined",
1509 /* 10 */ "undefined",
1510 /* 11 */ "undefined",
1511 /* 12 */ "undefined",
1512 /* 13 */ "undefined",
1513 /* 14 */ "undefined",
1514 /* 15 */ "undefined",
1515 /* 16 */ "undefined",
1516 /* 17 */ "undefined",
1517 /* 18 */ "undefined",
1518 /* 19 */ "undefined",
1519 /* 1a */ "undefined",
1520 /* 1b */ "undefined",
1521 /* 1c */ "pf2iw $P, $Q",
1522 /* 1d */ "pf2id $P, $Q",
1523 /* 1e */ "undefined",
1524 /* 1f */ "undefined",
1525 /* 20 */ "undefined",
1526 /* 21 */ "undefined",
1527 /* 22 */ "undefined",
1528 /* 23 */ "undefined",
1529 /* 24 */ "undefined",
1530 /* 25 */ "undefined",
1531 /* 26 */ "undefined",
1532 /* 27 */ "undefined",
1533 /* 28 */ "undefined",
1534 /* 29 */ "undefined",
1535 /* 2a */ "undefined",
1536 /* 2b */ "undefined",
1537 /* 2c */ "undefined",
1538 /* 2d */ "undefined",
1539 /* 2e */ "undefined",
1540 /* 2f */ "undefined",
1541 /* 30 */ "undefined",
1542 /* 31 */ "undefined",
1543 /* 32 */ "undefined",
1544 /* 33 */ "undefined",
1545 /* 34 */ "undefined",
1546 /* 35 */ "undefined",
1547 /* 36 */ "undefined",
1548 /* 37 */ "undefined",
1549 /* 38 */ "undefined",
1550 /* 39 */ "undefined",
1551 /* 3a */ "undefined",
1552 /* 3b */ "undefined",
1553 /* 3c */ "undefined",
1554 /* 3d */ "undefined",
1555 /* 3e */ "undefined",
1556 /* 3f */ "undefined",
1557 /* 40 */ "undefined",
1558 /* 41 */ "undefined",
1559 /* 42 */ "undefined",
1560 /* 43 */ "undefined",
1561 /* 44 */ "undefined",
1562 /* 45 */ "undefined",
1563 /* 46 */ "undefined",
1564 /* 47 */ "undefined",
1565 /* 48 */ "undefined",
1566 /* 49 */ "undefined",
1567 /* 4a */ "undefined",
1568 /* 4b */ "undefined",
1569 /* 4c */ "undefined",
1570 /* 4d */ "undefined",
1571 /* 4e */ "undefined",
1572 /* 4f */ "undefined",
1573 /* 50 */ "undefined",
1574 /* 51 */ "undefined",
1575 /* 52 */ "undefined",
1576 /* 53 */ "undefined",
1577 /* 54 */ "undefined",
1578 /* 55 */ "undefined",
1579 /* 56 */ "undefined",
1580 /* 57 */ "undefined",
1581 /* 58 */ "undefined",
1582 /* 59 */ "undefined",
1583 /* 5a */ "undefined",
1584 /* 5b */ "undefined",
1585 /* 5c */ "undefined",
1586 /* 5d */ "undefined",
1587 /* 5e */ "undefined",
1588 /* 5f */ "undefined",
1589 /* 60 */ "undefined",
1590 /* 61 */ "undefined",
1591 /* 62 */ "undefined",
1592 /* 63 */ "undefined",
1593 /* 64 */ "undefined",
1594 /* 65 */ "undefined",
1595 /* 66 */ "undefined",
1596 /* 67 */ "undefined",
1597 /* 68 */ "undefined",
1598 /* 69 */ "undefined",
1599 /* 6a */ "undefined",
1600 /* 6b */ "undefined",
1601 /* 6c */ "undefined",
1602 /* 6d */ "undefined",
1603 /* 6e */ "undefined",
1604 /* 6f */ "undefined",
1605 /* 70 */ "undefined",
1606 /* 71 */ "undefined",
1607 /* 72 */ "undefined",
1608 /* 73 */ "undefined",
1609 /* 74 */ "undefined",
1610 /* 75 */ "undefined",
1611 /* 76 */ "undefined",
1612 /* 77 */ "undefined",
1613 /* 78 */ "undefined",
1614 /* 79 */ "undefined",
1615 /* 7a */ "undefined",
1616 /* 7b */ "undefined",
1617 /* 7c */ "undefined",
1618 /* 7d */ "undefined",
1619 /* 7e */ "undefined",
1620 /* 7f */ "undefined",
1621 /* 80 */ "undefined",
1622 /* 81 */ "undefined",
1623 /* 82 */ "undefined",
1624 /* 83 */ "undefined",
1625 /* 84 */ "undefined",
1626 /* 85 */ "undefined",
1627 /* 86 */ "undefined",
1628 /* 87 */ "undefined",
1629 /* 88 */ "undefined",
1630 /* 89 */ "undefined",
1631 /* 8a */ "pfnacc $P, $Q",
1632 /* 8b */ "undefined",
1633 /* 8c */ "undefined",
1634 /* 8d */ "undefined",
1635 /* 8e */ "pfpnacc $P, $Q",
1636 /* 8f */ "undefined",
1637 /* 90 */ "pfcmpge $P, $Q",
1638 /* 91 */ "undefined",
1639 /* 92 */ "undefined",
1640 /* 93 */ "undefined",
1641 /* 94 */ "pfmin $P, $Q",
1642 /* 95 */ "undefined",
1643 /* 96 */ "pfrcp $P, $Q",
1644 /* 97 */ "pfrsqrt $P, $Q",
1645 /* 98 */ "undefined",
1646 /* 99 */ "undefined",
1647 /* 9a */ "pfsub $P, $Q",
1648 /* 9b */ "undefined",
1649 /* 9c */ "undefined",
1650 /* 9d */ "undefined",
1651 /* 9e */ "pfadd $P, $Q",
1652 /* 9f */ "undefined",
1653 /* a0 */ "pfcmpgt $P, $Q",
1654 /* a1 */ "undefined",
1655 /* a2 */ "undefined",
1656 /* a3 */ "undefined",
1657 /* a4 */ "pfmax $P, $Q",
1658 /* a5 */ "undefined",
1659 /* a6 */ "pfrcpit1 $P, $Q",
1660 /* a7 */ "pfrsqit1 $P, $Q",
1661 /* a8 */ "undefined",
1662 /* a9 */ "undefined",
1663 /* aa */ "pfsubr $P, $Q",
1664 /* ab */ "undefined",
1665 /* ac */ "undefined",
1666 /* ad */ "undefined",
1667 /* ae */ "pfacc $P, $Q",
1668 /* af */ "undefined",
1669 /* b0 */ "pfcmpeq $P, $Q",
1670 /* b1 */ "undefined",
1671 /* b2 */ "undefined",
1672 /* b3 */ "undefined",
1673 /* b4 */ "pfmul $P, $Q",
1674 /* b5 */ "undefined",
1675 /* b6 */ "pfrcpit2 $P, $Q",
1676 /* b7 */ "pmulhrw $P, $Q",
1677 /* b8 */ "undefined",
1678 /* b9 */ "undefined",
1679 /* ba */ "undefined",
1680 /* bb */ "pswapd $P, $Q",
1681 /* bc */ "undefined",
1682 /* bd */ "undefined",
1683 /* be */ "undefined",
1684 /* bf */ "pavgusb $P, $Q",
1685 /* c0 */ "undefined",
1686 /* c1 */ "undefined",
1687 /* c2 */ "undefined",
1688 /* c3 */ "undefined",
1689 /* c4 */ "undefined",
1690 /* c5 */ "undefined",
1691 /* c6 */ "undefined",
1692 /* c7 */ "undefined",
1693 /* c8 */ "undefined",
1694 /* c9 */ "undefined",
1695 /* ca */ "undefined",
1696 /* cb */ "undefined",
1697 /* cc */ "undefined",
1698 /* cd */ "undefined",
1699 /* ce */ "undefined",
1700 /* cf */ "undefined",
1701 /* d0 */ "undefined",
1702 /* d1 */ "undefined",
1703 /* d2 */ "undefined",
1704 /* d3 */ "undefined",
1705 /* d4 */ "undefined",
1706 /* d5 */ "undefined",
1707 /* d6 */ "undefined",
1708 /* d7 */ "undefined",
1709 /* d8 */ "undefined",
1710 /* d9 */ "undefined",
1711 /* da */ "undefined",
1712 /* db */ "undefined",
1713 /* dc */ "undefined",
1714 /* dd */ "undefined",
1715 /* de */ "undefined",
1716 /* df */ "undefined",
1717 /* e0 */ "undefined",
1718 /* e1 */ "undefined",
1719 /* e2 */ "undefined",
1720 /* e3 */ "undefined",
1721 /* e4 */ "undefined",
1722 /* e5 */ "undefined",
1723 /* e6 */ "undefined",
1724 /* e7 */ "undefined",
1725 /* e8 */ "undefined",
1726 /* e9 */ "undefined",
1727 /* ea */ "undefined",
1728 /* eb */ "undefined",
1729 /* ec */ "undefined",
1730 /* ed */ "undefined",
1731 /* ee */ "undefined",
1732 /* ef */ "undefined",
1733 /* f0 */ "undefined",
1734 /* f1 */ "undefined",
1735 /* f2 */ "undefined",
1736 /* f3 */ "undefined",
1737 /* f4 */ "undefined",
1738 /* f5 */ "undefined",
1739 /* f6 */ "undefined",
1740 /* f7 */ "undefined",
1741 /* f8 */ "undefined",
1742 /* f9 */ "undefined",
1743 /* fa */ "undefined",
1744 /* fb */ "undefined",
1745 /* fc */ "undefined",
1746 /* fd */ "undefined",
1747 /* fe */ "undefined",
1748 /* ff */ "undefined",
1749 };
1750
1751 static const char *kDisasm0F38Op[NCDTABLESIZE] = {
1752 /* 00 */ "pshufb $P, $Q",
1753 /* 01 */ "phaddw $P, $Q",
1754 /* 02 */ "phaddd $P, $Q",
1755 /* 03 */ "phaddsw $P, $Q",
1756 /* 04 */ "pmaddubsw $P, $Q",
1757 /* 05 */ "phsubw $P, $Q",
1758 /* 06 */ "phsubd $P, $Q",
1759 /* 07 */ "phsubsw $P, $Q",
1760 /* 08 */ "psignb $P, $Q",
1761 /* 09 */ "psignw $P, $Q",
1762 /* 0a */ "psignd $P, $Q",
1763 /* 0b */ "pmulhrsw $P, $Q",
1764 /* 0c */ "undefined",
1765 /* 0d */ "undefined",
1766 /* 0e */ "undefined",
1767 /* 0f */ "undefined",
1768 /* 10 */ "undefined",
1769 /* 11 */ "undefined",
1770 /* 12 */ "undefined",
1771 /* 13 */ "undefined",
1772 /* 14 */ "undefined",
1773 /* 15 */ "undefined",
1774 /* 16 */ "undefined",
1775 /* 17 */ "undefined",
1776 /* 18 */ "undefined",
1777 /* 19 */ "undefined",
1778 /* 1a */ "undefined",
1779 /* 1b */ "undefined",
1780 /* 1c */ "pabsb $P, $Q",
1781 /* 1d */ "pabsw $P, $Q",
1782 /* 1e */ "pabsd $P, $Q",
1783 /* 1f */ "undefined",
1784 /* 20 */ "undefined",
1785 /* 21 */ "undefined",
1786 /* 22 */ "undefined",
1787 /* 23 */ "undefined",
1788 /* 24 */ "undefined",
1789 /* 25 */ "undefined",
1790 /* 26 */ "undefined",
1791 /* 27 */ "undefined",
1792 /* 28 */ "undefined",
1793 /* 29 */ "undefined",
1794 /* 2a */ "undefined",
1795 /* 2b */ "undefined",
1796 /* 2c */ "undefined",
1797 /* 2d */ "undefined",
1798 /* 2e */ "undefined",
1799 /* 2f */ "undefined",
1800 /* 30 */ "undefined",
1801 /* 31 */ "undefined",
1802 /* 32 */ "undefined",
1803 /* 33 */ "undefined",
1804 /* 34 */ "undefined",
1805 /* 35 */ "undefined",
1806 /* 36 */ "undefined",
1807 /* 37 */ "undefined",
1808 /* 38 */ "undefined",
1809 /* 39 */ "undefined",
1810 /* 3a */ "undefined",
1811 /* 3b */ "undefined",
1812 /* 3c */ "undefined",
1813 /* 3d */ "undefined",
1814 /* 3e */ "undefined",
1815 /* 3f */ "undefined",
1816 /* 40 */ "undefined",
1817 /* 41 */ "undefined",
1818 /* 42 */ "undefined",
1819 /* 43 */ "undefined",
1820 /* 44 */ "undefined",
1821 /* 45 */ "undefined",
1822 /* 46 */ "undefined",
1823 /* 47 */ "undefined",
1824 /* 48 */ "undefined",
1825 /* 49 */ "undefined",
1826 /* 4a */ "undefined",
1827 /* 4b */ "undefined",
1828 /* 4c */ "undefined",
1829 /* 4d */ "undefined",
1830 /* 4e */ "undefined",
1831 /* 4f */ "undefined",
1832 /* 50 */ "undefined",
1833 /* 51 */ "undefined",
1834 /* 52 */ "undefined",
1835 /* 53 */ "undefined",
1836 /* 54 */ "undefined",
1837 /* 55 */ "undefined",
1838 /* 56 */ "undefined",
1839 /* 57 */ "undefined",
1840 /* 58 */ "undefined",
1841 /* 59 */ "undefined",
1842 /* 5a */ "undefined",
1843 /* 5b */ "undefined",
1844 /* 5c */ "undefined",
1845 /* 5d */ "undefined",
1846 /* 5e */ "undefined",
1847 /* 5f */ "undefined",
1848 /* 60 */ "undefined",
1849 /* 61 */ "undefined",
1850 /* 62 */ "undefined",
1851 /* 63 */ "undefined",
1852 /* 64 */ "undefined",
1853 /* 65 */ "undefined",
1854 /* 66 */ "undefined",
1855 /* 67 */ "undefined",
1856 /* 68 */ "undefined",
1857 /* 69 */ "undefined",
1858 /* 6a */ "undefined",
1859 /* 6b */ "undefined",
1860 /* 6c */ "undefined",
1861 /* 6d */ "undefined",
1862 /* 6e */ "undefined",
1863 /* 6f */ "undefined",
1864 /* 70 */ "undefined",
1865 /* 71 */ "undefined",
1866 /* 72 */ "undefined",
1867 /* 73 */ "undefined",
1868 /* 74 */ "undefined",
1869 /* 75 */ "undefined",
1870 /* 76 */ "undefined",
1871 /* 77 */ "undefined",
1872 /* 78 */ "undefined",
1873 /* 79 */ "undefined",
1874 /* 7a */ "undefined",
1875 /* 7b */ "undefined",
1876 /* 7c */ "undefined",
1877 /* 7d */ "undefined",
1878 /* 7e */ "undefined",
1879 /* 7f */ "undefined",
1880 /* 80 */ "undefined",
1881 /* 81 */ "undefined",
1882 /* 82 */ "undefined",
1883 /* 83 */ "undefined",
1884 /* 84 */ "undefined",
1885 /* 85 */ "undefined",
1886 /* 86 */ "undefined",
1887 /* 87 */ "undefined",
1888 /* 88 */ "undefined",
1889 /* 89 */ "undefined",
1890 /* 8a */ "undefined",
1891 /* 8b */ "undefined",
1892 /* 8c */ "undefined",
1893 /* 8d */ "undefined",
1894 /* 8e */ "undefined",
1895 /* 8f */ "undefined",
1896 /* 90 */ "undefined",
1897 /* 91 */ "undefined",
1898 /* 92 */ "undefined",
1899 /* 93 */ "undefined",
1900 /* 94 */ "undefined",
1901 /* 95 */ "undefined",
1902 /* 96 */ "undefined",
1903 /* 97 */ "undefined",
1904 /* 98 */ "undefined",
1905 /* 99 */ "undefined",
1906 /* 9a */ "undefined",
1907 /* 9b */ "undefined",
1908 /* 9c */ "undefined",
1909 /* 9d */ "undefined",
1910 /* 9e */ "undefined",
1911 /* 9f */ "undefined",
1912 /* a0 */ "undefined",
1913 /* a1 */ "undefined",
1914 /* a2 */ "undefined",
1915 /* a3 */ "undefined",
1916 /* a4 */ "undefined",
1917 /* a5 */ "undefined",
1918 /* a6 */ "undefined",
1919 /* a7 */ "undefined",
1920 /* a8 */ "undefined",
1921 /* a9 */ "undefined",
1922 /* aa */ "undefined",
1923 /* ab */ "undefined",
1924 /* ac */ "undefined",
1925 /* ad */ "undefined",
1926 /* ae */ "undefined",
1927 /* af */ "undefined",
1928 /* b0 */ "undefined",
1929 /* b1 */ "undefined",
1930 /* b2 */ "undefined",
1931 /* b3 */ "undefined",
1932 /* b4 */ "undefined",
1933 /* b5 */ "undefined",
1934 /* b6 */ "undefined",
1935 /* b7 */ "undefined",
1936 /* b8 */ "undefined",
1937 /* b9 */ "undefined",
1938 /* ba */ "undefined",
1939 /* bb */ "undefined",
1940 /* bc */ "undefined",
1941 /* bd */ "undefined",
1942 /* be */ "undefined",
1943 /* bf */ "undefined",
1944 /* c0 */ "undefined",
1945 /* c1 */ "undefined",
1946 /* c2 */ "undefined",
1947 /* c3 */ "undefined",
1948 /* c4 */ "undefined",
1949 /* c5 */ "undefined",
1950 /* c6 */ "undefined",
1951 /* c7 */ "undefined",
1952 /* c8 */ "undefined",
1953 /* c9 */ "undefined",
1954 /* ca */ "undefined",
1955 /* cb */ "undefined",
1956 /* cc */ "undefined",
1957 /* cd */ "undefined",
1958 /* ce */ "undefined",
1959 /* cf */ "undefined",
1960 /* d0 */ "undefined",
1961 /* d1 */ "undefined",
1962 /* d2 */ "undefined",
1963 /* d3 */ "undefined",
1964 /* d4 */ "undefined",
1965 /* d5 */ "undefined",
1966 /* d6 */ "undefined",
1967 /* d7 */ "undefined",
1968 /* d8 */ "undefined",
1969 /* d9 */ "undefined",
1970 /* da */ "undefined",
1971 /* db */ "undefined",
1972 /* dc */ "undefined",
1973 /* dd */ "undefined",
1974 /* de */ "undefined",
1975 /* df */ "undefined",
1976 /* e0 */ "undefined",
1977 /* e1 */ "undefined",
1978 /* e2 */ "undefined",
1979 /* e3 */ "undefined",
1980 /* e4 */ "undefined",
1981 /* e5 */ "undefined",
1982 /* e6 */ "undefined",
1983 /* e7 */ "undefined",
1984 /* e8 */ "undefined",
1985 /* e9 */ "undefined",
1986 /* ea */ "undefined",
1987 /* eb */ "undefined",
1988 /* ec */ "undefined",
1989 /* ed */ "undefined",
1990 /* ee */ "undefined",
1991 /* ef */ "undefined",
1992 /* f0 */ "MOVBE $G, $M",
1993 /* f1 */ "MOVBE $M, $G",
1994 /* f2 */ "undefined",
1995 /* f3 */ "undefined",
1996 /* f4 */ "undefined",
1997 /* f5 */ "undefined",
1998 /* f6 */ "undefined",
1999 /* f7 */ "undefined",
2000 /* f8 */ "undefined",
2001 /* f9 */ "undefined",
2002 /* fa */ "undefined",
2003 /* fb */ "undefined",
2004 /* fc */ "undefined",
2005 /* fd */ "undefined",
2006 /* fe */ "undefined",
2007 /* ff */ "undefined",
2008 };
2009
2010 static const char *kDisasm660F38Op[NCDTABLESIZE] = {
2011 /* 00 */ "pshufb $V, $W",
2012 /* 01 */ "phaddw $V, $W",
2013 /* 02 */ "phaddd $V, $W",
2014 /* 03 */ "phaddsw $V, $W",
2015 /* 04 */ "pmaddubsw $V, $W",
2016 /* 05 */ "phsubw $V, $W",
2017 /* 06 */ "phsubd $V, $W",
2018 /* 07 */ "phsubsw $V, $W",
2019 /* 08 */ "psignb $V, $W",
2020 /* 09 */ "psignw $V, $W",
2021 /* 0a */ "psignd $V, $W",
2022 /* 0b */ "pmulhrsw $V, $W",
2023 /* 0c */ "undefined",
2024 /* 0d */ "undefined",
2025 /* 0e */ "undefined",
2026 /* 0f */ "undefined",
2027 /* 10 */ "pblendvb $V, $W",
2028 /* 11 */ "undefined",
2029 /* 12 */ "undefined",
2030 /* 13 */ "undefined",
2031 /* 14 */ "blendvps $V, $W",
2032 /* 15 */ "blendvpd $V, $W",
2033 /* 16 */ "undefined",
2034 /* 17 */ "ptest $V, $W",
2035 /* 18 */ "undefined",
2036 /* 19 */ "undefined",
2037 /* 1a */ "undefined",
2038 /* 1b */ "undefined",
2039 /* 1c */ "pabsb $V, $W",
2040 /* 1d */ "pabsw $V, $W",
2041 /* 1e */ "pabsd $V, $W",
2042 /* 1f */ "undefined",
2043 /* 20 */ "pmovsxbw $V, $U/M",
2044 /* 21 */ "pmovsxbd $V, $U/M",
2045 /* 22 */ "pmovsxbq $V, $U/M",
2046 /* 23 */ "pmovsxwd $V, $U/M",
2047 /* 24 */ "pmovsxwq $V, $U/M",
2048 /* 25 */ "pmovsxdq $V, $U/M",
2049 /* 26 */ "undefined",
2050 /* 27 */ "undefined",
2051 /* 28 */ "pmuldq $V, $W",
2052 /* 29 */ "pcmpeqq $V, $W",
2053 /* 2a */ "movntdqa $V, $W",
2054 /* 2b */ "packusdw $V, $W",
2055 /* 2c */ "undefined",
2056 /* 2d */ "undefined",
2057 /* 2e */ "undefined",
2058 /* 2f */ "undefined",
2059 /* 30 */ "pmovzxbw $V, $U/M",
2060 /* 31 */ "pmovzxbd $V, $U/M",
2061 /* 32 */ "pmovzxbq $V, $U/M",
2062 /* 33 */ "pmovzxwd $V, $U/M",
2063 /* 34 */ "pmovzxwq $V, $U/M",
2064 /* 35 */ "pmovzxdq $V, $U/M",
2065 /* 36 */ "undefined",
2066 /* 37 */ "pcmpgtq $V, $U/M",
2067 /* 38 */ "pminsb $V, $W",
2068 /* 39 */ "pminsd $V, $W",
2069 /* 3a */ "pminuw $V, $W",
2070 /* 3b */ "pminud $V, $W",
2071 /* 3c */ "pmaxsb $V, $W",
2072 /* 3d */ "pmaxsd $V, $W",
2073 /* 3e */ "pmaxuw $V, $W",
2074 /* 3f */ "pmaxud $V, $W",
2075 /* 40 */ "pmulld $V, $W",
2076 /* 41 */ "phminposuw $V, $W",
2077 /* 42 */ "undefined",
2078 /* 43 */ "undefined",
2079 /* 44 */ "undefined",
2080 /* 45 */ "undefined",
2081 /* 46 */ "undefined",
2082 /* 47 */ "undefined",
2083 /* 48 */ "undefined",
2084 /* 49 */ "undefined",
2085 /* 4a */ "undefined",
2086 /* 4b */ "undefined",
2087 /* 4c */ "undefined",
2088 /* 4d */ "undefined",
2089 /* 4e */ "undefined",
2090 /* 4f */ "undefined",
2091 /* 50 */ "undefined",
2092 /* 51 */ "undefined",
2093 /* 52 */ "undefined",
2094 /* 53 */ "undefined",
2095 /* 54 */ "undefined",
2096 /* 55 */ "undefined",
2097 /* 56 */ "undefined",
2098 /* 57 */ "undefined",
2099 /* 58 */ "undefined",
2100 /* 59 */ "undefined",
2101 /* 5a */ "undefined",
2102 /* 5b */ "undefined",
2103 /* 5c */ "undefined",
2104 /* 5d */ "undefined",
2105 /* 5e */ "undefined",
2106 /* 5f */ "undefined",
2107 /* 60 */ "undefined",
2108 /* 61 */ "undefined",
2109 /* 62 */ "undefined",
2110 /* 63 */ "undefined",
2111 /* 64 */ "undefined",
2112 /* 65 */ "undefined",
2113 /* 66 */ "undefined",
2114 /* 67 */ "undefined",
2115 /* 68 */ "undefined",
2116 /* 69 */ "undefined",
2117 /* 6a */ "undefined",
2118 /* 6b */ "undefined",
2119 /* 6c */ "undefined",
2120 /* 6d */ "undefined",
2121 /* 6e */ "undefined",
2122 /* 6f */ "undefined",
2123 /* 70 */ "undefined",
2124 /* 71 */ "undefined",
2125 /* 72 */ "undefined",
2126 /* 73 */ "undefined",
2127 /* 74 */ "undefined",
2128 /* 75 */ "undefined",
2129 /* 76 */ "undefined",
2130 /* 77 */ "undefined",
2131 /* 78 */ "undefined",
2132 /* 79 */ "undefined",
2133 /* 7a */ "undefined",
2134 /* 7b */ "undefined",
2135 /* 7c */ "undefined",
2136 /* 7d */ "undefined",
2137 /* 7e */ "undefined",
2138 /* 7f */ "undefined",
2139 /* 80 */ "NVEPT $G, $M",
2140 /* 81 */ "NVVPID $G, $M",
2141 /* 82 */ "undefined",
2142 /* 83 */ "undefined",
2143 /* 84 */ "undefined",
2144 /* 85 */ "undefined",
2145 /* 86 */ "undefined",
2146 /* 87 */ "undefined",
2147 /* 88 */ "undefined",
2148 /* 89 */ "undefined",
2149 /* 8a */ "undefined",
2150 /* 8b */ "undefined",
2151 /* 8c */ "undefined",
2152 /* 8d */ "undefined",
2153 /* 8e */ "undefined",
2154 /* 8f */ "undefined",
2155 /* 90 */ "undefined",
2156 /* 91 */ "undefined",
2157 /* 92 */ "undefined",
2158 /* 93 */ "undefined",
2159 /* 94 */ "undefined",
2160 /* 95 */ "undefined",
2161 /* 96 */ "undefined",
2162 /* 97 */ "undefined",
2163 /* 98 */ "undefined",
2164 /* 99 */ "undefined",
2165 /* 9a */ "undefined",
2166 /* 9b */ "undefined",
2167 /* 9c */ "undefined",
2168 /* 9d */ "undefined",
2169 /* 9e */ "undefined",
2170 /* 9f */ "undefined",
2171 /* a0 */ "undefined",
2172 /* a1 */ "undefined",
2173 /* a2 */ "undefined",
2174 /* a3 */ "undefined",
2175 /* a4 */ "undefined",
2176 /* a5 */ "undefined",
2177 /* a6 */ "undefined",
2178 /* a7 */ "undefined",
2179 /* a8 */ "undefined",
2180 /* a9 */ "undefined",
2181 /* aa */ "undefined",
2182 /* ab */ "undefined",
2183 /* ac */ "undefined",
2184 /* ad */ "undefined",
2185 /* ae */ "undefined",
2186 /* af */ "undefined",
2187 /* b0 */ "undefined",
2188 /* b1 */ "undefined",
2189 /* b2 */ "undefined",
2190 /* b3 */ "undefined",
2191 /* b4 */ "undefined",
2192 /* b5 */ "undefined",
2193 /* b6 */ "undefined",
2194 /* b7 */ "undefined",
2195 /* b8 */ "undefined",
2196 /* b9 */ "undefined",
2197 /* ba */ "undefined",
2198 /* bb */ "undefined",
2199 /* bc */ "undefined",
2200 /* bd */ "undefined",
2201 /* be */ "undefined",
2202 /* bf */ "undefined",
2203 /* c0 */ "undefined",
2204 /* c1 */ "undefined",
2205 /* c2 */ "undefined",
2206 /* c3 */ "undefined",
2207 /* c4 */ "undefined",
2208 /* c5 */ "undefined",
2209 /* c6 */ "undefined",
2210 /* c7 */ "undefined",
2211 /* c8 */ "undefined",
2212 /* c9 */ "undefined",
2213 /* ca */ "undefined",
2214 /* cb */ "undefined",
2215 /* cc */ "undefined",
2216 /* cd */ "undefined",
2217 /* ce */ "undefined",
2218 /* cf */ "undefined",
2219 /* d0 */ "undefined",
2220 /* d1 */ "undefined",
2221 /* d2 */ "undefined",
2222 /* d3 */ "undefined",
2223 /* d4 */ "undefined",
2224 /* d5 */ "undefined",
2225 /* d6 */ "undefined",
2226 /* d7 */ "undefined",
2227 /* d8 */ "undefined",
2228 /* d9 */ "undefined",
2229 /* da */ "undefined",
2230 /* db */ "undefined",
2231 /* dc */ "undefined",
2232 /* dd */ "undefined",
2233 /* de */ "undefined",
2234 /* df */ "undefined",
2235 /* e0 */ "undefined",
2236 /* e1 */ "undefined",
2237 /* e2 */ "undefined",
2238 /* e3 */ "undefined",
2239 /* e4 */ "undefined",
2240 /* e5 */ "undefined",
2241 /* e6 */ "undefined",
2242 /* e7 */ "undefined",
2243 /* e8 */ "undefined",
2244 /* e9 */ "undefined",
2245 /* ea */ "undefined",
2246 /* eb */ "undefined",
2247 /* ec */ "undefined",
2248 /* ed */ "undefined",
2249 /* ee */ "undefined",
2250 /* ef */ "undefined",
2251 /* f0 */ "undefined",
2252 /* f1 */ "undefined",
2253 /* f2 */ "undefined",
2254 /* f3 */ "undefined",
2255 /* f4 */ "undefined",
2256 /* f5 */ "undefined",
2257 /* f6 */ "undefined",
2258 /* f7 */ "undefined",
2259 /* f8 */ "undefined",
2260 /* f9 */ "undefined",
2261 /* fa */ "undefined",
2262 /* fb */ "undefined",
2263 /* fc */ "undefined",
2264 /* fd */ "undefined",
2265 /* fe */ "undefined",
2266 /* ff */ "undefined",
2267 };
2268
2269 static const char *kDisasmF20F38Op[NCDTABLESIZE] = {
2270 /* 00 */ "undefined",
2271 /* 01 */ "undefined",
2272 /* 02 */ "undefined",
2273 /* 03 */ "undefined",
2274 /* 04 */ "undefined",
2275 /* 05 */ "undefined",
2276 /* 06 */ "undefined",
2277 /* 07 */ "undefined",
2278 /* 08 */ "undefined",
2279 /* 09 */ "undefined",
2280 /* 0a */ "undefined",
2281 /* 0b */ "undefined",
2282 /* 0c */ "undefined",
2283 /* 0d */ "undefined",
2284 /* 0e */ "undefined",
2285 /* 0f */ "undefined",
2286 /* 10 */ "undefined",
2287 /* 11 */ "undefined",
2288 /* 12 */ "undefined",
2289 /* 13 */ "undefined",
2290 /* 14 */ "undefined",
2291 /* 15 */ "undefined",
2292 /* 16 */ "undefined",
2293 /* 17 */ "undefined",
2294 /* 18 */ "undefined",
2295 /* 19 */ "undefined",
2296 /* 1a */ "undefined",
2297 /* 1b */ "undefined",
2298 /* 1c */ "undefined",
2299 /* 1d */ "undefined",
2300 /* 1e */ "undefined",
2301 /* 1f */ "undefined",
2302 /* 20 */ "undefined",
2303 /* 21 */ "undefined",
2304 /* 22 */ "undefined",
2305 /* 23 */ "undefined",
2306 /* 24 */ "undefined",
2307 /* 25 */ "undefined",
2308 /* 26 */ "undefined",
2309 /* 27 */ "undefined",
2310 /* 28 */ "undefined",
2311 /* 29 */ "undefined",
2312 /* 2a */ "undefined",
2313 /* 2b */ "undefined",
2314 /* 2c */ "undefined",
2315 /* 2d */ "undefined",
2316 /* 2e */ "undefined",
2317 /* 2f */ "undefined",
2318 /* 30 */ "undefined",
2319 /* 31 */ "undefined",
2320 /* 32 */ "undefined",
2321 /* 33 */ "undefined",
2322 /* 34 */ "undefined",
2323 /* 35 */ "undefined",
2324 /* 36 */ "undefined",
2325 /* 37 */ "undefined",
2326 /* 38 */ "undefined",
2327 /* 39 */ "undefined",
2328 /* 3a */ "undefined",
2329 /* 3b */ "undefined",
2330 /* 3c */ "undefined",
2331 /* 3d */ "undefined",
2332 /* 3e */ "undefined",
2333 /* 3f */ "undefined",
2334 /* 40 */ "undefined",
2335 /* 41 */ "undefined",
2336 /* 42 */ "undefined",
2337 /* 43 */ "undefined",
2338 /* 44 */ "undefined",
2339 /* 45 */ "undefined",
2340 /* 46 */ "undefined",
2341 /* 47 */ "undefined",
2342 /* 48 */ "undefined",
2343 /* 49 */ "undefined",
2344 /* 4a */ "undefined",
2345 /* 4b */ "undefined",
2346 /* 4c */ "undefined",
2347 /* 4d */ "undefined",
2348 /* 4e */ "undefined",
2349 /* 4f */ "undefined",
2350 /* 50 */ "undefined",
2351 /* 51 */ "undefined",
2352 /* 52 */ "undefined",
2353 /* 53 */ "undefined",
2354 /* 54 */ "undefined",
2355 /* 55 */ "undefined",
2356 /* 56 */ "undefined",
2357 /* 57 */ "undefined",
2358 /* 58 */ "undefined",
2359 /* 59 */ "undefined",
2360 /* 5a */ "undefined",
2361 /* 5b */ "undefined",
2362 /* 5c */ "undefined",
2363 /* 5d */ "undefined",
2364 /* 5e */ "undefined",
2365 /* 5f */ "undefined",
2366 /* 60 */ "undefined",
2367 /* 61 */ "undefined",
2368 /* 62 */ "undefined",
2369 /* 63 */ "undefined",
2370 /* 64 */ "undefined",
2371 /* 65 */ "undefined",
2372 /* 66 */ "undefined",
2373 /* 67 */ "undefined",
2374 /* 68 */ "undefined",
2375 /* 69 */ "undefined",
2376 /* 6a */ "undefined",
2377 /* 6b */ "undefined",
2378 /* 6c */ "undefined",
2379 /* 6d */ "undefined",
2380 /* 6e */ "undefined",
2381 /* 6f */ "undefined",
2382 /* 70 */ "undefined",
2383 /* 71 */ "undefined",
2384 /* 72 */ "undefined",
2385 /* 73 */ "undefined",
2386 /* 74 */ "undefined",
2387 /* 75 */ "undefined",
2388 /* 76 */ "undefined",
2389 /* 77 */ "undefined",
2390 /* 78 */ "undefined",
2391 /* 79 */ "undefined",
2392 /* 7a */ "undefined",
2393 /* 7b */ "undefined",
2394 /* 7c */ "undefined",
2395 /* 7d */ "undefined",
2396 /* 7e */ "undefined",
2397 /* 7f */ "undefined",
2398 /* 80 */ "undefined",
2399 /* 81 */ "undefined",
2400 /* 82 */ "undefined",
2401 /* 83 */ "undefined",
2402 /* 84 */ "undefined",
2403 /* 85 */ "undefined",
2404 /* 86 */ "undefined",
2405 /* 87 */ "undefined",
2406 /* 88 */ "undefined",
2407 /* 89 */ "undefined",
2408 /* 8a */ "undefined",
2409 /* 8b */ "undefined",
2410 /* 8c */ "undefined",
2411 /* 8d */ "undefined",
2412 /* 8e */ "undefined",
2413 /* 8f */ "undefined",
2414 /* 90 */ "undefined",
2415 /* 91 */ "undefined",
2416 /* 92 */ "undefined",
2417 /* 93 */ "undefined",
2418 /* 94 */ "undefined",
2419 /* 95 */ "undefined",
2420 /* 96 */ "undefined",
2421 /* 97 */ "undefined",
2422 /* 98 */ "undefined",
2423 /* 99 */ "undefined",
2424 /* 9a */ "undefined",
2425 /* 9b */ "undefined",
2426 /* 9c */ "undefined",
2427 /* 9d */ "undefined",
2428 /* 9e */ "undefined",
2429 /* 9f */ "undefined",
2430 /* a0 */ "undefined",
2431 /* a1 */ "undefined",
2432 /* a2 */ "undefined",
2433 /* a3 */ "undefined",
2434 /* a4 */ "undefined",
2435 /* a5 */ "undefined",
2436 /* a6 */ "undefined",
2437 /* a7 */ "undefined",
2438 /* a8 */ "undefined",
2439 /* a9 */ "undefined",
2440 /* aa */ "undefined",
2441 /* ab */ "undefined",
2442 /* ac */ "undefined",
2443 /* ad */ "undefined",
2444 /* ae */ "undefined",
2445 /* af */ "undefined",
2446 /* b0 */ "undefined",
2447 /* b1 */ "undefined",
2448 /* b2 */ "undefined",
2449 /* b3 */ "undefined",
2450 /* b4 */ "undefined",
2451 /* b5 */ "undefined",
2452 /* b6 */ "undefined",
2453 /* b7 */ "undefined",
2454 /* b8 */ "undefined",
2455 /* b9 */ "undefined",
2456 /* ba */ "undefined",
2457 /* bb */ "undefined",
2458 /* bc */ "undefined",
2459 /* bd */ "undefined",
2460 /* be */ "undefined",
2461 /* bf */ "undefined",
2462 /* c0 */ "undefined",
2463 /* c1 */ "undefined",
2464 /* c2 */ "undefined",
2465 /* c3 */ "undefined",
2466 /* c4 */ "undefined",
2467 /* c5 */ "undefined",
2468 /* c6 */ "undefined",
2469 /* c7 */ "undefined",
2470 /* c8 */ "undefined",
2471 /* c9 */ "undefined",
2472 /* ca */ "undefined",
2473 /* cb */ "undefined",
2474 /* cc */ "undefined",
2475 /* cd */ "undefined",
2476 /* ce */ "undefined",
2477 /* cf */ "undefined",
2478 /* d0 */ "undefined",
2479 /* d1 */ "undefined",
2480 /* d2 */ "undefined",
2481 /* d3 */ "undefined",
2482 /* d4 */ "undefined",
2483 /* d5 */ "undefined",
2484 /* d6 */ "undefined",
2485 /* d7 */ "undefined",
2486 /* d8 */ "undefined",
2487 /* d9 */ "undefined",
2488 /* da */ "undefined",
2489 /* db */ "undefined",
2490 /* dc */ "undefined",
2491 /* dd */ "undefined",
2492 /* de */ "undefined",
2493 /* df */ "undefined",
2494 /* e0 */ "undefined",
2495 /* e1 */ "undefined",
2496 /* e2 */ "undefined",
2497 /* e3 */ "undefined",
2498 /* e4 */ "undefined",
2499 /* e5 */ "undefined",
2500 /* e6 */ "undefined",
2501 /* e7 */ "undefined",
2502 /* e8 */ "undefined",
2503 /* e9 */ "undefined",
2504 /* ea */ "undefined",
2505 /* eb */ "undefined",
2506 /* ec */ "undefined",
2507 /* ed */ "undefined",
2508 /* ee */ "undefined",
2509 /* ef */ "undefined",
2510 /* f0 */ "CRC32 $Gd, $Eb",
2511 /* f1 */ "CRC32 $Gd, $Ev",
2512 /* f2 */ "undefined",
2513 /* f3 */ "undefined",
2514 /* f4 */ "undefined",
2515 /* f5 */ "undefined",
2516 /* f6 */ "undefined",
2517 /* f7 */ "undefined",
2518 /* f8 */ "undefined",
2519 /* f9 */ "undefined",
2520 /* fa */ "undefined",
2521 /* fb */ "undefined",
2522 /* fc */ "undefined",
2523 /* fd */ "undefined",
2524 /* fe */ "undefined",
2525 /* ff */ "undefined",
2526 };
2527
2528 static const char *kDisasm0F3AOp[NCDTABLESIZE] = {
2529 /* 00 */ "undefined",
2530 /* 01 */ "undefined",
2531 /* 02 */ "undefined",
2532 /* 03 */ "undefined",
2533 /* 04 */ "undefined",
2534 /* 05 */ "undefined",
2535 /* 06 */ "undefined",
2536 /* 07 */ "undefined",
2537 /* 08 */ "undefined",
2538 /* 09 */ "undefined",
2539 /* 0a */ "undefined",
2540 /* 0b */ "undefined",
2541 /* 0c */ "undefined",
2542 /* 0d */ "undefined",
2543 /* 0e */ "undefined",
2544 /* 0f */ "palignr $P, $Q, $Ib",
2545 /* 10 */ "undefined",
2546 /* 11 */ "undefined",
2547 /* 12 */ "undefined",
2548 /* 13 */ "undefined",
2549 /* 14 */ "undefined",
2550 /* 15 */ "undefined",
2551 /* 16 */ "undefined",
2552 /* 17 */ "undefined",
2553 /* 18 */ "undefined",
2554 /* 19 */ "undefined",
2555 /* 1a */ "undefined",
2556 /* 1b */ "undefined",
2557 /* 1c */ "undefined",
2558 /* 1d */ "undefined",
2559 /* 1e */ "undefined",
2560 /* 1f */ "undefined",
2561 /* 20 */ "undefined",
2562 /* 21 */ "undefined",
2563 /* 22 */ "undefined",
2564 /* 23 */ "undefined",
2565 /* 24 */ "undefined",
2566 /* 25 */ "undefined",
2567 /* 26 */ "undefined",
2568 /* 27 */ "undefined",
2569 /* 28 */ "undefined",
2570 /* 29 */ "undefined",
2571 /* 2a */ "undefined",
2572 /* 2b */ "undefined",
2573 /* 2c */ "undefined",
2574 /* 2d */ "undefined",
2575 /* 2e */ "undefined",
2576 /* 2f */ "undefined",
2577 /* 30 */ "undefined",
2578 /* 31 */ "undefined",
2579 /* 32 */ "undefined",
2580 /* 33 */ "undefined",
2581 /* 34 */ "undefined",
2582 /* 35 */ "undefined",
2583 /* 36 */ "undefined",
2584 /* 37 */ "undefined",
2585 /* 38 */ "undefined",
2586 /* 39 */ "undefined",
2587 /* 3a */ "undefined",
2588 /* 3b */ "undefined",
2589 /* 3c */ "undefined",
2590 /* 3d */ "undefined",
2591 /* 3e */ "undefined",
2592 /* 3f */ "undefined",
2593 /* 40 */ "undefined",
2594 /* 41 */ "undefined",
2595 /* 42 */ "undefined",
2596 /* 43 */ "undefined",
2597 /* 44 */ "undefined",
2598 /* 45 */ "undefined",
2599 /* 46 */ "undefined",
2600 /* 47 */ "undefined",
2601 /* 48 */ "undefined",
2602 /* 49 */ "undefined",
2603 /* 4a */ "undefined",
2604 /* 4b */ "undefined",
2605 /* 4c */ "undefined",
2606 /* 4d */ "undefined",
2607 /* 4e */ "undefined",
2608 /* 4f */ "undefined",
2609 /* 50 */ "undefined",
2610 /* 51 */ "undefined",
2611 /* 52 */ "undefined",
2612 /* 53 */ "undefined",
2613 /* 54 */ "undefined",
2614 /* 55 */ "undefined",
2615 /* 56 */ "undefined",
2616 /* 57 */ "undefined",
2617 /* 58 */ "undefined",
2618 /* 59 */ "undefined",
2619 /* 5a */ "undefined",
2620 /* 5b */ "undefined",
2621 /* 5c */ "undefined",
2622 /* 5d */ "undefined",
2623 /* 5e */ "undefined",
2624 /* 5f */ "undefined",
2625 /* 60 */ "undefined",
2626 /* 61 */ "undefined",
2627 /* 62 */ "undefined",
2628 /* 63 */ "undefined",
2629 /* 64 */ "undefined",
2630 /* 65 */ "undefined",
2631 /* 66 */ "undefined",
2632 /* 67 */ "undefined",
2633 /* 68 */ "undefined",
2634 /* 69 */ "undefined",
2635 /* 6a */ "undefined",
2636 /* 6b */ "undefined",
2637 /* 6c */ "undefined",
2638 /* 6d */ "undefined",
2639 /* 6e */ "undefined",
2640 /* 6f */ "undefined",
2641 /* 70 */ "undefined",
2642 /* 71 */ "undefined",
2643 /* 72 */ "undefined",
2644 /* 73 */ "undefined",
2645 /* 74 */ "undefined",
2646 /* 75 */ "undefined",
2647 /* 76 */ "undefined",
2648 /* 77 */ "undefined",
2649 /* 78 */ "undefined",
2650 /* 79 */ "undefined",
2651 /* 7a */ "undefined",
2652 /* 7b */ "undefined",
2653 /* 7c */ "undefined",
2654 /* 7d */ "undefined",
2655 /* 7e */ "undefined",
2656 /* 7f */ "undefined",
2657 /* 80 */ "undefined",
2658 /* 81 */ "undefined",
2659 /* 82 */ "undefined",
2660 /* 83 */ "undefined",
2661 /* 84 */ "undefined",
2662 /* 85 */ "undefined",
2663 /* 86 */ "undefined",
2664 /* 87 */ "undefined",
2665 /* 88 */ "undefined",
2666 /* 89 */ "undefined",
2667 /* 8a */ "undefined",
2668 /* 8b */ "undefined",
2669 /* 8c */ "undefined",
2670 /* 8d */ "undefined",
2671 /* 8e */ "undefined",
2672 /* 8f */ "undefined",
2673 /* 90 */ "undefined",
2674 /* 91 */ "undefined",
2675 /* 92 */ "undefined",
2676 /* 93 */ "undefined",
2677 /* 94 */ "undefined",
2678 /* 95 */ "undefined",
2679 /* 96 */ "undefined",
2680 /* 97 */ "undefined",
2681 /* 98 */ "undefined",
2682 /* 99 */ "undefined",
2683 /* 9a */ "undefined",
2684 /* 9b */ "undefined",
2685 /* 9c */ "undefined",
2686 /* 9d */ "undefined",
2687 /* 9e */ "undefined",
2688 /* 9f */ "undefined",
2689 /* a0 */ "undefined",
2690 /* a1 */ "undefined",
2691 /* a2 */ "undefined",
2692 /* a3 */ "undefined",
2693 /* a4 */ "undefined",
2694 /* a5 */ "undefined",
2695 /* a6 */ "undefined",
2696 /* a7 */ "undefined",
2697 /* a8 */ "undefined",
2698 /* a9 */ "undefined",
2699 /* aa */ "undefined",
2700 /* ab */ "undefined",
2701 /* ac */ "undefined",
2702 /* ad */ "undefined",
2703 /* ae */ "undefined",
2704 /* af */ "undefined",
2705 /* b0 */ "undefined",
2706 /* b1 */ "undefined",
2707 /* b2 */ "undefined",
2708 /* b3 */ "undefined",
2709 /* b4 */ "undefined",
2710 /* b5 */ "undefined",
2711 /* b6 */ "undefined",
2712 /* b7 */ "undefined",
2713 /* b8 */ "undefined",
2714 /* b9 */ "undefined",
2715 /* ba */ "undefined",
2716 /* bb */ "undefined",
2717 /* bc */ "undefined",
2718 /* bd */ "undefined",
2719 /* be */ "undefined",
2720 /* bf */ "undefined",
2721 /* c0 */ "undefined",
2722 /* c1 */ "undefined",
2723 /* c2 */ "undefined",
2724 /* c3 */ "undefined",
2725 /* c4 */ "undefined",
2726 /* c5 */ "undefined",
2727 /* c6 */ "undefined",
2728 /* c7 */ "undefined",
2729 /* c8 */ "undefined",
2730 /* c9 */ "undefined",
2731 /* ca */ "undefined",
2732 /* cb */ "undefined",
2733 /* cc */ "undefined",
2734 /* cd */ "undefined",
2735 /* ce */ "undefined",
2736 /* cf */ "undefined",
2737 /* d0 */ "undefined",
2738 /* d1 */ "undefined",
2739 /* d2 */ "undefined",
2740 /* d3 */ "undefined",
2741 /* d4 */ "undefined",
2742 /* d5 */ "undefined",
2743 /* d6 */ "undefined",
2744 /* d7 */ "undefined",
2745 /* d8 */ "undefined",
2746 /* d9 */ "undefined",
2747 /* da */ "undefined",
2748 /* db */ "undefined",
2749 /* dc */ "undefined",
2750 /* dd */ "undefined",
2751 /* de */ "undefined",
2752 /* df */ "undefined",
2753 /* e0 */ "undefined",
2754 /* e1 */ "undefined",
2755 /* e2 */ "undefined",
2756 /* e3 */ "undefined",
2757 /* e4 */ "undefined",
2758 /* e5 */ "undefined",
2759 /* e6 */ "undefined",
2760 /* e7 */ "undefined",
2761 /* e8 */ "undefined",
2762 /* e9 */ "undefined",
2763 /* ea */ "undefined",
2764 /* eb */ "undefined",
2765 /* ec */ "undefined",
2766 /* ed */ "undefined",
2767 /* ee */ "undefined",
2768 /* ef */ "undefined",
2769 /* f0 */ "undefined",
2770 /* f1 */ "undefined",
2771 /* f2 */ "undefined",
2772 /* f3 */ "undefined",
2773 /* f4 */ "undefined",
2774 /* f5 */ "undefined",
2775 /* f6 */ "undefined",
2776 /* f7 */ "undefined",
2777 /* f8 */ "undefined",
2778 /* f9 */ "undefined",
2779 /* fa */ "undefined",
2780 /* fb */ "undefined",
2781 /* fc */ "undefined",
2782 /* fd */ "undefined",
2783 /* fe */ "undefined",
2784 /* ff */ "undefined",
2785 };
2786
2787 static const char *kDisasm660F3AOp[NCDTABLESIZE] = {
2788 /* 00 */ "undefined",
2789 /* 01 */ "undefined",
2790 /* 02 */ "undefined",
2791 /* 03 */ "undefined",
2792 /* 04 */ "undefined",
2793 /* 05 */ "undefined",
2794 /* 06 */ "undefined",
2795 /* 07 */ "undefined",
2796 /* 08 */ "roundps $V, $W, $Ib",
2797 /* 09 */ "roundpd $V, $W, $Ib",
2798 /* 0a */ "roundss $V, $W, $Ib",
2799 /* 0b */ "roundsd $V, $W, $Ib",
2800 /* 0c */ "blendps $V, $W, $Ib",
2801 /* 0d */ "blendpd $V, $W, $Ib",
2802 /* 0e */ "pblendw $V, $W, $Ib",
2803 /* 0f */ "palignr $V, $W, $Ib",
2804 /* 10 */ "undefined",
2805 /* 11 */ "undefined",
2806 /* 12 */ "undefined",
2807 /* 13 */ "undefined",
2808 /* 14 */ "pextrb $R/M, $V, $Ib",
2809 /* 15 */ "pextrw $R/M, $V, $Ib",
2810 /* 16 */ "pextrd/q $E, $V, $Ib",
2811 /* 17 */ "extractps $E, $V, $Ib",
2812 /* 18 */ "undefined",
2813 /* 19 */ "undefined",
2814 /* 1a */ "undefined",
2815 /* 1b */ "undefined",
2816 /* 1c */ "undefined",
2817 /* 1d */ "undefined",
2818 /* 1e */ "undefined",
2819 /* 1f */ "undefined",
2820 /* 20 */ "pinsrb $V, $R/M, $Ib",
2821 /* 21 */ "insertps $V, $U/M, $Ib",
2822 /* 22 */ "pinsrd/q $V, $E, $Ib",
2823 /* 23 */ "undefined",
2824 /* 24 */ "undefined",
2825 /* 25 */ "undefined",
2826 /* 26 */ "undefined",
2827 /* 27 */ "undefined",
2828 /* 28 */ "undefined",
2829 /* 29 */ "undefined",
2830 /* 2a */ "undefined",
2831 /* 2b */ "undefined",
2832 /* 2c */ "undefined",
2833 /* 2d */ "undefined",
2834 /* 2e */ "undefined",
2835 /* 2f */ "undefined",
2836 /* 30 */ "undefined",
2837 /* 31 */ "undefined",
2838 /* 32 */ "undefined",
2839 /* 33 */ "undefined",
2840 /* 34 */ "undefined",
2841 /* 35 */ "undefined",
2842 /* 36 */ "undefined",
2843 /* 37 */ "undefined",
2844 /* 38 */ "undefined",
2845 /* 39 */ "undefined",
2846 /* 3a */ "undefined",
2847 /* 3b */ "undefined",
2848 /* 3c */ "undefined",
2849 /* 3d */ "undefined",
2850 /* 3e */ "undefined",
2851 /* 3f */ "undefined",
2852 /* 40 */ "dpps $V, $W, $Ib",
2853 /* 41 */ "dppd $V, $W, $Ib",
2854 /* 42 */ "mpsadbw $V, $W, $Ib",
2855 /* 43 */ "undefined",
2856 /* 44 */ "undefined",
2857 /* 45 */ "undefined",
2858 /* 46 */ "undefined",
2859 /* 47 */ "undefined",
2860 /* 48 */ "undefined",
2861 /* 49 */ "undefined",
2862 /* 4a */ "undefined",
2863 /* 4b */ "undefined",
2864 /* 4c */ "undefined",
2865 /* 4d */ "undefined",
2866 /* 4e */ "undefined",
2867 /* 4f */ "undefined",
2868 /* 50 */ "undefined",
2869 /* 51 */ "undefined",
2870 /* 52 */ "undefined",
2871 /* 53 */ "undefined",
2872 /* 54 */ "undefined",
2873 /* 55 */ "undefined",
2874 /* 56 */ "undefined",
2875 /* 57 */ "undefined",
2876 /* 58 */ "undefined",
2877 /* 59 */ "undefined",
2878 /* 5a */ "undefined",
2879 /* 5b */ "undefined",
2880 /* 5c */ "undefined",
2881 /* 5d */ "undefined",
2882 /* 5e */ "undefined",
2883 /* 5f */ "undefined",
2884 /* 60 */ "pcmpestrm $V, $W, $Ib",
2885 /* 61 */ "pcmpestri $V, $W, $Ib",
2886 /* 62 */ "pcmpistrm $V, $W, $Ib",
2887 /* 63 */ "pcmpistri $V, $W, $Ib",
2888 /* 64 */ "undefined",
2889 /* 65 */ "undefined",
2890 /* 66 */ "undefined",
2891 /* 67 */ "undefined",
2892 /* 68 */ "undefined",
2893 /* 69 */ "undefined",
2894 /* 6a */ "undefined",
2895 /* 6b */ "undefined",
2896 /* 6c */ "undefined",
2897 /* 6d */ "undefined",
2898 /* 6e */ "undefined",
2899 /* 6f */ "undefined",
2900 /* 70 */ "undefined",
2901 /* 71 */ "undefined",
2902 /* 72 */ "undefined",
2903 /* 73 */ "undefined",
2904 /* 74 */ "undefined",
2905 /* 75 */ "undefined",
2906 /* 76 */ "undefined",
2907 /* 77 */ "undefined",
2908 /* 78 */ "undefined",
2909 /* 79 */ "undefined",
2910 /* 7a */ "undefined",
2911 /* 7b */ "undefined",
2912 /* 7c */ "undefined",
2913 /* 7d */ "undefined",
2914 /* 7e */ "undefined",
2915 /* 7f */ "undefined",
2916 /* 80 */ "undefined",
2917 /* 81 */ "undefined",
2918 /* 82 */ "undefined",
2919 /* 83 */ "undefined",
2920 /* 84 */ "undefined",
2921 /* 85 */ "undefined",
2922 /* 86 */ "undefined",
2923 /* 87 */ "undefined",
2924 /* 88 */ "undefined",
2925 /* 89 */ "undefined",
2926 /* 8a */ "undefined",
2927 /* 8b */ "undefined",
2928 /* 8c */ "undefined",
2929 /* 8d */ "undefined",
2930 /* 8e */ "undefined",
2931 /* 8f */ "undefined",
2932 /* 90 */ "undefined",
2933 /* 91 */ "undefined",
2934 /* 92 */ "undefined",
2935 /* 93 */ "undefined",
2936 /* 94 */ "undefined",
2937 /* 95 */ "undefined",
2938 /* 96 */ "undefined",
2939 /* 97 */ "undefined",
2940 /* 98 */ "undefined",
2941 /* 99 */ "undefined",
2942 /* 9a */ "undefined",
2943 /* 9b */ "undefined",
2944 /* 9c */ "undefined",
2945 /* 9d */ "undefined",
2946 /* 9e */ "undefined",
2947 /* 9f */ "undefined",
2948 /* a0 */ "undefined",
2949 /* a1 */ "undefined",
2950 /* a2 */ "undefined",
2951 /* a3 */ "undefined",
2952 /* a4 */ "undefined",
2953 /* a5 */ "undefined",
2954 /* a6 */ "undefined",
2955 /* a7 */ "undefined",
2956 /* a8 */ "undefined",
2957 /* a9 */ "undefined",
2958 /* aa */ "undefined",
2959 /* ab */ "undefined",
2960 /* ac */ "undefined",
2961 /* ad */ "undefined",
2962 /* ae */ "undefined",
2963 /* af */ "undefined",
2964 /* b0 */ "undefined",
2965 /* b1 */ "undefined",
2966 /* b2 */ "undefined",
2967 /* b3 */ "undefined",
2968 /* b4 */ "undefined",
2969 /* b5 */ "undefined",
2970 /* b6 */ "undefined",
2971 /* b7 */ "undefined",
2972 /* b8 */ "undefined",
2973 /* b9 */ "undefined",
2974 /* ba */ "undefined",
2975 /* bb */ "undefined",
2976 /* bc */ "undefined",
2977 /* bd */ "undefined",
2978 /* be */ "undefined",
2979 /* bf */ "undefined",
2980 /* c0 */ "undefined",
2981 /* c1 */ "undefined",
2982 /* c2 */ "undefined",
2983 /* c3 */ "undefined",
2984 /* c4 */ "undefined",
2985 /* c5 */ "undefined",
2986 /* c6 */ "undefined",
2987 /* c7 */ "undefined",
2988 /* c8 */ "undefined",
2989 /* c9 */ "undefined",
2990 /* ca */ "undefined",
2991 /* cb */ "undefined",
2992 /* cc */ "undefined",
2993 /* cd */ "undefined",
2994 /* ce */ "undefined",
2995 /* cf */ "undefined",
2996 /* d0 */ "undefined",
2997 /* d1 */ "undefined",
2998 /* d2 */ "undefined",
2999 /* d3 */ "undefined",
3000 /* d4 */ "undefined",
3001 /* d5 */ "undefined",
3002 /* d6 */ "undefined",
3003 /* d7 */ "undefined",
3004 /* d8 */ "undefined",
3005 /* d9 */ "undefined",
3006 /* da */ "undefined",
3007 /* db */ "undefined",
3008 /* dc */ "undefined",
3009 /* dd */ "undefined",
3010 /* de */ "undefined",
3011 /* df */ "undefined",
3012 /* e0 */ "undefined",
3013 /* e1 */ "undefined",
3014 /* e2 */ "undefined",
3015 /* e3 */ "undefined",
3016 /* e4 */ "undefined",
3017 /* e5 */ "undefined",
3018 /* e6 */ "undefined",
3019 /* e7 */ "undefined",
3020 /* e8 */ "undefined",
3021 /* e9 */ "undefined",
3022 /* ea */ "undefined",
3023 /* eb */ "undefined",
3024 /* ec */ "undefined",
3025 /* ed */ "undefined",
3026 /* ee */ "undefined",
3027 /* ef */ "undefined",
3028 /* f0 */ "undefined",
3029 /* f1 */ "undefined",
3030 /* f2 */ "undefined",
3031 /* f3 */ "undefined",
3032 /* f4 */ "undefined",
3033 /* f5 */ "undefined",
3034 /* f6 */ "undefined",
3035 /* f7 */ "undefined",
3036 /* f8 */ "undefined",
3037 /* f9 */ "undefined",
3038 /* fa */ "undefined",
3039 /* fb */ "undefined",
3040 /* fc */ "undefined",
3041 /* fd */ "undefined",
3042 /* fe */ "undefined",
3043 /* ff */ "undefined",
3044 };
3045
3046
3047 /* x87 opcode tables*/
3048 static const char *kDisasm87D8[NCDTABLESIZE] = {
3049 /* 00 */ "fadd",
3050 /* 01 */ "fadd",
3051 /* 02 */ "fadd",
3052 /* 03 */ "fadd",
3053 /* 04 */ "fadd",
3054 /* 05 */ "fadd",
3055 /* 06 */ "fadd",
3056 /* 07 */ "fadd",
3057 /* 08 */ "fmul",
3058 /* 09 */ "fmul",
3059 /* 0a */ "fmul",
3060 /* 0b */ "fmul",
3061 /* 0c */ "fmul",
3062 /* 0d */ "fmul",
3063 /* 0e */ "fmul",
3064 /* 0f */ "fmul",
3065 /* 10 */ "fcom",
3066 /* 11 */ "fcom",
3067 /* 12 */ "fcom",
3068 /* 13 */ "fcom",
3069 /* 14 */ "fcom",
3070 /* 15 */ "fcom",
3071 /* 16 */ "fcom",
3072 /* 17 */ "fcom",
3073 /* 18 */ "fcomp",
3074 /* 19 */ "fcomp",
3075 /* 1a */ "fcomp",
3076 /* 1b */ "fcomp",
3077 /* 1c */ "fcomp",
3078 /* 1d */ "fcomp",
3079 /* 1e */ "fcomp",
3080 /* 1f */ "fcomp",
3081 /* 20 */ "fsub",
3082 /* 21 */ "fsub",
3083 /* 22 */ "fsub",
3084 /* 23 */ "fsub",
3085 /* 24 */ "fsub",
3086 /* 25 */ "fsub",
3087 /* 26 */ "fsub",
3088 /* 27 */ "fsub",
3089 /* 28 */ "fsubr",
3090 /* 29 */ "fsubr",
3091 /* 2a */ "fsubr",
3092 /* 2b */ "fsubr",
3093 /* 2c */ "fsubr",
3094 /* 2d */ "fsubr",
3095 /* 2e */ "fsubr",
3096 /* 2f */ "fsubr",
3097 /* 30 */ "fdiv",
3098 /* 31 */ "fdiv",
3099 /* 32 */ "fdiv",
3100 /* 33 */ "fdiv",
3101 /* 34 */ "fdiv",
3102 /* 35 */ "fdiv",
3103 /* 36 */ "fdiv",
3104 /* 37 */ "fdiv",
3105 /* 38 */ "fdivr",
3106 /* 39 */ "fdivr",
3107 /* 3a */ "fdivr",
3108 /* 3b */ "fdivr",
3109 /* 3c */ "fdivr",
3110 /* 3d */ "fdivr",
3111 /* 3e */ "fdivr",
3112 /* 3f */ "fdivr",
3113 /* 40 */ "fadd",
3114 /* 41 */ "fadd",
3115 /* 42 */ "fadd",
3116 /* 43 */ "fadd",
3117 /* 44 */ "fadd",
3118 /* 45 */ "fadd",
3119 /* 46 */ "fadd",
3120 /* 47 */ "fadd",
3121 /* 48 */ "fmul",
3122 /* 49 */ "fmul",
3123 /* 4a */ "fmul",
3124 /* 4b */ "fmul",
3125 /* 4c */ "fmul",
3126 /* 4d */ "fmul",
3127 /* 4e */ "fmul",
3128 /* 4f */ "fmul",
3129 /* 50 */ "fcom",
3130 /* 51 */ "fcom",
3131 /* 52 */ "fcom",
3132 /* 53 */ "fcom",
3133 /* 54 */ "fcom",
3134 /* 55 */ "fcom",
3135 /* 56 */ "fcom",
3136 /* 57 */ "fcom",
3137 /* 58 */ "fcomp",
3138 /* 59 */ "fcomp",
3139 /* 5a */ "fcomp",
3140 /* 5b */ "fcomp",
3141 /* 5c */ "fcomp",
3142 /* 5d */ "fcomp",
3143 /* 5e */ "fcomp",
3144 /* 5f */ "fcomp",
3145 /* 60 */ "fsub",
3146 /* 61 */ "fsub",
3147 /* 62 */ "fsub",
3148 /* 63 */ "fsub",
3149 /* 64 */ "fsub",
3150 /* 65 */ "fsub",
3151 /* 66 */ "fsub",
3152 /* 67 */ "fsub",
3153 /* 68 */ "fsubr",
3154 /* 69 */ "fsubr",
3155 /* 6a */ "fsubr",
3156 /* 6b */ "fsubr",
3157 /* 6c */ "fsubr",
3158 /* 6d */ "fsubr",
3159 /* 6e */ "fsubr",
3160 /* 6f */ "fsubr",
3161 /* 70 */ "fdiv",
3162 /* 71 */ "fdiv",
3163 /* 72 */ "fdiv",
3164 /* 73 */ "fdiv",
3165 /* 74 */ "fdiv",
3166 /* 75 */ "fdiv",
3167 /* 76 */ "fdiv",
3168 /* 77 */ "fdiv",
3169 /* 78 */ "fdivr",
3170 /* 79 */ "fdivr",
3171 /* 7a */ "fdivr",
3172 /* 7b */ "fdivr",
3173 /* 7c */ "fdivr",
3174 /* 7d */ "fdivr",
3175 /* 7e */ "fdivr",
3176 /* 7f */ "fdivr",
3177 /* 80 */ "fadd",
3178 /* 81 */ "fadd",
3179 /* 82 */ "fadd",
3180 /* 83 */ "fadd",
3181 /* 84 */ "fadd",
3182 /* 85 */ "fadd",
3183 /* 86 */ "fadd",
3184 /* 87 */ "fadd",
3185 /* 88 */ "fmul",
3186 /* 89 */ "fmul",
3187 /* 8a */ "fmul",
3188 /* 8b */ "fmul",
3189 /* 8c */ "fmul",
3190 /* 8d */ "fmul",
3191 /* 8e */ "fmul",
3192 /* 8f */ "fmul",
3193 /* 90 */ "fcom",
3194 /* 91 */ "fcom",
3195 /* 92 */ "fcom",
3196 /* 93 */ "fcom",
3197 /* 94 */ "fcom",
3198 /* 95 */ "fcom",
3199 /* 96 */ "fcom",
3200 /* 97 */ "fcom",
3201 /* 98 */ "fcomp",
3202 /* 99 */ "fcomp",
3203 /* 9a */ "fcomp",
3204 /* 9b */ "fcomp",
3205 /* 9c */ "fcomp",
3206 /* 9d */ "fcomp",
3207 /* 9e */ "fcomp",
3208 /* 9f */ "fcomp",
3209 /* a0 */ "fsub",
3210 /* a1 */ "fsub",
3211 /* a2 */ "fsub",
3212 /* a3 */ "fsub",
3213 /* a4 */ "fsub",
3214 /* a5 */ "fsub",
3215 /* a6 */ "fsub",
3216 /* a7 */ "fsub",
3217 /* a8 */ "fsubr",
3218 /* a9 */ "fsubr",
3219 /* aa */ "fsubr",
3220 /* ab */ "fsubr",
3221 /* ac */ "fsubr",
3222 /* ad */ "fsubr",
3223 /* ae */ "fsubr",
3224 /* af */ "fsubr",
3225 /* b0 */ "fdiv",
3226 /* b1 */ "fdiv",
3227 /* b2 */ "fdiv",
3228 /* b3 */ "fdiv",
3229 /* b4 */ "fdiv",
3230 /* b5 */ "fdiv",
3231 /* b6 */ "fdiv",
3232 /* b7 */ "fdiv",
3233 /* b8 */ "fdivr",
3234 /* b9 */ "fdivr",
3235 /* ba */ "fdivr",
3236 /* bb */ "fdivr",
3237 /* bc */ "fdivr",
3238 /* bd */ "fdivr",
3239 /* be */ "fdivr",
3240 /* bf */ "fdivr",
3241 /* c0 */ "fadd",
3242 /* c1 */ "fadd",
3243 /* c2 */ "fadd",
3244 /* c3 */ "fadd",
3245 /* c4 */ "fadd",
3246 /* c5 */ "fadd",
3247 /* c6 */ "fadd",
3248 /* c7 */ "fadd",
3249 /* c8 */ "fmul",
3250 /* c9 */ "fmul",
3251 /* ca */ "fmul",
3252 /* cb */ "fmul",
3253 /* cc */ "fmul",
3254 /* cd */ "fmul",
3255 /* ce */ "fmul",
3256 /* cf */ "fmul",
3257 /* d0 */ "fcom",
3258 /* d1 */ "fcom",
3259 /* d2 */ "fcom",
3260 /* d3 */ "fcom",
3261 /* d4 */ "fcom",
3262 /* d5 */ "fcom",
3263 /* d6 */ "fcom",
3264 /* d7 */ "fcom",
3265 /* d8 */ "fcomp",
3266 /* d9 */ "fcomp",
3267 /* da */ "fcomp",
3268 /* db */ "fcomp",
3269 /* dc */ "fcomp",
3270 /* dd */ "fcomp",
3271 /* de */ "fcomp",
3272 /* df */ "fcomp",
3273 /* e0 */ "fsub",
3274 /* e1 */ "fsub",
3275 /* e2 */ "fsub",
3276 /* e3 */ "fsub",
3277 /* e4 */ "fsub",
3278 /* e5 */ "fsub",
3279 /* e6 */ "fsub",
3280 /* e7 */ "fsub",
3281 /* e8 */ "fsubr",
3282 /* e9 */ "fsubr",
3283 /* ea */ "fsubr",
3284 /* eb */ "fsubr",
3285 /* ec */ "fsubr",
3286 /* ed */ "fsubr",
3287 /* ee */ "fsubr",
3288 /* ef */ "fsubr",
3289 /* f0 */ "fdiv",
3290 /* f1 */ "fdiv",
3291 /* f2 */ "fdiv",
3292 /* f3 */ "fdiv",
3293 /* f4 */ "fdiv",
3294 /* f5 */ "fdiv",
3295 /* f6 */ "fdiv",
3296 /* f7 */ "fdiv",
3297 /* f8 */ "fdivr",
3298 /* f9 */ "fdivr",
3299 /* fa */ "fdivr",
3300 /* fb */ "fdivr",
3301 /* fc */ "fdivr",
3302 /* fd */ "fdivr",
3303 /* fe */ "fdivr",
3304 /* ff */ "fdivr",
3305 };
3306
3307 static const char *kDisasm87D9[NCDTABLESIZE] = {
3308 /* 00 */ "fld",
3309 /* 01 */ "fld",
3310 /* 02 */ "fld",
3311 /* 03 */ "fld",
3312 /* 04 */ "fld",
3313 /* 05 */ "fld",
3314 /* 06 */ "fld",
3315 /* 07 */ "fld",
3316 /* 08 */ "invalid",
3317 /* 09 */ "invalid",
3318 /* 0a */ "invalid",
3319 /* 0b */ "invalid",
3320 /* 0c */ "invalid",
3321 /* 0d */ "invalid",
3322 /* 0e */ "invalid",
3323 /* 0f */ "invalid",
3324 /* 10 */ "fst",
3325 /* 11 */ "fst",
3326 /* 12 */ "fst",
3327 /* 13 */ "fst",
3328 /* 14 */ "fst",
3329 /* 15 */ "fst",
3330 /* 16 */ "fst",
3331 /* 17 */ "fst",
3332 /* 18 */ "fstp",
3333 /* 19 */ "fstp",
3334 /* 1a */ "fstp",
3335 /* 1b */ "fstp",
3336 /* 1c */ "fstp",
3337 /* 1d */ "fstp",
3338 /* 1e */ "fstp",
3339 /* 1f */ "fstp",
3340 /* 20 */ "fldenv",
3341 /* 21 */ "fldenv",
3342 /* 22 */ "fldenv",
3343 /* 23 */ "fldenv",
3344 /* 24 */ "fldenv",
3345 /* 25 */ "fldenv",
3346 /* 26 */ "fldenv",
3347 /* 27 */ "fldenv",
3348 /* 28 */ "fldcw",
3349 /* 29 */ "fldcw",
3350 /* 2a */ "fldcw",
3351 /* 2b */ "fldcw",
3352 /* 2c */ "fldcw",
3353 /* 2d */ "fldcw",
3354 /* 2e */ "fldcw",
3355 /* 2f */ "fldcw",
3356 /* 30 */ "fnstenv",
3357 /* 31 */ "fnstenv",
3358 /* 32 */ "fnstenv",
3359 /* 33 */ "fnstenv",
3360 /* 34 */ "fnstenv",
3361 /* 35 */ "fnstenv",
3362 /* 36 */ "fnstenv",
3363 /* 37 */ "fnstenv",
3364 /* 38 */ "fnstcw",
3365 /* 39 */ "fnstcw",
3366 /* 3a */ "fnstcw",
3367 /* 3b */ "fnstcw",
3368 /* 3c */ "fnstcw",
3369 /* 3d */ "fnstcw",
3370 /* 3e */ "fnstcw",
3371 /* 3f */ "fnstcw",
3372 /* 40 */ "fld",
3373 /* 41 */ "fld",
3374 /* 42 */ "fld",
3375 /* 43 */ "fld",
3376 /* 44 */ "fld",
3377 /* 45 */ "fld",
3378 /* 46 */ "fld",
3379 /* 47 */ "fld",
3380 /* 48 */ "invalid",
3381 /* 49 */ "invalid",
3382 /* 4a */ "invalid",
3383 /* 4b */ "invalid",
3384 /* 4c */ "invalid",
3385 /* 4d */ "invalid",
3386 /* 4e */ "invalid",
3387 /* 4f */ "invalid",
3388 /* 50 */ "fst",
3389 /* 51 */ "fst",
3390 /* 52 */ "fst",
3391 /* 53 */ "fst",
3392 /* 54 */ "fst",
3393 /* 55 */ "fst",
3394 /* 56 */ "fst",
3395 /* 57 */ "fst",
3396 /* 58 */ "fstp",
3397 /* 59 */ "fstp",
3398 /* 5a */ "fstp",
3399 /* 5b */ "fstp",
3400 /* 5c */ "fstp",
3401 /* 5d */ "fstp",
3402 /* 5e */ "fstp",
3403 /* 5f */ "fstp",
3404 /* 60 */ "fldenv",
3405 /* 61 */ "fldenv",
3406 /* 62 */ "fldenv",
3407 /* 63 */ "fldenv",
3408 /* 64 */ "fldenv",
3409 /* 65 */ "fldenv",
3410 /* 66 */ "fldenv",
3411 /* 67 */ "fldenv",
3412 /* 68 */ "fldcw",
3413 /* 69 */ "fldcw",
3414 /* 6a */ "fldcw",
3415 /* 6b */ "fldcw",
3416 /* 6c */ "fldcw",
3417 /* 6d */ "fldcw",
3418 /* 6e */ "fldcw",
3419 /* 6f */ "fldcw",
3420 /* 70 */ "fnstenv",
3421 /* 71 */ "fnstenv",
3422 /* 72 */ "fnstenv",
3423 /* 73 */ "fnstenv",
3424 /* 74 */ "fnstenv",
3425 /* 75 */ "fnstenv",
3426 /* 76 */ "fnstenv",
3427 /* 77 */ "fnstenv",
3428 /* 78 */ "fnstcw",
3429 /* 79 */ "fnstcw",
3430 /* 7a */ "fnstcw",
3431 /* 7b */ "fnstcw",
3432 /* 7c */ "fnstcw",
3433 /* 7d */ "fnstcw",
3434 /* 7e */ "fnstcw",
3435 /* 7f */ "fnstcw",
3436 /* 80 */ "fld",
3437 /* 81 */ "fld",
3438 /* 82 */ "fld",
3439 /* 83 */ "fld",
3440 /* 84 */ "fld",
3441 /* 85 */ "fld",
3442 /* 86 */ "fld",
3443 /* 87 */ "fld",
3444 /* 88 */ "invalid",
3445 /* 89 */ "invalid",
3446 /* 8a */ "invalid",
3447 /* 8b */ "invalid",
3448 /* 8c */ "invalid",
3449 /* 8d */ "invalid",
3450 /* 8e */ "invalid",
3451 /* 8f */ "invalid",
3452 /* 90 */ "fst",
3453 /* 91 */ "fst",
3454 /* 92 */ "fst",
3455 /* 93 */ "fst",
3456 /* 94 */ "fst",
3457 /* 95 */ "fst",
3458 /* 96 */ "fst",
3459 /* 97 */ "fst",
3460 /* 98 */ "fstp",
3461 /* 99 */ "fstp",
3462 /* 9a */ "fstp",
3463 /* 9b */ "fstp",
3464 /* 9c */ "fstp",
3465 /* 9d */ "fstp",
3466 /* 9e */ "fstp",
3467 /* 9f */ "fstp",
3468 /* a0 */ "fldenv",
3469 /* a1 */ "fldenv",
3470 /* a2 */ "fldenv",
3471 /* a3 */ "fldenv",
3472 /* a4 */ "fldenv",
3473 /* a5 */ "fldenv",
3474 /* a6 */ "fldenv",
3475 /* a7 */ "fldenv",
3476 /* a8 */ "fldcw",
3477 /* a9 */ "fldcw",
3478 /* aa */ "fldcw",
3479 /* ab */ "fldcw",
3480 /* ac */ "fldcw",
3481 /* ad */ "fldcw",
3482 /* ae */ "fldcw",
3483 /* af */ "fldcw",
3484 /* b0 */ "fnstenv",
3485 /* b1 */ "fnstenv",
3486 /* b2 */ "fnstenv",
3487 /* b3 */ "fnstenv",
3488 /* b4 */ "fnstenv",
3489 /* b5 */ "fnstenv",
3490 /* b6 */ "fnstenv",
3491 /* b7 */ "fnstenv",
3492 /* b8 */ "fnstcw",
3493 /* b9 */ "fnstcw",
3494 /* ba */ "fnstcw",
3495 /* bb */ "fnstcw",
3496 /* bc */ "fnstcw",
3497 /* bd */ "fnstcw",
3498 /* be */ "fnstcw",
3499 /* bf */ "fnstcw",
3500 /* c0 */ "fld",
3501 /* c1 */ "fld",
3502 /* c2 */ "fld",
3503 /* c3 */ "fld",
3504 /* c4 */ "fld",
3505 /* c5 */ "fld",
3506 /* c6 */ "fld",
3507 /* c7 */ "fld",
3508 /* c8 */ "fxch",
3509 /* c9 */ "fxch",
3510 /* ca */ "fxch",
3511 /* cb */ "fxch",
3512 /* cc */ "fxch",
3513 /* cd */ "fxch",
3514 /* ce */ "fxch",
3515 /* cf */ "fxch",
3516 /* d0 */ "fnop",
3517 /* d1 */ "invalid",
3518 /* d2 */ "invalid",
3519 /* d3 */ "invalid",
3520 /* d4 */ "invalid",
3521 /* d5 */ "invalid",
3522 /* d6 */ "invalid",
3523 /* d7 */ "invalid",
3524 /* d8 */ "invalid",
3525 /* d9 */ "invalid",
3526 /* da */ "invalid",
3527 /* db */ "invalid",
3528 /* dc */ "invalid",
3529 /* dd */ "invalid",
3530 /* de */ "invalid",
3531 /* df */ "invalid",
3532 /* e0 */ "fchs",
3533 /* e1 */ "fabs",
3534 /* e2 */ "invalid",
3535 /* e3 */ "invalid",
3536 /* e4 */ "ftst",
3537 /* e5 */ "fxam",
3538 /* e6 */ "invalid",
3539 /* e7 */ "invalid",
3540 /* e8 */ "fld1",
3541 /* e9 */ "fldl2t",
3542 /* ea */ "fldl2e",
3543 /* eb */ "fldpi",
3544 /* ec */ "fldlg2",
3545 /* ed */ "fldln2",
3546 /* ee */ "fldz",
3547 /* ef */ "invalid",
3548 /* f0 */ "f2xm1",
3549 /* f1 */ "fyl2x",
3550 /* f2 */ "fptan",
3551 /* f3 */ "fpatan",
3552 /* f4 */ "fxtract",
3553 /* f5 */ "fprem1",
3554 /* f6 */ "fdecstp",
3555 /* f7 */ "fincstp",
3556 /* f8 */ "fprem",
3557 /* f9 */ "fyl2xp1",
3558 /* fa */ "fsqrt",
3559 /* fb */ "fsincos",
3560 /* fc */ "frndint",
3561 /* fd */ "fscale",
3562 /* fe */ "fsin",
3563 /* ff */ "fcos",
3564 };
3565
3566 static const char *kDisasm87DA[NCDTABLESIZE] = {
3567 /* 00 */ "fiadd",
3568 /* 01 */ "fiadd",
3569 /* 02 */ "fiadd",
3570 /* 03 */ "fiadd",
3571 /* 04 */ "fiadd",
3572 /* 05 */ "fiadd",
3573 /* 06 */ "fiadd",
3574 /* 07 */ "fiadd",
3575 /* 08 */ "fimul",
3576 /* 09 */ "fimul",
3577 /* 0a */ "fimul",
3578 /* 0b */ "fimul",
3579 /* 0c */ "fimul",
3580 /* 0d */ "fimul",
3581 /* 0e */ "fimul",
3582 /* 0f */ "fimul",
3583 /* 10 */ "ficom",
3584 /* 11 */ "ficom",
3585 /* 12 */ "ficom",
3586 /* 13 */ "ficom",
3587 /* 14 */ "ficom",
3588 /* 15 */ "ficom",
3589 /* 16 */ "ficom",
3590 /* 17 */ "ficom",
3591 /* 18 */ "ficomp",
3592 /* 19 */ "ficomp",
3593 /* 1a */ "ficomp",
3594 /* 1b */ "ficomp",
3595 /* 1c */ "ficomp",
3596 /* 1d */ "ficomp",
3597 /* 1e */ "ficomp",
3598 /* 1f */ "ficomp",
3599 /* 20 */ "fisub",
3600 /* 21 */ "fisub",
3601 /* 22 */ "fisub",
3602 /* 23 */ "fisub",
3603 /* 24 */ "fisub",
3604 /* 25 */ "fisub",
3605 /* 26 */ "fisub",
3606 /* 27 */ "fisub",
3607 /* 28 */ "fisubr",
3608 /* 29 */ "fisubr",
3609 /* 2a */ "fisubr",
3610 /* 2b */ "fisubr",
3611 /* 2c */ "fisubr",
3612 /* 2d */ "fisubr",
3613 /* 2e */ "fisubr",
3614 /* 2f */ "fisubr",
3615 /* 30 */ "fidiv",
3616 /* 31 */ "fidiv",
3617 /* 32 */ "fidiv",
3618 /* 33 */ "fidiv",
3619 /* 34 */ "fidiv",
3620 /* 35 */ "fidiv",
3621 /* 36 */ "fidiv",
3622 /* 37 */ "fidiv",
3623 /* 38 */ "fidivr",
3624 /* 39 */ "fidivr",
3625 /* 3a */ "fidivr",
3626 /* 3b */ "fidivr",
3627 /* 3c */ "fidivr",
3628 /* 3d */ "fidivr",
3629 /* 3e */ "fidivr",
3630 /* 3f */ "fidivr",
3631 /* 40 */ "fiadd",
3632 /* 41 */ "fiadd",
3633 /* 42 */ "fiadd",
3634 /* 43 */ "fiadd",
3635 /* 44 */ "fiadd",
3636 /* 45 */ "fiadd",
3637 /* 46 */ "fiadd",
3638 /* 47 */ "fiadd",
3639 /* 48 */ "fimul",
3640 /* 49 */ "fimul",
3641 /* 4a */ "fimul",
3642 /* 4b */ "fimul",
3643 /* 4c */ "fimul",
3644 /* 4d */ "fimul",
3645 /* 4e */ "fimul",
3646 /* 4f */ "fimul",
3647 /* 50 */ "ficom",
3648 /* 51 */ "ficom",
3649 /* 52 */ "ficom",
3650 /* 53 */ "ficom",
3651 /* 54 */ "ficom",
3652 /* 55 */ "ficom",
3653 /* 56 */ "ficom",
3654 /* 57 */ "ficom",
3655 /* 58 */ "ficomp",
3656 /* 59 */ "ficomp",
3657 /* 5a */ "ficomp",
3658 /* 5b */ "ficomp",
3659 /* 5c */ "ficomp",
3660 /* 5d */ "ficomp",
3661 /* 5e */ "ficomp",
3662 /* 5f */ "ficomp",
3663 /* 60 */ "fisub",
3664 /* 61 */ "fisub",
3665 /* 62 */ "fisub",
3666 /* 63 */ "fisub",
3667 /* 64 */ "fisub",
3668 /* 65 */ "fisub",
3669 /* 66 */ "fisub",
3670 /* 67 */ "fisub",
3671 /* 68 */ "fisubr",
3672 /* 69 */ "fisubr",
3673 /* 6a */ "fisubr",
3674 /* 6b */ "fisubr",
3675 /* 6c */ "fisubr",
3676 /* 6d */ "fisubr",
3677 /* 6e */ "fisubr",
3678 /* 6f */ "fisubr",
3679 /* 70 */ "fidiv",
3680 /* 71 */ "fidiv",
3681 /* 72 */ "fidiv",
3682 /* 73 */ "fidiv",
3683 /* 74 */ "fidiv",
3684 /* 75 */ "fidiv",
3685 /* 76 */ "fidiv",
3686 /* 77 */ "fidiv",
3687 /* 78 */ "fidivr",
3688 /* 79 */ "fidivr",
3689 /* 7a */ "fidivr",
3690 /* 7b */ "fidivr",
3691 /* 7c */ "fidivr",
3692 /* 7d */ "fidivr",
3693 /* 7e */ "fidivr",
3694 /* 7f */ "fidivr",
3695 /* 80 */ "fiadd",
3696 /* 81 */ "fiadd",
3697 /* 82 */ "fiadd",
3698 /* 83 */ "fiadd",
3699 /* 84 */ "fiadd",
3700 /* 85 */ "fiadd",
3701 /* 86 */ "fiadd",
3702 /* 87 */ "fiadd",
3703 /* 88 */ "fimul",
3704 /* 89 */ "fimul",
3705 /* 8a */ "fimul",
3706 /* 8b */ "fimul",
3707 /* 8c */ "fimul",
3708 /* 8d */ "fimul",
3709 /* 8e */ "fimul",
3710 /* 8f */ "fimul",
3711 /* 90 */ "ficom",
3712 /* 91 */ "ficom",
3713 /* 92 */ "ficom",
3714 /* 93 */ "ficom",
3715 /* 94 */ "ficom",
3716 /* 95 */ "ficom",
3717 /* 96 */ "ficom",
3718 /* 97 */ "ficom",
3719 /* 98 */ "ficomp",
3720 /* 99 */ "ficomp",
3721 /* 9a */ "ficomp",
3722 /* 9b */ "ficomp",
3723 /* 9c */ "ficomp",
3724 /* 9d */ "ficomp",
3725 /* 9e */ "ficomp",
3726 /* 9f */ "ficomp",
3727 /* a0 */ "fisub",
3728 /* a1 */ "fisub",
3729 /* a2 */ "fisub",
3730 /* a3 */ "fisub",
3731 /* a4 */ "fisub",
3732 /* a5 */ "fisub",
3733 /* a6 */ "fisub",
3734 /* a7 */ "fisub",
3735 /* a8 */ "fisubr",
3736 /* a9 */ "fisubr",
3737 /* aa */ "fisubr",
3738 /* ab */ "fisubr",
3739 /* ac */ "fisubr",
3740 /* ad */ "fisubr",
3741 /* ae */ "fisubr",
3742 /* af */ "fisubr",
3743 /* b0 */ "fidiv",
3744 /* b1 */ "fidiv",
3745 /* b2 */ "fidiv",
3746 /* b3 */ "fidiv",
3747 /* b4 */ "fidiv",
3748 /* b5 */ "fidiv",
3749 /* b6 */ "fidiv",
3750 /* b7 */ "fidiv",
3751 /* b8 */ "fidivr",
3752 /* b9 */ "fidivr",
3753 /* ba */ "fidivr",
3754 /* bb */ "fidivr",
3755 /* bc */ "fidivr",
3756 /* bd */ "fidivr",
3757 /* be */ "fidivr",
3758 /* bf */ "fidivr",
3759 /* c0 */ "fcmovb",
3760 /* c1 */ "fcmovb",
3761 /* c2 */ "fcmovb",
3762 /* c3 */ "fcmovb",
3763 /* c4 */ "fcmovb",
3764 /* c5 */ "fcmovb",
3765 /* c6 */ "fcmovb",
3766 /* c7 */ "fcmovb",
3767 /* c8 */ "fcmove",
3768 /* c9 */ "fcmove",
3769 /* ca */ "fcmove",
3770 /* cb */ "fcmove",
3771 /* cc */ "fcmove",
3772 /* cd */ "fcmove",
3773 /* ce */ "fcmove",
3774 /* cf */ "fcmove",
3775 /* d0 */ "fcmovbe",
3776 /* d1 */ "fcmovbe",
3777 /* d2 */ "fcmovbe",
3778 /* d3 */ "fcmovbe",
3779 /* d4 */ "fcmovbe",
3780 /* d5 */ "fcmovbe",
3781 /* d6 */ "fcmovbe",
3782 /* d7 */ "fcmovbe",
3783 /* d8 */ "fcmovu",
3784 /* d9 */ "fcmovu",
3785 /* da */ "fcmovu",
3786 /* db */ "fcmovu",
3787 /* dc */ "fcmovu",
3788 /* dd */ "fcmovu",
3789 /* de */ "fcmovu",
3790 /* df */ "fcmovu",
3791 /* e0 */ "invalid",
3792 /* e1 */ "invalid",
3793 /* e2 */ "invalid",
3794 /* e3 */ "invalid",
3795 /* e4 */ "invalid",
3796 /* e5 */ "invalid",
3797 /* e6 */ "invalid",
3798 /* e7 */ "invalid",
3799 /* e8 */ "invalid",
3800 /* e9 */ "fucompp",
3801 /* ea */ "invalid",
3802 /* eb */ "invalid",
3803 /* ec */ "invalid",
3804 /* ed */ "invalid",
3805 /* ee */ "invalid",
3806 /* ef */ "invalid",
3807 /* f0 */ "invalid",
3808 /* f1 */ "invalid",
3809 /* f2 */ "invalid",
3810 /* f3 */ "invalid",
3811 /* f4 */ "invalid",
3812 /* f5 */ "invalid",
3813 /* f6 */ "invalid",
3814 /* f7 */ "invalid",
3815 /* f8 */ "invalid",
3816 /* f9 */ "invalid",
3817 /* fa */ "invalid",
3818 /* fb */ "invalid",
3819 /* fc */ "invalid",
3820 /* fd */ "invalid",
3821 /* fe */ "invalid",
3822 /* ff */ "invalid",
3823 };
3824
3825 static const char *kDisasm87DB[NCDTABLESIZE] = {
3826 /* 00 */ "fild",
3827 /* 01 */ "fild",
3828 /* 02 */ "fild",
3829 /* 03 */ "fild",
3830 /* 04 */ "fild",
3831 /* 05 */ "fild",
3832 /* 06 */ "fild",
3833 /* 07 */ "fild",
3834 /* 08 */ "fisttp",
3835 /* 09 */ "fisttp",
3836 /* 0a */ "fisttp",
3837 /* 0b */ "fisttp",
3838 /* 0c */ "fisttp",
3839 /* 0d */ "fisttp",
3840 /* 0e */ "fisttp",
3841 /* 0f */ "fisttp",
3842 /* 10 */ "fist",
3843 /* 11 */ "fist",
3844 /* 12 */ "fist",
3845 /* 13 */ "fist",
3846 /* 14 */ "fist",
3847 /* 15 */ "fist",
3848 /* 16 */ "fist",
3849 /* 17 */ "fist",
3850 /* 18 */ "fistp",
3851 /* 19 */ "fistp",
3852 /* 1a */ "fistp",
3853 /* 1b */ "fistp",
3854 /* 1c */ "fistp",
3855 /* 1d */ "fistp",
3856 /* 1e */ "fistp",
3857 /* 1f */ "fistp",
3858 /* 20 */ "invalid",
3859 /* 21 */ "invalid",
3860 /* 22 */ "invalid",
3861 /* 23 */ "invalid",
3862 /* 24 */ "invalid",
3863 /* 25 */ "invalid",
3864 /* 26 */ "invalid",
3865 /* 27 */ "invalid",
3866 /* 28 */ "fld",
3867 /* 29 */ "fld",
3868 /* 2a */ "fld",
3869 /* 2b */ "fld",
3870 /* 2c */ "fld",
3871 /* 2d */ "fld",
3872 /* 2e */ "fld",
3873 /* 2f */ "fld",
3874 /* 30 */ "invalid",
3875 /* 31 */ "invalid",
3876 /* 32 */ "invalid",
3877 /* 33 */ "invalid",
3878 /* 34 */ "invalid",
3879 /* 35 */ "invalid",
3880 /* 36 */ "invalid",
3881 /* 37 */ "invalid",
3882 /* 38 */ "fstp",
3883 /* 39 */ "fstp",
3884 /* 3a */ "fstp",
3885 /* 3b */ "fstp",
3886 /* 3c */ "fstp",
3887 /* 3d */ "fstp",
3888 /* 3e */ "fstp",
3889 /* 3f */ "fstp",
3890 /* 40 */ "fild",
3891 /* 41 */ "fild",
3892 /* 42 */ "fild",
3893 /* 43 */ "fild",
3894 /* 44 */ "fild",
3895 /* 45 */ "fild",
3896 /* 46 */ "fild",
3897 /* 47 */ "fild",
3898 /* 48 */ "fisttp",
3899 /* 49 */ "fisttp",
3900 /* 4a */ "fisttp",
3901 /* 4b */ "fisttp",
3902 /* 4c */ "fisttp",
3903 /* 4d */ "fisttp",
3904 /* 4e */ "fisttp",
3905 /* 4f */ "fisttp",
3906 /* 50 */ "fist",
3907 /* 51 */ "fist",
3908 /* 52 */ "fist",
3909 /* 53 */ "fist",
3910 /* 54 */ "fist",
3911 /* 55 */ "fist",
3912 /* 56 */ "fist",
3913 /* 57 */ "fist",
3914 /* 58 */ "fistp",
3915 /* 59 */ "fistp",
3916 /* 5a */ "fistp",
3917 /* 5b */ "fistp",
3918 /* 5c */ "fistp",
3919 /* 5d */ "fistp",
3920 /* 5e */ "fistp",
3921 /* 5f */ "fistp",
3922 /* 60 */ "invalid",
3923 /* 61 */ "invalid",
3924 /* 62 */ "invalid",
3925 /* 63 */ "invalid",
3926 /* 64 */ "invalid",
3927 /* 65 */ "invalid",
3928 /* 66 */ "invalid",
3929 /* 67 */ "invalid",
3930 /* 68 */ "fld",
3931 /* 69 */ "fld",
3932 /* 6a */ "fld",
3933 /* 6b */ "fld",
3934 /* 6c */ "fld",
3935 /* 6d */ "fld",
3936 /* 6e */ "fld",
3937 /* 6f */ "fld",
3938 /* 70 */ "invalid",
3939 /* 71 */ "invalid",
3940 /* 72 */ "invalid",
3941 /* 73 */ "invalid",
3942 /* 74 */ "invalid",
3943 /* 75 */ "invalid",
3944 /* 76 */ "invalid",
3945 /* 77 */ "invalid",
3946 /* 78 */ "fstp",
3947 /* 79 */ "fstp",
3948 /* 7a */ "fstp",
3949 /* 7b */ "fstp",
3950 /* 7c */ "fstp",
3951 /* 7d */ "fstp",
3952 /* 7e */ "fstp",
3953 /* 7f */ "fstp",
3954 /* 80 */ "fild",
3955 /* 81 */ "fild",
3956 /* 82 */ "fild",
3957 /* 83 */ "fild",
3958 /* 84 */ "fild",
3959 /* 85 */ "fild",
3960 /* 86 */ "fild",
3961 /* 87 */ "fild",
3962 /* 88 */ "fisttp",
3963 /* 89 */ "fisttp",
3964 /* 8a */ "fisttp",
3965 /* 8b */ "fisttp",
3966 /* 8c */ "fisttp",
3967 /* 8d */ "fisttp",
3968 /* 8e */ "fisttp",
3969 /* 8f */ "fisttp",
3970 /* 90 */ "fist",
3971 /* 91 */ "fist",
3972 /* 92 */ "fist",
3973 /* 93 */ "fist",
3974 /* 94 */ "fist",
3975 /* 95 */ "fist",
3976 /* 96 */ "fist",
3977 /* 97 */ "fist",
3978 /* 98 */ "fistp",
3979 /* 99 */ "fistp",
3980 /* 9a */ "fistp",
3981 /* 9b */ "fistp",
3982 /* 9c */ "fistp",
3983 /* 9d */ "fistp",
3984 /* 9e */ "fistp",
3985 /* 9f */ "fistp",
3986 /* a0 */ "invalid",
3987 /* a1 */ "invalid",
3988 /* a2 */ "invalid",
3989 /* a3 */ "invalid",
3990 /* a4 */ "invalid",
3991 /* a5 */ "invalid",
3992 /* a6 */ "invalid",
3993 /* a7 */ "invalid",
3994 /* a8 */ "fld",
3995 /* a9 */ "fld",
3996 /* aa */ "fld",
3997 /* ab */ "fld",
3998 /* ac */ "fld",
3999 /* ad */ "fld",
4000 /* ae */ "fld",
4001 /* af */ "fld",
4002 /* b0 */ "invalid",
4003 /* b1 */ "invalid",
4004 /* b2 */ "invalid",
4005 /* b3 */ "invalid",
4006 /* b4 */ "invalid",
4007 /* b5 */ "invalid",
4008 /* b6 */ "invalid",
4009 /* b7 */ "invalid",
4010 /* b8 */ "fstp",
4011 /* b9 */ "fstp",
4012 /* ba */ "fstp",
4013 /* bb */ "fstp",
4014 /* bc */ "fstp",
4015 /* bd */ "fstp",
4016 /* be */ "fstp",
4017 /* bf */ "fstp",
4018 /* c0 */ "fcmovnb",
4019 /* c1 */ "fcmovnb",
4020 /* c2 */ "fcmovnb",
4021 /* c3 */ "fcmovnb",
4022 /* c4 */ "fcmovnb",
4023 /* c5 */ "fcmovnb",
4024 /* c6 */ "fcmovnb",
4025 /* c7 */ "fcmovnb",
4026 /* c8 */ "fcmovne",
4027 /* c9 */ "fcmovne",
4028 /* ca */ "fcmovne",
4029 /* cb */ "fcmovne",
4030 /* cc */ "fcmovne",
4031 /* cd */ "fcmovne",
4032 /* ce */ "fcmovne",
4033 /* cf */ "fcmovne",
4034 /* d0 */ "fcmovnbe",
4035 /* d1 */ "fcmovnbe",
4036 /* d2 */ "fcmovnbe",
4037 /* d3 */ "fcmovnbe",
4038 /* d4 */ "fcmovnbe",
4039 /* d5 */ "fcmovnbe",
4040 /* d6 */ "fcmovnbe",
4041 /* d7 */ "fcmovnbe",
4042 /* d8 */ "fcmovnu",
4043 /* d9 */ "fcmovnu",
4044 /* da */ "fcmovnu",
4045 /* db */ "fcmovnu",
4046 /* dc */ "fcmovnu",
4047 /* dd */ "fcmovnu",
4048 /* de */ "fcmovnu",
4049 /* df */ "fcmovnu",
4050 /* e0 */ "invalid",
4051 /* e1 */ "invalid",
4052 /* e2 */ "fnclex",
4053 /* e3 */ "fninit",
4054 /* e4 */ "invalid",
4055 /* e5 */ "invalid",
4056 /* e6 */ "invalid",
4057 /* e7 */ "invalid",
4058 /* e8 */ "fucomi",
4059 /* e9 */ "fucomi",
4060 /* ea */ "fucomi",
4061 /* eb */ "fucomi",
4062 /* ec */ "fucomi",
4063 /* ed */ "fucomi",
4064 /* ee */ "fucomi",
4065 /* ef */ "fucomi",
4066 /* f0 */ "fcomi",
4067 /* f1 */ "fcomi",
4068 /* f2 */ "fcomi",
4069 /* f3 */ "fcomi",
4070 /* f4 */ "fcomi",
4071 /* f5 */ "fcomi",
4072 /* f6 */ "fcomi",
4073 /* f7 */ "fcomi",
4074 /* f8 */ "invalid",
4075 /* f9 */ "invalid",
4076 /* fa */ "invalid",
4077 /* fb */ "invalid",
4078 /* fc */ "invalid",
4079 /* fd */ "invalid",
4080 /* fe */ "invalid",
4081 /* ff */ "invalid",
4082 };
4083
4084 static const char *kDisasm87DC[NCDTABLESIZE] = {
4085 /* 00 */ "fadd",
4086 /* 01 */ "fadd",
4087 /* 02 */ "fadd",
4088 /* 03 */ "fadd",
4089 /* 04 */ "fadd",
4090 /* 05 */ "fadd",
4091 /* 06 */ "fadd",
4092 /* 07 */ "fadd",
4093 /* 08 */ "fmul",
4094 /* 09 */ "fmul",
4095 /* 0a */ "fmul",
4096 /* 0b */ "fmul",
4097 /* 0c */ "fmul",
4098 /* 0d */ "fmul",
4099 /* 0e */ "fmul",
4100 /* 0f */ "fmul",
4101 /* 10 */ "fcom",
4102 /* 11 */ "fcom",
4103 /* 12 */ "fcom",
4104 /* 13 */ "fcom",
4105 /* 14 */ "fcom",
4106 /* 15 */ "fcom",
4107 /* 16 */ "fcom",
4108 /* 17 */ "fcom",
4109 /* 18 */ "fcomp",
4110 /* 19 */ "fcomp",
4111 /* 1a */ "fcomp",
4112 /* 1b */ "fcomp",
4113 /* 1c */ "fcomp",
4114 /* 1d */ "fcomp",
4115 /* 1e */ "fcomp",
4116 /* 1f */ "fcomp",
4117 /* 20 */ "fsub",
4118 /* 21 */ "fsub",
4119 /* 22 */ "fsub",
4120 /* 23 */ "fsub",
4121 /* 24 */ "fsub",
4122 /* 25 */ "fsub",
4123 /* 26 */ "fsub",
4124 /* 27 */ "fsub",
4125 /* 28 */ "fsubr",
4126 /* 29 */ "fsubr",
4127 /* 2a */ "fsubr",
4128 /* 2b */ "fsubr",
4129 /* 2c */ "fsubr",
4130 /* 2d */ "fsubr",
4131 /* 2e */ "fsubr",
4132 /* 2f */ "fsubr",
4133 /* 30 */ "fdiv",
4134 /* 31 */ "fdiv",
4135 /* 32 */ "fdiv",
4136 /* 33 */ "fdiv",
4137 /* 34 */ "fdiv",
4138 /* 35 */ "fdiv",
4139 /* 36 */ "fdiv",
4140 /* 37 */ "fdiv",
4141 /* 38 */ "fdivr",
4142 /* 39 */ "fdivr",
4143 /* 3a */ "fdivr",
4144 /* 3b */ "fdivr",
4145 /* 3c */ "fdivr",
4146 /* 3d */ "fdivr",
4147 /* 3e */ "fdivr",
4148 /* 3f */ "fdivr",
4149 /* 40 */ "fadd",
4150 /* 41 */ "fadd",
4151 /* 42 */ "fadd",
4152 /* 43 */ "fadd",
4153 /* 44 */ "fadd",
4154 /* 45 */ "fadd",
4155 /* 46 */ "fadd",
4156 /* 47 */ "fadd",
4157 /* 48 */ "fmul",
4158 /* 49 */ "fmul",
4159 /* 4a */ "fmul",
4160 /* 4b */ "fmul",
4161 /* 4c */ "fmul",
4162 /* 4d */ "fmul",
4163 /* 4e */ "fmul",
4164 /* 4f */ "fmul",
4165 /* 50 */ "fcom",
4166 /* 51 */ "fcom",
4167 /* 52 */ "fcom",
4168 /* 53 */ "fcom",
4169 /* 54 */ "fcom",
4170 /* 55 */ "fcom",
4171 /* 56 */ "fcom",
4172 /* 57 */ "fcom",
4173 /* 58 */ "fcomp",
4174 /* 59 */ "fcomp",
4175 /* 5a */ "fcomp",
4176 /* 5b */ "fcomp",
4177 /* 5c */ "fcomp",
4178 /* 5d */ "fcomp",
4179 /* 5e */ "fcomp",
4180 /* 5f */ "fcomp",
4181 /* 60 */ "fsub",
4182 /* 61 */ "fsub",
4183 /* 62 */ "fsub",
4184 /* 63 */ "fsub",
4185 /* 64 */ "fsub",
4186 /* 65 */ "fsub",
4187 /* 66 */ "fsub",
4188 /* 67 */ "fsub",
4189 /* 68 */ "fsubr",
4190 /* 69 */ "fsubr",
4191 /* 6a */ "fsubr",
4192 /* 6b */ "fsubr",
4193 /* 6c */ "fsubr",
4194 /* 6d */ "fsubr",
4195 /* 6e */ "fsubr",
4196 /* 6f */ "fsubr",
4197 /* 70 */ "fdiv",
4198 /* 71 */ "fdiv",
4199 /* 72 */ "fdiv",
4200 /* 73 */ "fdiv",
4201 /* 74 */ "fdiv",
4202 /* 75 */ "fdiv",
4203 /* 76 */ "fdiv",
4204 /* 77 */ "fdiv",
4205 /* 78 */ "fdivr",
4206 /* 79 */ "fdivr",
4207 /* 7a */ "fdivr",
4208 /* 7b */ "fdivr",
4209 /* 7c */ "fdivr",
4210 /* 7d */ "fdivr",
4211 /* 7e */ "fdivr",
4212 /* 7f */ "fdivr",
4213 /* 80 */ "fadd",
4214 /* 81 */ "fadd",
4215 /* 82 */ "fadd",
4216 /* 83 */ "fadd",
4217 /* 84 */ "fadd",
4218 /* 85 */ "fadd",
4219 /* 86 */ "fadd",
4220 /* 87 */ "fadd",
4221 /* 88 */ "fmul",
4222 /* 89 */ "fmul",
4223 /* 8a */ "fmul",
4224 /* 8b */ "fmul",
4225 /* 8c */ "fmul",
4226 /* 8d */ "fmul",
4227 /* 8e */ "fmul",
4228 /* 8f */ "fmul",
4229 /* 90 */ "fcom",
4230 /* 91 */ "fcom",
4231 /* 92 */ "fcom",
4232 /* 93 */ "fcom",
4233 /* 94 */ "fcom",
4234 /* 95 */ "fcom",
4235 /* 96 */ "fcom",
4236 /* 97 */ "fcom",
4237 /* 98 */ "fcomp",
4238 /* 99 */ "fcomp",
4239 /* 9a */ "fcomp",
4240 /* 9b */ "fcomp",
4241 /* 9c */ "fcomp",
4242 /* 9d */ "fcomp",
4243 /* 9e */ "fcomp",
4244 /* 9f */ "fcomp",
4245 /* a0 */ "fsub",
4246 /* a1 */ "fsub",
4247 /* a2 */ "fsub",
4248 /* a3 */ "fsub",
4249 /* a4 */ "fsub",
4250 /* a5 */ "fsub",
4251 /* a6 */ "fsub",
4252 /* a7 */ "fsub",
4253 /* a8 */ "fsubr",
4254 /* a9 */ "fsubr",
4255 /* aa */ "fsubr",
4256 /* ab */ "fsubr",
4257 /* ac */ "fsubr",
4258 /* ad */ "fsubr",
4259 /* ae */ "fsubr",
4260 /* af */ "fsubr",
4261 /* b0 */ "fdiv",
4262 /* b1 */ "fdiv",
4263 /* b2 */ "fdiv",
4264 /* b3 */ "fdiv",
4265 /* b4 */ "fdiv",
4266 /* b5 */ "fdiv",
4267 /* b6 */ "fdiv",
4268 /* b7 */ "fdiv",
4269 /* b8 */ "fdivr",
4270 /* b9 */ "fdivr",
4271 /* ba */ "fdivr",
4272 /* bb */ "fdivr",
4273 /* bc */ "fdivr",
4274 /* bd */ "fdivr",
4275 /* be */ "fdivr",
4276 /* bf */ "fdivr",
4277 /* c0 */ "fadd",
4278 /* c1 */ "fadd",
4279 /* c2 */ "fadd",
4280 /* c3 */ "fadd",
4281 /* c4 */ "fadd",
4282 /* c5 */ "fadd",
4283 /* c6 */ "fadd",
4284 /* c7 */ "fadd",
4285 /* c8 */ "fmul",
4286 /* c9 */ "fmul",
4287 /* ca */ "fmul",
4288 /* cb */ "fmul",
4289 /* cc */ "fmul",
4290 /* cd */ "fmul",
4291 /* ce */ "fmul",
4292 /* cf */ "fmul",
4293 /* d0 */ "invalid",
4294 /* d1 */ "invalid",
4295 /* d2 */ "invalid",
4296 /* d3 */ "invalid",
4297 /* d4 */ "invalid",
4298 /* d5 */ "invalid",
4299 /* d6 */ "invalid",
4300 /* d7 */ "invalid",
4301 /* d8 */ "invalid",
4302 /* d9 */ "invalid",
4303 /* da */ "invalid",
4304 /* db */ "invalid",
4305 /* dc */ "invalid",
4306 /* dd */ "invalid",
4307 /* de */ "invalid",
4308 /* df */ "invalid",
4309 /* e0 */ "fsubr",
4310 /* e1 */ "fsubr",
4311 /* e2 */ "fsubr",
4312 /* e3 */ "fsubr",
4313 /* e4 */ "fsubr",
4314 /* e5 */ "fsubr",
4315 /* e6 */ "fsubr",
4316 /* e7 */ "fsubr",
4317 /* e8 */ "fsub",
4318 /* e9 */ "fsub",
4319 /* ea */ "fsub",
4320 /* eb */ "fsub",
4321 /* ec */ "fsub",
4322 /* ed */ "fsub",
4323 /* ee */ "fsub",
4324 /* ef */ "fsub",
4325 /* f0 */ "fdivr",
4326 /* f1 */ "fdivr",
4327 /* f2 */ "fdivr",
4328 /* f3 */ "fdivr",
4329 /* f4 */ "fdivr",
4330 /* f5 */ "fdivr",
4331 /* f6 */ "fdivr",
4332 /* f7 */ "fdivr",
4333 /* f8 */ "fdiv",
4334 /* f9 */ "fdiv",
4335 /* fa */ "fdiv",
4336 /* fb */ "fdiv",
4337 /* fc */ "fdiv",
4338 /* fd */ "fdiv",
4339 /* fe */ "fdiv",
4340 /* ff */ "fdiv",
4341 };
4342
4343 static const char *kDisasm87DD[NCDTABLESIZE] = {
4344 /* 00 */ "fld",
4345 /* 01 */ "fld",
4346 /* 02 */ "fld",
4347 /* 03 */ "fld",
4348 /* 04 */ "fld",
4349 /* 05 */ "fld",
4350 /* 06 */ "fld",
4351 /* 07 */ "fld",
4352 /* 08 */ "fisttp",
4353 /* 09 */ "fisttp",
4354 /* 0a */ "fisttp",
4355 /* 0b */ "fisttp",
4356 /* 0c */ "fisttp",
4357 /* 0d */ "fisttp",
4358 /* 0e */ "fisttp",
4359 /* 0f */ "fisttp",
4360 /* 10 */ "fst",
4361 /* 11 */ "fst",
4362 /* 12 */ "fst",
4363 /* 13 */ "fst",
4364 /* 14 */ "fst",
4365 /* 15 */ "fst",
4366 /* 16 */ "fst",
4367 /* 17 */ "fst",
4368 /* 18 */ "fstp",
4369 /* 19 */ "fstp",
4370 /* 1a */ "fstp",
4371 /* 1b */ "fstp",
4372 /* 1c */ "fstp",
4373 /* 1d */ "fstp",
4374 /* 1e */ "fstp",
4375 /* 1f */ "fstp",
4376 /* 20 */ "frstor",
4377 /* 21 */ "frstor",
4378 /* 22 */ "frstor",
4379 /* 23 */ "frstor",
4380 /* 24 */ "frstor",
4381 /* 25 */ "frstor",
4382 /* 26 */ "frstor",
4383 /* 27 */ "frstor",
4384 /* 28 */ "invalid",
4385 /* 29 */ "invalid",
4386 /* 2a */ "invalid",
4387 /* 2b */ "invalid",
4388 /* 2c */ "invalid",
4389 /* 2d */ "invalid",
4390 /* 2e */ "invalid",
4391 /* 2f */ "invalid",
4392 /* 30 */ "fnsave",
4393 /* 31 */ "fnsave",
4394 /* 32 */ "fnsave",
4395 /* 33 */ "fnsave",
4396 /* 34 */ "fnsave",
4397 /* 35 */ "fnsave",
4398 /* 36 */ "fnsave",
4399 /* 37 */ "fnsave",
4400 /* 38 */ "fnstsw",
4401 /* 39 */ "fnstsw",
4402 /* 3a */ "fnstsw",
4403 /* 3b */ "fnstsw",
4404 /* 3c */ "fnstsw",
4405 /* 3d */ "fnstsw",
4406 /* 3e */ "fnstsw",
4407 /* 3f */ "fnstsw",
4408 /* 40 */ "fld",
4409 /* 41 */ "fld",
4410 /* 42 */ "fld",
4411 /* 43 */ "fld",
4412 /* 44 */ "fld",
4413 /* 45 */ "fld",
4414 /* 46 */ "fld",
4415 /* 47 */ "fld",
4416 /* 48 */ "fisttp",
4417 /* 49 */ "fisttp",
4418 /* 4a */ "fisttp",
4419 /* 4b */ "fisttp",
4420 /* 4c */ "fisttp",
4421 /* 4d */ "fisttp",
4422 /* 4e */ "fisttp",
4423 /* 4f */ "fisttp",
4424 /* 50 */ "fst",
4425 /* 51 */ "fst",
4426 /* 52 */ "fst",
4427 /* 53 */ "fst",
4428 /* 54 */ "fst",
4429 /* 55 */ "fst",
4430 /* 56 */ "fst",
4431 /* 57 */ "fst",
4432 /* 58 */ "fstp",
4433 /* 59 */ "fstp",
4434 /* 5a */ "fstp",
4435 /* 5b */ "fstp",
4436 /* 5c */ "fstp",
4437 /* 5d */ "fstp",
4438 /* 5e */ "fstp",
4439 /* 5f */ "fstp",
4440 /* 60 */ "frstor",
4441 /* 61 */ "frstor",
4442 /* 62 */ "frstor",
4443 /* 63 */ "frstor",
4444 /* 64 */ "frstor",
4445 /* 65 */ "frstor",
4446 /* 66 */ "frstor",
4447 /* 67 */ "frstor",
4448 /* 68 */ "invalid",
4449 /* 69 */ "invalid",
4450 /* 6a */ "invalid",
4451 /* 6b */ "invalid",
4452 /* 6c */ "invalid",
4453 /* 6d */ "invalid",
4454 /* 6e */ "invalid",
4455 /* 6f */ "invalid",
4456 /* 70 */ "fnsave",
4457 /* 71 */ "fnsave",
4458 /* 72 */ "fnsave",
4459 /* 73 */ "fnsave",
4460 /* 74 */ "fnsave",
4461 /* 75 */ "fnsave",
4462 /* 76 */ "fnsave",
4463 /* 77 */ "fnsave",
4464 /* 78 */ "fnstsw",
4465 /* 79 */ "fnstsw",
4466 /* 7a */ "fnstsw",
4467 /* 7b */ "fnstsw",
4468 /* 7c */ "fnstsw",
4469 /* 7d */ "fnstsw",
4470 /* 7e */ "fnstsw",
4471 /* 7f */ "fnstsw",
4472 /* 80 */ "fld",
4473 /* 81 */ "fld",
4474 /* 82 */ "fld",
4475 /* 83 */ "fld",
4476 /* 84 */ "fld",
4477 /* 85 */ "fld",
4478 /* 86 */ "fld",
4479 /* 87 */ "fld",
4480 /* 88 */ "fisttp",
4481 /* 89 */ "fisttp",
4482 /* 8a */ "fisttp",
4483 /* 8b */ "fisttp",
4484 /* 8c */ "fisttp",
4485 /* 8d */ "fisttp",
4486 /* 8e */ "fisttp",
4487 /* 8f */ "fisttp",
4488 /* 90 */ "fst",
4489 /* 91 */ "fst",
4490 /* 92 */ "fst",
4491 /* 93 */ "fst",
4492 /* 94 */ "fst",
4493 /* 95 */ "fst",
4494 /* 96 */ "fst",
4495 /* 97 */ "fst",
4496 /* 98 */ "fstp",
4497 /* 99 */ "fstp",
4498 /* 9a */ "fstp",
4499 /* 9b */ "fstp",
4500 /* 9c */ "fstp",
4501 /* 9d */ "fstp",
4502 /* 9e */ "fstp",
4503 /* 9f */ "fstp",
4504 /* a0 */ "frstor",
4505 /* a1 */ "frstor",
4506 /* a2 */ "frstor",
4507 /* a3 */ "frstor",
4508 /* a4 */ "frstor",
4509 /* a5 */ "frstor",
4510 /* a6 */ "frstor",
4511 /* a7 */ "frstor",
4512 /* a8 */ "invalid",
4513 /* a9 */ "invalid",
4514 /* aa */ "invalid",
4515 /* ab */ "invalid",
4516 /* ac */ "invalid",
4517 /* ad */ "invalid",
4518 /* ae */ "invalid",
4519 /* af */ "invalid",
4520 /* b0 */ "fnsave",
4521 /* b1 */ "fnsave",
4522 /* b2 */ "fnsave",
4523 /* b3 */ "fnsave",
4524 /* b4 */ "fnsave",
4525 /* b5 */ "fnsave",
4526 /* b6 */ "fnsave",
4527 /* b7 */ "fnsave",
4528 /* b8 */ "fnstsw",
4529 /* b9 */ "fnstsw",
4530 /* ba */ "fnstsw",
4531 /* bb */ "fnstsw",
4532 /* bc */ "fnstsw",
4533 /* bd */ "fnstsw",
4534 /* be */ "fnstsw",
4535 /* bf */ "fnstsw",
4536 /* c0 */ "ffree",
4537 /* c1 */ "ffree",
4538 /* c2 */ "ffree",
4539 /* c3 */ "ffree",
4540 /* c4 */ "ffree",
4541 /* c5 */ "ffree",
4542 /* c6 */ "ffree",
4543 /* c7 */ "ffree",
4544 /* c8 */ "invalid",
4545 /* c9 */ "invalid",
4546 /* ca */ "invalid",
4547 /* cb */ "invalid",
4548 /* cc */ "invalid",
4549 /* cd */ "invalid",
4550 /* ce */ "invalid",
4551 /* cf */ "invalid",
4552 /* d0 */ "fst",
4553 /* d1 */ "fst",
4554 /* d2 */ "fst",
4555 /* d3 */ "fst",
4556 /* d4 */ "fst",
4557 /* d5 */ "fst",
4558 /* d6 */ "fst",
4559 /* d7 */ "fst",
4560 /* d8 */ "fstp",
4561 /* d9 */ "fstp",
4562 /* da */ "fstp",
4563 /* db */ "fstp",
4564 /* dc */ "fstp",
4565 /* dd */ "fstp",
4566 /* de */ "fstp",
4567 /* df */ "fstp",
4568 /* e0 */ "fucom",
4569 /* e1 */ "fucom",
4570 /* e2 */ "fucom",
4571 /* e3 */ "fucom",
4572 /* e4 */ "fucom",
4573 /* e5 */ "fucom",
4574 /* e6 */ "fucom",
4575 /* e7 */ "fucom",
4576 /* e8 */ "fucomp",
4577 /* e9 */ "fucomp",
4578 /* ea */ "fucomp",
4579 /* eb */ "fucomp",
4580 /* ec */ "fucomp",
4581 /* ed */ "fucomp",
4582 /* ee */ "fucomp",
4583 /* ef */ "fucomp",
4584 /* f0 */ "invalid",
4585 /* f1 */ "invalid",
4586 /* f2 */ "invalid",
4587 /* f3 */ "invalid",
4588 /* f4 */ "invalid",
4589 /* f5 */ "invalid",
4590 /* f6 */ "invalid",
4591 /* f7 */ "invalid",
4592 /* f8 */ "invalid",
4593 /* f9 */ "invalid",
4594 /* fa */ "invalid",
4595 /* fb */ "invalid",
4596 /* fc */ "invalid",
4597 /* fd */ "invalid",
4598 /* fe */ "invalid",
4599 /* ff */ "invalid",
4600 };
4601
4602 static const char *kDisasm87DE[NCDTABLESIZE] = {
4603 /* 00 */ "fiadd",
4604 /* 01 */ "fiadd",
4605 /* 02 */ "fiadd",
4606 /* 03 */ "fiadd",
4607 /* 04 */ "fiadd",
4608 /* 05 */ "fiadd",
4609 /* 06 */ "fiadd",
4610 /* 07 */ "fiadd",
4611 /* 08 */ "fimul",
4612 /* 09 */ "fimul",
4613 /* 0a */ "fimul",
4614 /* 0b */ "fimul",
4615 /* 0c */ "fimul",
4616 /* 0d */ "fimul",
4617 /* 0e */ "fimul",
4618 /* 0f */ "fimul",
4619 /* 10 */ "ficom",
4620 /* 11 */ "ficom",
4621 /* 12 */ "ficom",
4622 /* 13 */ "ficom",
4623 /* 14 */ "ficom",
4624 /* 15 */ "ficom",
4625 /* 16 */ "ficom",
4626 /* 17 */ "ficom",
4627 /* 18 */ "ficomp",
4628 /* 19 */ "ficomp",
4629 /* 1a */ "ficomp",
4630 /* 1b */ "ficomp",
4631 /* 1c */ "ficomp",
4632 /* 1d */ "ficomp",
4633 /* 1e */ "ficomp",
4634 /* 1f */ "ficomp",
4635 /* 20 */ "fisub",
4636 /* 21 */ "fisub",
4637 /* 22 */ "fisub",
4638 /* 23 */ "fisub",
4639 /* 24 */ "fisub",
4640 /* 25 */ "fisub",
4641 /* 26 */ "fisub",
4642 /* 27 */ "fisub",
4643 /* 28 */ "fisubr",
4644 /* 29 */ "fisubr",
4645 /* 2a */ "fisubr",
4646 /* 2b */ "fisubr",
4647 /* 2c */ "fisubr",
4648 /* 2d */ "fisubr",
4649 /* 2e */ "fisubr",
4650 /* 2f */ "fisubr",
4651 /* 30 */ "fidiv",
4652 /* 31 */ "fidiv",
4653 /* 32 */ "fidiv",
4654 /* 33 */ "fidiv",
4655 /* 34 */ "fidiv",
4656 /* 35 */ "fidiv",
4657 /* 36 */ "fidiv",
4658 /* 37 */ "fidiv",
4659 /* 38 */ "fidivr",
4660 /* 39 */ "fidivr",
4661 /* 3a */ "fidivr",
4662 /* 3b */ "fidivr",
4663 /* 3c */ "fidivr",
4664 /* 3d */ "fidivr",
4665 /* 3e */ "fidivr",
4666 /* 3f */ "fidivr",
4667 /* 40 */ "fiadd",
4668 /* 41 */ "fiadd",
4669 /* 42 */ "fiadd",
4670 /* 43 */ "fiadd",
4671 /* 44 */ "fiadd",
4672 /* 45 */ "fiadd",
4673 /* 46 */ "fiadd",
4674 /* 47 */ "fiadd",
4675 /* 48 */ "fimul",
4676 /* 49 */ "fimul",
4677 /* 4a */ "fimul",
4678 /* 4b */ "fimul",
4679 /* 4c */ "fimul",
4680 /* 4d */ "fimul",
4681 /* 4e */ "fimul",
4682 /* 4f */ "fimul",
4683 /* 50 */ "ficom",
4684 /* 51 */ "ficom",
4685 /* 52 */ "ficom",
4686 /* 53 */ "ficom",
4687 /* 54 */ "ficom",
4688 /* 55 */ "ficom",
4689 /* 56 */ "ficom",
4690 /* 57 */ "ficom",
4691 /* 58 */ "ficomp",
4692 /* 59 */ "ficomp",
4693 /* 5a */ "ficomp",
4694 /* 5b */ "ficomp",
4695 /* 5c */ "ficomp",
4696 /* 5d */ "ficomp",
4697 /* 5e */ "ficomp",
4698 /* 5f */ "ficomp",
4699 /* 60 */ "fisub",
4700 /* 61 */ "fisub",
4701 /* 62 */ "fisub",
4702 /* 63 */ "fisub",
4703 /* 64 */ "fisub",
4704 /* 65 */ "fisub",
4705 /* 66 */ "fisub",
4706 /* 67 */ "fisub",
4707 /* 68 */ "fisubr",
4708 /* 69 */ "fisubr",
4709 /* 6a */ "fisubr",
4710 /* 6b */ "fisubr",
4711 /* 6c */ "fisubr",
4712 /* 6d */ "fisubr",
4713 /* 6e */ "fisubr",
4714 /* 6f */ "fisubr",
4715 /* 70 */ "fidiv",
4716 /* 71 */ "fidiv",
4717 /* 72 */ "fidiv",
4718 /* 73 */ "fidiv",
4719 /* 74 */ "fidiv",
4720 /* 75 */ "fidiv",
4721 /* 76 */ "fidiv",
4722 /* 77 */ "fidiv",
4723 /* 78 */ "fidivr",
4724 /* 79 */ "fidivr",
4725 /* 7a */ "fidivr",
4726 /* 7b */ "fidivr",
4727 /* 7c */ "fidivr",
4728 /* 7d */ "fidivr",
4729 /* 7e */ "fidivr",
4730 /* 7f */ "fidivr",
4731 /* 80 */ "fiadd",
4732 /* 81 */ "fiadd",
4733 /* 82 */ "fiadd",
4734 /* 83 */ "fiadd",
4735 /* 84 */ "fiadd",
4736 /* 85 */ "fiadd",
4737 /* 86 */ "fiadd",
4738 /* 87 */ "fiadd",
4739 /* 88 */ "fimul",
4740 /* 89 */ "fimul",
4741 /* 8a */ "fimul",
4742 /* 8b */ "fimul",
4743 /* 8c */ "fimul",
4744 /* 8d */ "fimul",
4745 /* 8e */ "fimul",
4746 /* 8f */ "fimul",
4747 /* 90 */ "ficom",
4748 /* 91 */ "ficom",
4749 /* 92 */ "ficom",
4750 /* 93 */ "ficom",
4751 /* 94 */ "ficom",
4752 /* 95 */ "ficom",
4753 /* 96 */ "ficom",
4754 /* 97 */ "ficom",
4755 /* 98 */ "ficomp",
4756 /* 99 */ "ficomp",
4757 /* 9a */ "ficomp",
4758 /* 9b */ "ficomp",
4759 /* 9c */ "ficomp",
4760 /* 9d */ "ficomp",
4761 /* 9e */ "ficomp",
4762 /* 9f */ "ficomp",
4763 /* a0 */ "fisub",
4764 /* a1 */ "fisub",
4765 /* a2 */ "fisub",
4766 /* a3 */ "fisub",
4767 /* a4 */ "fisub",
4768 /* a5 */ "fisub",
4769 /* a6 */ "fisub",
4770 /* a7 */ "fisub",
4771 /* a8 */ "fisubr",
4772 /* a9 */ "fisubr",
4773 /* aa */ "fisubr",
4774 /* ab */ "fisubr",
4775 /* ac */ "fisubr",
4776 /* ad */ "fisubr",
4777 /* ae */ "fisubr",
4778 /* af */ "fisubr",
4779 /* b0 */ "fidiv",
4780 /* b1 */ "fidiv",
4781 /* b2 */ "fidiv",
4782 /* b3 */ "fidiv",
4783 /* b4 */ "fidiv",
4784 /* b5 */ "fidiv",
4785 /* b6 */ "fidiv",
4786 /* b7 */ "fidiv",
4787 /* b8 */ "fidivr",
4788 /* b9 */ "fidivr",
4789 /* ba */ "fidivr",
4790 /* bb */ "fidivr",
4791 /* bc */ "fidivr",
4792 /* bd */ "fidivr",
4793 /* be */ "fidivr",
4794 /* bf */ "fidivr",
4795 /* c0 */ "faddp",
4796 /* c1 */ "faddp",
4797 /* c2 */ "faddp",
4798 /* c3 */ "faddp",
4799 /* c4 */ "faddp",
4800 /* c5 */ "faddp",
4801 /* c6 */ "faddp",
4802 /* c7 */ "faddp",
4803 /* c8 */ "fmulp",
4804 /* c9 */ "fmulp",
4805 /* ca */ "fmulp",
4806 /* cb */ "fmulp",
4807 /* cc */ "fmulp",
4808 /* cd */ "fmulp",
4809 /* ce */ "fmulp",
4810 /* cf */ "fmulp",
4811 /* d0 */ "invalid",
4812 /* d1 */ "invalid",
4813 /* d2 */ "invalid",
4814 /* d3 */ "invalid",
4815 /* d4 */ "invalid",
4816 /* d5 */ "invalid",
4817 /* d6 */ "invalid",
4818 /* d7 */ "invalid",
4819 /* d8 */ "invalid",
4820 /* d9 */ "fcompp",
4821 /* da */ "invalid",
4822 /* db */ "invalid",
4823 /* dc */ "invalid",
4824 /* dd */ "invalid",
4825 /* de */ "invalid",
4826 /* df */ "invalid",
4827 /* e0 */ "fsubrp",
4828 /* e1 */ "fsubrp",
4829 /* e2 */ "fsubrp",
4830 /* e3 */ "fsubrp",
4831 /* e4 */ "fsubrp",
4832 /* e5 */ "fsubrp",
4833 /* e6 */ "fsubrp",
4834 /* e7 */ "fsubrp",
4835 /* e8 */ "fsubp",
4836 /* e9 */ "fsubp",
4837 /* ea */ "fsubp",
4838 /* eb */ "fsubp",
4839 /* ec */ "fsubp",
4840 /* ed */ "fsubp",
4841 /* ee */ "fsubp",
4842 /* ef */ "fsubp",
4843 /* f0 */ "fdivrp",
4844 /* f1 */ "fdivrp",
4845 /* f2 */ "fdivrp",
4846 /* f3 */ "fdivrp",
4847 /* f4 */ "fdivrp",
4848 /* f5 */ "fdivrp",
4849 /* f6 */ "fdivrp",
4850 /* f7 */ "fdivrp",
4851 /* f8 */ "fdivp",
4852 /* f9 */ "fdivp",
4853 /* fa */ "fdivp",
4854 /* fb */ "fdivp",
4855 /* fc */ "fdivp",
4856 /* fd */ "fdivp",
4857 /* fe */ "fdivp",
4858 /* ff */ "fdivp",
4859 };
4860
4861 static const char *kDisasm87DF[NCDTABLESIZE] = {
4862 /* 00 */ "fild",
4863 /* 01 */ "fild",
4864 /* 02 */ "fild",
4865 /* 03 */ "fild",
4866 /* 04 */ "fild",
4867 /* 05 */ "fild",
4868 /* 06 */ "fild",
4869 /* 07 */ "fild",
4870 /* 08 */ "fisttp",
4871 /* 09 */ "fisttp",
4872 /* 0a */ "fisttp",
4873 /* 0b */ "fisttp",
4874 /* 0c */ "fisttp",
4875 /* 0d */ "fisttp",
4876 /* 0e */ "fisttp",
4877 /* 0f */ "fisttp",
4878 /* 10 */ "fist",
4879 /* 11 */ "fist",
4880 /* 12 */ "fist",
4881 /* 13 */ "fist",
4882 /* 14 */ "fist",
4883 /* 15 */ "fist",
4884 /* 16 */ "fist",
4885 /* 17 */ "fist",
4886 /* 18 */ "fistp",
4887 /* 19 */ "fistp",
4888 /* 1a */ "fistp",
4889 /* 1b */ "fistp",
4890 /* 1c */ "fistp",
4891 /* 1d */ "fistp",
4892 /* 1e */ "fistp",
4893 /* 1f */ "fistp",
4894 /* 20 */ "fbld",
4895 /* 21 */ "fbld",
4896 /* 22 */ "fbld",
4897 /* 23 */ "fbld",
4898 /* 24 */ "fbld",
4899 /* 25 */ "fbld",
4900 /* 26 */ "fbld",
4901 /* 27 */ "fbld",
4902 /* 28 */ "fild",
4903 /* 29 */ "fild",
4904 /* 2a */ "fild",
4905 /* 2b */ "fild",
4906 /* 2c */ "fild",
4907 /* 2d */ "fild",
4908 /* 2e */ "fild",
4909 /* 2f */ "fild",
4910 /* 30 */ "fbstp",
4911 /* 31 */ "fbstp",
4912 /* 32 */ "fbstp",
4913 /* 33 */ "fbstp",
4914 /* 34 */ "fbstp",
4915 /* 35 */ "fbstp",
4916 /* 36 */ "fbstp",
4917 /* 37 */ "fbstp",
4918 /* 38 */ "fistp",
4919 /* 39 */ "fistp",
4920 /* 3a */ "fistp",
4921 /* 3b */ "fistp",
4922 /* 3c */ "fistp",
4923 /* 3d */ "fistp",
4924 /* 3e */ "fistp",
4925 /* 3f */ "fistp",
4926 /* 40 */ "fild",
4927 /* 41 */ "fild",
4928 /* 42 */ "fild",
4929 /* 43 */ "fild",
4930 /* 44 */ "fild",
4931 /* 45 */ "fild",
4932 /* 46 */ "fild",
4933 /* 47 */ "fild",
4934 /* 48 */ "fisttp",
4935 /* 49 */ "fisttp",
4936 /* 4a */ "fisttp",
4937 /* 4b */ "fisttp",
4938 /* 4c */ "fisttp",
4939 /* 4d */ "fisttp",
4940 /* 4e */ "fisttp",
4941 /* 4f */ "fisttp",
4942 /* 50 */ "fist",
4943 /* 51 */ "fist",
4944 /* 52 */ "fist",
4945 /* 53 */ "fist",
4946 /* 54 */ "fist",
4947 /* 55 */ "fist",
4948 /* 56 */ "fist",
4949 /* 57 */ "fist",
4950 /* 58 */ "fistp",
4951 /* 59 */ "fistp",
4952 /* 5a */ "fistp",
4953 /* 5b */ "fistp",
4954 /* 5c */ "fistp",
4955 /* 5d */ "fistp",
4956 /* 5e */ "fistp",
4957 /* 5f */ "fistp",
4958 /* 60 */ "fbld",
4959 /* 61 */ "fbld",
4960 /* 62 */ "fbld",
4961 /* 63 */ "fbld",
4962 /* 64 */ "fbld",
4963 /* 65 */ "fbld",
4964 /* 66 */ "fbld",
4965 /* 67 */ "fbld",
4966 /* 68 */ "fild",
4967 /* 69 */ "fild",
4968 /* 6a */ "fild",
4969 /* 6b */ "fild",
4970 /* 6c */ "fild",
4971 /* 6d */ "fild",
4972 /* 6e */ "fild",
4973 /* 6f */ "fild",
4974 /* 70 */ "fbstp",
4975 /* 71 */ "fbstp",
4976 /* 72 */ "fbstp",
4977 /* 73 */ "fbstp",
4978 /* 74 */ "fbstp",
4979 /* 75 */ "fbstp",
4980 /* 76 */ "fbstp",
4981 /* 77 */ "fbstp",
4982 /* 78 */ "fistp",
4983 /* 79 */ "fistp",
4984 /* 7a */ "fistp",
4985 /* 7b */ "fistp",
4986 /* 7c */ "fistp",
4987 /* 7d */ "fistp",
4988 /* 7e */ "fistp",
4989 /* 7f */ "fistp",
4990 /* 80 */ "fild",
4991 /* 81 */ "fild",
4992 /* 82 */ "fild",
4993 /* 83 */ "fild",
4994 /* 84 */ "fild",
4995 /* 85 */ "fild",
4996 /* 86 */ "fild",
4997 /* 87 */ "fild",
4998 /* 88 */ "fisttp",
4999 /* 89 */ "fisttp",
5000 /* 8a */ "fisttp",
5001 /* 8b */ "fisttp",
5002 /* 8c */ "fisttp",
5003 /* 8d */ "fisttp",
5004 /* 8e */ "fisttp",
5005 /* 8f */ "fisttp",
5006 /* 90 */ "fist",
5007 /* 91 */ "fist",
5008 /* 92 */ "fist",
5009 /* 93 */ "fist",
5010 /* 94 */ "fist",
5011 /* 95 */ "fist",
5012 /* 96 */ "fist",
5013 /* 97 */ "fist",
5014 /* 98 */ "fistp",
5015 /* 99 */ "fistp",
5016 /* 9a */ "fistp",
5017 /* 9b */ "fistp",
5018 /* 9c */ "fistp",
5019 /* 9d */ "fistp",
5020 /* 9e */ "fistp",
5021 /* 9f */ "fistp",
5022 /* a0 */ "fbld",
5023 /* a1 */ "fbld",
5024 /* a2 */ "fbld",
5025 /* a3 */ "fbld",
5026 /* a4 */ "fbld",
5027 /* a5 */ "fbld",
5028 /* a6 */ "fbld",
5029 /* a7 */ "fbld",
5030 /* a8 */ "fild",
5031 /* a9 */ "fild",
5032 /* aa */ "fild",
5033 /* ab */ "fild",
5034 /* ac */ "fild",
5035 /* ad */ "fild",
5036 /* ae */ "fild",
5037 /* af */ "fild",
5038 /* b0 */ "fbstp",
5039 /* b1 */ "fbstp",
5040 /* b2 */ "fbstp",
5041 /* b3 */ "fbstp",
5042 /* b4 */ "fbstp",
5043 /* b5 */ "fbstp",
5044 /* b6 */ "fbstp",
5045 /* b7 */ "fbstp",
5046 /* b8 */ "fistp",
5047 /* b9 */ "fistp",
5048 /* ba */ "fistp",
5049 /* bb */ "fistp",
5050 /* bc */ "fistp",
5051 /* bd */ "fistp",
5052 /* be */ "fistp",
5053 /* bf */ "fistp",
5054 /* c0 */ "invalid",
5055 /* c1 */ "invalid",
5056 /* c2 */ "invalid",
5057 /* c3 */ "invalid",
5058 /* c4 */ "invalid",
5059 /* c5 */ "invalid",
5060 /* c6 */ "invalid",
5061 /* c7 */ "invalid",
5062 /* c8 */ "invalid",
5063 /* c9 */ "invalid",
5064 /* ca */ "invalid",
5065 /* cb */ "invalid",
5066 /* cc */ "invalid",
5067 /* cd */ "invalid",
5068 /* ce */ "invalid",
5069 /* cf */ "invalid",
5070 /* d0 */ "invalid",
5071 /* d1 */ "invalid",
5072 /* d2 */ "invalid",
5073 /* d3 */ "invalid",
5074 /* d4 */ "invalid",
5075 /* d5 */ "invalid",
5076 /* d6 */ "invalid",
5077 /* d7 */ "invalid",
5078 /* d8 */ "invalid",
5079 /* d9 */ "invalid",
5080 /* da */ "invalid",
5081 /* db */ "invalid",
5082 /* dc */ "invalid",
5083 /* dd */ "invalid",
5084 /* de */ "invalid",
5085 /* df */ "invalid",
5086 /* e0 */ "fnstsw",
5087 /* e1 */ "invalid",
5088 /* e2 */ "invalid",
5089 /* e3 */ "invalid",
5090 /* e4 */ "invalid",
5091 /* e5 */ "invalid",
5092 /* e6 */ "invalid",
5093 /* e7 */ "invalid",
5094 /* e8 */ "fucomip",
5095 /* e9 */ "fucomip",
5096 /* ea */ "fucomip",
5097 /* eb */ "fucomip",
5098 /* ec */ "fucomip",
5099 /* ed */ "fucomip",
5100 /* ee */ "fucomip",
5101 /* ef */ "fucomip",
5102 /* f0 */ "fcomip",
5103 /* f1 */ "fcomip",
5104 /* f2 */ "fcomip",
5105 /* f3 */ "fcomip",
5106 /* f4 */ "fcomip",
5107 /* f5 */ "fcomip",
5108 /* f6 */ "fcomip",
5109 /* f7 */ "fcomip",
5110 /* f8 */ "invalid",
5111 /* f9 */ "invalid",
5112 /* fa */ "invalid",
5113 /* fb */ "invalid",
5114 /* fc */ "invalid",
5115 /* fd */ "invalid",
5116 /* fe */ "invalid",
5117 /* ff */ "invalid",
5118 };
5119
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698