1 static const struct dis386 evex_table[][256] = {
23 { PREFIX_TABLE (PREFIX_EVEX_0F10) },
24 { PREFIX_TABLE (PREFIX_EVEX_0F11) },
25 { PREFIX_TABLE (PREFIX_EVEX_0F12) },
26 { PREFIX_TABLE (PREFIX_EVEX_0F13) },
27 { PREFIX_TABLE (PREFIX_EVEX_0F14) },
28 { PREFIX_TABLE (PREFIX_EVEX_0F15) },
29 { PREFIX_TABLE (PREFIX_EVEX_0F16) },
30 { PREFIX_TABLE (PREFIX_EVEX_0F17) },
50 { PREFIX_TABLE (PREFIX_EVEX_0F28) },
51 { PREFIX_TABLE (PREFIX_EVEX_0F29) },
52 { PREFIX_TABLE (PREFIX_EVEX_0F2A) },
53 { PREFIX_TABLE (PREFIX_EVEX_0F2B) },
54 { PREFIX_TABLE (PREFIX_EVEX_0F2C) },
55 { PREFIX_TABLE (PREFIX_EVEX_0F2D) },
56 { PREFIX_TABLE (PREFIX_EVEX_0F2E) },
57 { PREFIX_TABLE (PREFIX_EVEX_0F2F) },
96 { PREFIX_TABLE (PREFIX_EVEX_0F51) },
99 { PREFIX_TABLE (PREFIX_EVEX_0F54) },
100 { PREFIX_TABLE (PREFIX_EVEX_0F55) },
101 { PREFIX_TABLE (PREFIX_EVEX_0F56) },
102 { PREFIX_TABLE (PREFIX_EVEX_0F57) },
104 { PREFIX_TABLE (PREFIX_EVEX_0F58) },
105 { PREFIX_TABLE (PREFIX_EVEX_0F59) },
106 { PREFIX_TABLE (PREFIX_EVEX_0F5A) },
107 { PREFIX_TABLE (PREFIX_EVEX_0F5B) },
108 { PREFIX_TABLE (PREFIX_EVEX_0F5C) },
109 { PREFIX_TABLE (PREFIX_EVEX_0F5D) },
110 { PREFIX_TABLE (PREFIX_EVEX_0F5E) },
111 { PREFIX_TABLE (PREFIX_EVEX_0F5F) },
113 { PREFIX_TABLE (PREFIX_EVEX_0F60) },
114 { PREFIX_TABLE (PREFIX_EVEX_0F61) },
115 { PREFIX_TABLE (PREFIX_EVEX_0F62) },
116 { PREFIX_TABLE (PREFIX_EVEX_0F63) },
117 { PREFIX_TABLE (PREFIX_EVEX_0F64) },
118 { PREFIX_TABLE (PREFIX_EVEX_0F65) },
119 { PREFIX_TABLE (PREFIX_EVEX_0F66) },
120 { PREFIX_TABLE (PREFIX_EVEX_0F67) },
122 { PREFIX_TABLE (PREFIX_EVEX_0F68) },
123 { PREFIX_TABLE (PREFIX_EVEX_0F69) },
124 { PREFIX_TABLE (PREFIX_EVEX_0F6A) },
125 { PREFIX_TABLE (PREFIX_EVEX_0F6B) },
126 { PREFIX_TABLE (PREFIX_EVEX_0F6C) },
127 { PREFIX_TABLE (PREFIX_EVEX_0F6D) },
128 { PREFIX_TABLE (PREFIX_EVEX_0F6E) },
129 { PREFIX_TABLE (PREFIX_EVEX_0F6F) },
131 { PREFIX_TABLE (PREFIX_EVEX_0F70) },
132 { REG_TABLE (REG_EVEX_0F71) },
133 { REG_TABLE (REG_EVEX_0F72) },
134 { REG_TABLE (REG_EVEX_0F73) },
135 { PREFIX_TABLE (PREFIX_EVEX_0F74) },
136 { PREFIX_TABLE (PREFIX_EVEX_0F75) },
137 { PREFIX_TABLE (PREFIX_EVEX_0F76) },
140 { PREFIX_TABLE (PREFIX_EVEX_0F78) },
141 { PREFIX_TABLE (PREFIX_EVEX_0F79) },
142 { PREFIX_TABLE (PREFIX_EVEX_0F7A) },
143 { PREFIX_TABLE (PREFIX_EVEX_0F7B) },
146 { PREFIX_TABLE (PREFIX_EVEX_0F7E) },
147 { PREFIX_TABLE (PREFIX_EVEX_0F7F) },
223 { PREFIX_TABLE (PREFIX_EVEX_0FC2) },
225 { PREFIX_TABLE (PREFIX_EVEX_0FC4) },
226 { PREFIX_TABLE (PREFIX_EVEX_0FC5) },
227 { PREFIX_TABLE (PREFIX_EVEX_0FC6) },
240 { PREFIX_TABLE (PREFIX_EVEX_0FD1) },
241 { PREFIX_TABLE (PREFIX_EVEX_0FD2) },
242 { PREFIX_TABLE (PREFIX_EVEX_0FD3) },
243 { PREFIX_TABLE (PREFIX_EVEX_0FD4) },
244 { PREFIX_TABLE (PREFIX_EVEX_0FD5) },
245 { PREFIX_TABLE (PREFIX_EVEX_0FD6) },
248 { PREFIX_TABLE (PREFIX_EVEX_0FD8) },
249 { PREFIX_TABLE (PREFIX_EVEX_0FD9) },
250 { PREFIX_TABLE (PREFIX_EVEX_0FDA) },
251 { PREFIX_TABLE (PREFIX_EVEX_0FDB) },
252 { PREFIX_TABLE (PREFIX_EVEX_0FDC) },
253 { PREFIX_TABLE (PREFIX_EVEX_0FDD) },
254 { PREFIX_TABLE (PREFIX_EVEX_0FDE) },
255 { PREFIX_TABLE (PREFIX_EVEX_0FDF) },
257 { PREFIX_TABLE (PREFIX_EVEX_0FE0) },
258 { PREFIX_TABLE (PREFIX_EVEX_0FE1) },
259 { PREFIX_TABLE (PREFIX_EVEX_0FE2) },
260 { PREFIX_TABLE (PREFIX_EVEX_0FE3) },
261 { PREFIX_TABLE (PREFIX_EVEX_0FE4) },
262 { PREFIX_TABLE (PREFIX_EVEX_0FE5) },
263 { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
264 { PREFIX_TABLE (PREFIX_EVEX_0FE7) },
266 { PREFIX_TABLE (PREFIX_EVEX_0FE8) },
267 { PREFIX_TABLE (PREFIX_EVEX_0FE9) },
268 { PREFIX_TABLE (PREFIX_EVEX_0FEA) },
269 { PREFIX_TABLE (PREFIX_EVEX_0FEB) },
270 { PREFIX_TABLE (PREFIX_EVEX_0FEC) },
271 { PREFIX_TABLE (PREFIX_EVEX_0FED) },
272 { PREFIX_TABLE (PREFIX_EVEX_0FEE) },
273 { PREFIX_TABLE (PREFIX_EVEX_0FEF) },
276 { PREFIX_TABLE (PREFIX_EVEX_0FF1) },
277 { PREFIX_TABLE (PREFIX_EVEX_0FF2) },
278 { PREFIX_TABLE (PREFIX_EVEX_0FF3) },
279 { PREFIX_TABLE (PREFIX_EVEX_0FF4) },
280 { PREFIX_TABLE (PREFIX_EVEX_0FF5) },
281 { PREFIX_TABLE (PREFIX_EVEX_0FF6) },
284 { PREFIX_TABLE (PREFIX_EVEX_0FF8) },
285 { PREFIX_TABLE (PREFIX_EVEX_0FF9) },
286 { PREFIX_TABLE (PREFIX_EVEX_0FFA) },
287 { PREFIX_TABLE (PREFIX_EVEX_0FFB) },
288 { PREFIX_TABLE (PREFIX_EVEX_0FFC) },
289 { PREFIX_TABLE (PREFIX_EVEX_0FFD) },
290 { PREFIX_TABLE (PREFIX_EVEX_0FFE) },
296 { PREFIX_TABLE (PREFIX_EVEX_0F3800) },
300 { PREFIX_TABLE (PREFIX_EVEX_0F3804) },
308 { PREFIX_TABLE (PREFIX_EVEX_0F380B) },
309 { PREFIX_TABLE (PREFIX_EVEX_0F380C) },
310 { PREFIX_TABLE (PREFIX_EVEX_0F380D) },
314 { PREFIX_TABLE (PREFIX_EVEX_0F3810) },
315 { PREFIX_TABLE (PREFIX_EVEX_0F3811) },
316 { PREFIX_TABLE (PREFIX_EVEX_0F3812) },
317 { PREFIX_TABLE (PREFIX_EVEX_0F3813) },
318 { PREFIX_TABLE (PREFIX_EVEX_0F3814) },
319 { PREFIX_TABLE (PREFIX_EVEX_0F3815) },
320 { PREFIX_TABLE (PREFIX_EVEX_0F3816) },
323 { PREFIX_TABLE (PREFIX_EVEX_0F3818) },
324 { PREFIX_TABLE (PREFIX_EVEX_0F3819) },
325 { PREFIX_TABLE (PREFIX_EVEX_0F381A) },
326 { PREFIX_TABLE (PREFIX_EVEX_0F381B) },
327 { PREFIX_TABLE (PREFIX_EVEX_0F381C) },
328 { PREFIX_TABLE (PREFIX_EVEX_0F381D) },
329 { PREFIX_TABLE (PREFIX_EVEX_0F381E) },
330 { PREFIX_TABLE (PREFIX_EVEX_0F381F) },
332 { PREFIX_TABLE (PREFIX_EVEX_0F3820) },
333 { PREFIX_TABLE (PREFIX_EVEX_0F3821) },
334 { PREFIX_TABLE (PREFIX_EVEX_0F3822) },
335 { PREFIX_TABLE (PREFIX_EVEX_0F3823) },
336 { PREFIX_TABLE (PREFIX_EVEX_0F3824) },
337 { PREFIX_TABLE (PREFIX_EVEX_0F3825) },
338 { PREFIX_TABLE (PREFIX_EVEX_0F3826) },
339 { PREFIX_TABLE (PREFIX_EVEX_0F3827) },
341 { PREFIX_TABLE (PREFIX_EVEX_0F3828) },
342 { PREFIX_TABLE (PREFIX_EVEX_0F3829) },
343 { PREFIX_TABLE (PREFIX_EVEX_0F382A) },
344 { PREFIX_TABLE (PREFIX_EVEX_0F382B) },
345 { PREFIX_TABLE (PREFIX_EVEX_0F382C) },
346 { PREFIX_TABLE (PREFIX_EVEX_0F382D) },
350 { PREFIX_TABLE (PREFIX_EVEX_0F3830) },
351 { PREFIX_TABLE (PREFIX_EVEX_0F3831) },
352 { PREFIX_TABLE (PREFIX_EVEX_0F3832) },
353 { PREFIX_TABLE (PREFIX_EVEX_0F3833) },
354 { PREFIX_TABLE (PREFIX_EVEX_0F3834) },
355 { PREFIX_TABLE (PREFIX_EVEX_0F3835) },
356 { PREFIX_TABLE (PREFIX_EVEX_0F3836) },
357 { PREFIX_TABLE (PREFIX_EVEX_0F3837) },
359 { PREFIX_TABLE (PREFIX_EVEX_0F3838) },
360 { PREFIX_TABLE (PREFIX_EVEX_0F3839) },
361 { PREFIX_TABLE (PREFIX_EVEX_0F383A) },
362 { PREFIX_TABLE (PREFIX_EVEX_0F383B) },
363 { PREFIX_TABLE (PREFIX_EVEX_0F383C) },
364 { PREFIX_TABLE (PREFIX_EVEX_0F383D) },
365 { PREFIX_TABLE (PREFIX_EVEX_0F383E) },
366 { PREFIX_TABLE (PREFIX_EVEX_0F383F) },
368 { PREFIX_TABLE (PREFIX_EVEX_0F3840) },
370 { PREFIX_TABLE (PREFIX_EVEX_0F3842) },
371 { PREFIX_TABLE (PREFIX_EVEX_0F3843) },
372 { PREFIX_TABLE (PREFIX_EVEX_0F3844) },
373 { PREFIX_TABLE (PREFIX_EVEX_0F3845) },
374 { PREFIX_TABLE (PREFIX_EVEX_0F3846) },
375 { PREFIX_TABLE (PREFIX_EVEX_0F3847) },
381 { PREFIX_TABLE (PREFIX_EVEX_0F384C) },
382 { PREFIX_TABLE (PREFIX_EVEX_0F384D) },
383 { PREFIX_TABLE (PREFIX_EVEX_0F384E) },
384 { PREFIX_TABLE (PREFIX_EVEX_0F384F) },
386 { PREFIX_TABLE (PREFIX_EVEX_0F3850) },
387 { PREFIX_TABLE (PREFIX_EVEX_0F3851) },
388 { PREFIX_TABLE (PREFIX_EVEX_0F3852) },
389 { PREFIX_TABLE (PREFIX_EVEX_0F3853) },
390 { PREFIX_TABLE (PREFIX_EVEX_0F3854) },
391 { PREFIX_TABLE (PREFIX_EVEX_0F3855) },
395 { PREFIX_TABLE (PREFIX_EVEX_0F3858) },
396 { PREFIX_TABLE (PREFIX_EVEX_0F3859) },
397 { PREFIX_TABLE (PREFIX_EVEX_0F385A) },
398 { PREFIX_TABLE (PREFIX_EVEX_0F385B) },
406 { PREFIX_TABLE (PREFIX_EVEX_0F3862) },
407 { PREFIX_TABLE (PREFIX_EVEX_0F3863) },
408 { PREFIX_TABLE (PREFIX_EVEX_0F3864) },
409 { PREFIX_TABLE (PREFIX_EVEX_0F3865) },
410 { PREFIX_TABLE (PREFIX_EVEX_0F3866) },
413 { PREFIX_TABLE (PREFIX_EVEX_0F3868) },
422 { PREFIX_TABLE (PREFIX_EVEX_0F3870) },
423 { PREFIX_TABLE (PREFIX_EVEX_0F3871) },
424 { PREFIX_TABLE (PREFIX_EVEX_0F3872) },
425 { PREFIX_TABLE (PREFIX_EVEX_0F3873) },
427 { PREFIX_TABLE (PREFIX_EVEX_0F3875) },
428 { PREFIX_TABLE (PREFIX_EVEX_0F3876) },
429 { PREFIX_TABLE (PREFIX_EVEX_0F3877) },
431 { PREFIX_TABLE (PREFIX_EVEX_0F3878) },
432 { PREFIX_TABLE (PREFIX_EVEX_0F3879) },
433 { PREFIX_TABLE (PREFIX_EVEX_0F387A) },
434 { PREFIX_TABLE (PREFIX_EVEX_0F387B) },
435 { PREFIX_TABLE (PREFIX_EVEX_0F387C) },
436 { PREFIX_TABLE (PREFIX_EVEX_0F387D) },
437 { PREFIX_TABLE (PREFIX_EVEX_0F387E) },
438 { PREFIX_TABLE (PREFIX_EVEX_0F387F) },
443 { PREFIX_TABLE (PREFIX_EVEX_0F3883) },
449 { PREFIX_TABLE (PREFIX_EVEX_0F3888) },
450 { PREFIX_TABLE (PREFIX_EVEX_0F3889) },
451 { PREFIX_TABLE (PREFIX_EVEX_0F388A) },
452 { PREFIX_TABLE (PREFIX_EVEX_0F388B) },
454 { PREFIX_TABLE (PREFIX_EVEX_0F388D) },
456 { PREFIX_TABLE (PREFIX_EVEX_0F388F) },
458 { PREFIX_TABLE (PREFIX_EVEX_0F3890) },
459 { PREFIX_TABLE (PREFIX_EVEX_0F3891) },
460 { PREFIX_TABLE (PREFIX_EVEX_0F3892) },
461 { PREFIX_TABLE (PREFIX_EVEX_0F3893) },
464 { PREFIX_TABLE (PREFIX_EVEX_0F3896) },
465 { PREFIX_TABLE (PREFIX_EVEX_0F3897) },
467 { PREFIX_TABLE (PREFIX_EVEX_0F3898) },
468 { PREFIX_TABLE (PREFIX_EVEX_0F3899) },
469 { PREFIX_TABLE (PREFIX_EVEX_0F389A) },
470 { PREFIX_TABLE (PREFIX_EVEX_0F389B) },
471 { PREFIX_TABLE (PREFIX_EVEX_0F389C) },
472 { PREFIX_TABLE (PREFIX_EVEX_0F389D) },
473 { PREFIX_TABLE (PREFIX_EVEX_0F389E) },
474 { PREFIX_TABLE (PREFIX_EVEX_0F389F) },
476 { PREFIX_TABLE (PREFIX_EVEX_0F38A0) },
477 { PREFIX_TABLE (PREFIX_EVEX_0F38A1) },
478 { PREFIX_TABLE (PREFIX_EVEX_0F38A2) },
479 { PREFIX_TABLE (PREFIX_EVEX_0F38A3) },
482 { PREFIX_TABLE (PREFIX_EVEX_0F38A6) },
483 { PREFIX_TABLE (PREFIX_EVEX_0F38A7) },
485 { PREFIX_TABLE (PREFIX_EVEX_0F38A8) },
486 { PREFIX_TABLE (PREFIX_EVEX_0F38A9) },
487 { PREFIX_TABLE (PREFIX_EVEX_0F38AA) },
488 { PREFIX_TABLE (PREFIX_EVEX_0F38AB) },
489 { PREFIX_TABLE (PREFIX_EVEX_0F38AC) },
490 { PREFIX_TABLE (PREFIX_EVEX_0F38AD) },
491 { PREFIX_TABLE (PREFIX_EVEX_0F38AE) },
492 { PREFIX_TABLE (PREFIX_EVEX_0F38AF) },
498 { PREFIX_TABLE (PREFIX_EVEX_0F38B4) },
499 { PREFIX_TABLE (PREFIX_EVEX_0F38B5) },
500 { PREFIX_TABLE (PREFIX_EVEX_0F38B6) },
501 { PREFIX_TABLE (PREFIX_EVEX_0F38B7) },
503 { PREFIX_TABLE (PREFIX_EVEX_0F38B8) },
504 { PREFIX_TABLE (PREFIX_EVEX_0F38B9) },
505 { PREFIX_TABLE (PREFIX_EVEX_0F38BA) },
506 { PREFIX_TABLE (PREFIX_EVEX_0F38BB) },
507 { PREFIX_TABLE (PREFIX_EVEX_0F38BC) },
508 { PREFIX_TABLE (PREFIX_EVEX_0F38BD) },
509 { PREFIX_TABLE (PREFIX_EVEX_0F38BE) },
510 { PREFIX_TABLE (PREFIX_EVEX_0F38BF) },
516 { PREFIX_TABLE (PREFIX_EVEX_0F38C4) },
518 { REG_TABLE (REG_EVEX_0F38C6) },
519 { REG_TABLE (REG_EVEX_0F38C7) },
521 { PREFIX_TABLE (PREFIX_EVEX_0F38C8) },
523 { PREFIX_TABLE (PREFIX_EVEX_0F38CA) },
524 { PREFIX_TABLE (PREFIX_EVEX_0F38CB) },
525 { PREFIX_TABLE (PREFIX_EVEX_0F38CC) },
526 { PREFIX_TABLE (PREFIX_EVEX_0F38CD) },
528 { PREFIX_TABLE (PREFIX_EVEX_0F38CF) },
543 { PREFIX_TABLE (PREFIX_EVEX_0F38DC) },
544 { PREFIX_TABLE (PREFIX_EVEX_0F38DD) },
545 { PREFIX_TABLE (PREFIX_EVEX_0F38DE) },
546 { PREFIX_TABLE (PREFIX_EVEX_0F38DF) },
587 { PREFIX_TABLE (PREFIX_EVEX_0F3A00) },
588 { PREFIX_TABLE (PREFIX_EVEX_0F3A01) },
590 { PREFIX_TABLE (PREFIX_EVEX_0F3A03) },
591 { PREFIX_TABLE (PREFIX_EVEX_0F3A04) },
592 { PREFIX_TABLE (PREFIX_EVEX_0F3A05) },
596 { PREFIX_TABLE (PREFIX_EVEX_0F3A08) },
597 { PREFIX_TABLE (PREFIX_EVEX_0F3A09) },
598 { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) },
599 { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) },
603 { PREFIX_TABLE (PREFIX_EVEX_0F3A0F) },
609 { PREFIX_TABLE (PREFIX_EVEX_0F3A14) },
610 { PREFIX_TABLE (PREFIX_EVEX_0F3A15) },
611 { PREFIX_TABLE (PREFIX_EVEX_0F3A16) },
612 { PREFIX_TABLE (PREFIX_EVEX_0F3A17) },
614 { PREFIX_TABLE (PREFIX_EVEX_0F3A18) },
615 { PREFIX_TABLE (PREFIX_EVEX_0F3A19) },
616 { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) },
617 { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) },
619 { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) },
620 { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) },
621 { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) },
623 { PREFIX_TABLE (PREFIX_EVEX_0F3A20) },
624 { PREFIX_TABLE (PREFIX_EVEX_0F3A21) },
625 { PREFIX_TABLE (PREFIX_EVEX_0F3A22) },
626 { PREFIX_TABLE (PREFIX_EVEX_0F3A23) },
628 { PREFIX_TABLE (PREFIX_EVEX_0F3A25) },
629 { PREFIX_TABLE (PREFIX_EVEX_0F3A26) },
630 { PREFIX_TABLE (PREFIX_EVEX_0F3A27) },
650 { PREFIX_TABLE (PREFIX_EVEX_0F3A38) },
651 { PREFIX_TABLE (PREFIX_EVEX_0F3A39) },
652 { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) },
653 { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) },
656 { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) },
657 { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) },
661 { PREFIX_TABLE (PREFIX_EVEX_0F3A42) },
662 { PREFIX_TABLE (PREFIX_EVEX_0F3A43) },
663 { PREFIX_TABLE (PREFIX_EVEX_0F3A44) },
677 { PREFIX_TABLE (PREFIX_EVEX_0F3A50) },
678 { PREFIX_TABLE (PREFIX_EVEX_0F3A51) },
681 { PREFIX_TABLE (PREFIX_EVEX_0F3A54) },
682 { PREFIX_TABLE (PREFIX_EVEX_0F3A55) },
683 { PREFIX_TABLE (PREFIX_EVEX_0F3A56) },
684 { PREFIX_TABLE (PREFIX_EVEX_0F3A57) },
701 { PREFIX_TABLE (PREFIX_EVEX_0F3A66) },
702 { PREFIX_TABLE (PREFIX_EVEX_0F3A67) },
713 { PREFIX_TABLE (PREFIX_EVEX_0F3A70) },
714 { PREFIX_TABLE (PREFIX_EVEX_0F3A71) },
715 { PREFIX_TABLE (PREFIX_EVEX_0F3A72) },
716 { PREFIX_TABLE (PREFIX_EVEX_0F3A73) },
818 { PREFIX_TABLE (PREFIX_EVEX_0F3ACE) },
819 { PREFIX_TABLE (PREFIX_EVEX_0F3ACF) },