1 #ifdef NEED_OPCODE_TABLE
3 static const struct dis386 evex_table[][256] = {
25 { PREFIX_TABLE (PREFIX_EVEX_0F10) },
26 { PREFIX_TABLE (PREFIX_EVEX_0F11) },
27 { PREFIX_TABLE (PREFIX_EVEX_0F12) },
28 { PREFIX_TABLE (PREFIX_EVEX_0F13) },
29 { PREFIX_TABLE (PREFIX_EVEX_0F14) },
30 { PREFIX_TABLE (PREFIX_EVEX_0F15) },
31 { PREFIX_TABLE (PREFIX_EVEX_0F16) },
32 { PREFIX_TABLE (PREFIX_EVEX_0F17) },
52 { PREFIX_TABLE (PREFIX_EVEX_0F28) },
53 { PREFIX_TABLE (PREFIX_EVEX_0F29) },
54 { PREFIX_TABLE (PREFIX_EVEX_0F2A) },
55 { PREFIX_TABLE (PREFIX_EVEX_0F2B) },
56 { PREFIX_TABLE (PREFIX_EVEX_0F2C) },
57 { PREFIX_TABLE (PREFIX_EVEX_0F2D) },
58 { PREFIX_TABLE (PREFIX_EVEX_0F2E) },
59 { PREFIX_TABLE (PREFIX_EVEX_0F2F) },
98 { PREFIX_TABLE (PREFIX_EVEX_0F51) },
106 { PREFIX_TABLE (PREFIX_EVEX_0F58) },
107 { PREFIX_TABLE (PREFIX_EVEX_0F59) },
108 { PREFIX_TABLE (PREFIX_EVEX_0F5A) },
109 { PREFIX_TABLE (PREFIX_EVEX_0F5B) },
110 { PREFIX_TABLE (PREFIX_EVEX_0F5C) },
111 { PREFIX_TABLE (PREFIX_EVEX_0F5D) },
112 { PREFIX_TABLE (PREFIX_EVEX_0F5E) },
113 { PREFIX_TABLE (PREFIX_EVEX_0F5F) },
117 { PREFIX_TABLE (PREFIX_EVEX_0F62) },
121 { PREFIX_TABLE (PREFIX_EVEX_0F66) },
126 { PREFIX_TABLE (PREFIX_EVEX_0F6A) },
128 { PREFIX_TABLE (PREFIX_EVEX_0F6C) },
129 { PREFIX_TABLE (PREFIX_EVEX_0F6D) },
130 { PREFIX_TABLE (PREFIX_EVEX_0F6E) },
131 { PREFIX_TABLE (PREFIX_EVEX_0F6F) },
133 { PREFIX_TABLE (PREFIX_EVEX_0F70) },
135 { REG_TABLE (REG_EVEX_0F72) },
136 { REG_TABLE (REG_EVEX_0F73) },
139 { PREFIX_TABLE (PREFIX_EVEX_0F76) },
142 { PREFIX_TABLE (PREFIX_EVEX_0F78) },
143 { PREFIX_TABLE (PREFIX_EVEX_0F79) },
144 { PREFIX_TABLE (PREFIX_EVEX_0F7A) },
145 { PREFIX_TABLE (PREFIX_EVEX_0F7B) },
148 { PREFIX_TABLE (PREFIX_EVEX_0F7E) },
149 { PREFIX_TABLE (PREFIX_EVEX_0F7F) },
225 { PREFIX_TABLE (PREFIX_EVEX_0FC2) },
229 { PREFIX_TABLE (PREFIX_EVEX_0FC6) },
243 { PREFIX_TABLE (PREFIX_EVEX_0FD2) },
244 { PREFIX_TABLE (PREFIX_EVEX_0FD3) },
245 { PREFIX_TABLE (PREFIX_EVEX_0FD4) },
247 { PREFIX_TABLE (PREFIX_EVEX_0FD6) },
253 { PREFIX_TABLE (PREFIX_EVEX_0FDB) },
257 { PREFIX_TABLE (PREFIX_EVEX_0FDF) },
261 { PREFIX_TABLE (PREFIX_EVEX_0FE2) },
265 { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
266 { PREFIX_TABLE (PREFIX_EVEX_0FE7) },
271 { PREFIX_TABLE (PREFIX_EVEX_0FEB) },
275 { PREFIX_TABLE (PREFIX_EVEX_0FEF) },
279 { PREFIX_TABLE (PREFIX_EVEX_0FF2) },
280 { PREFIX_TABLE (PREFIX_EVEX_0FF3) },
281 { PREFIX_TABLE (PREFIX_EVEX_0FF4) },
288 { PREFIX_TABLE (PREFIX_EVEX_0FFA) },
289 { PREFIX_TABLE (PREFIX_EVEX_0FFB) },
292 { PREFIX_TABLE (PREFIX_EVEX_0FFE) },
311 { PREFIX_TABLE (PREFIX_EVEX_0F380C) },
312 { PREFIX_TABLE (PREFIX_EVEX_0F380D) },
317 { PREFIX_TABLE (PREFIX_EVEX_0F3811) },
318 { PREFIX_TABLE (PREFIX_EVEX_0F3812) },
319 { PREFIX_TABLE (PREFIX_EVEX_0F3813) },
320 { PREFIX_TABLE (PREFIX_EVEX_0F3814) },
321 { PREFIX_TABLE (PREFIX_EVEX_0F3815) },
322 { PREFIX_TABLE (PREFIX_EVEX_0F3816) },
325 { PREFIX_TABLE (PREFIX_EVEX_0F3818) },
326 { PREFIX_TABLE (PREFIX_EVEX_0F3819) },
327 { PREFIX_TABLE (PREFIX_EVEX_0F381A) },
328 { PREFIX_TABLE (PREFIX_EVEX_0F381B) },
331 { PREFIX_TABLE (PREFIX_EVEX_0F381E) },
332 { PREFIX_TABLE (PREFIX_EVEX_0F381F) },
335 { PREFIX_TABLE (PREFIX_EVEX_0F3821) },
336 { PREFIX_TABLE (PREFIX_EVEX_0F3822) },
337 { PREFIX_TABLE (PREFIX_EVEX_0F3823) },
338 { PREFIX_TABLE (PREFIX_EVEX_0F3824) },
339 { PREFIX_TABLE (PREFIX_EVEX_0F3825) },
341 { PREFIX_TABLE (PREFIX_EVEX_0F3827) },
343 { PREFIX_TABLE (PREFIX_EVEX_0F3828) },
344 { PREFIX_TABLE (PREFIX_EVEX_0F3829) },
345 { PREFIX_TABLE (PREFIX_EVEX_0F382A) },
347 { PREFIX_TABLE (PREFIX_EVEX_0F382C) },
348 { PREFIX_TABLE (PREFIX_EVEX_0F382D) },
353 { PREFIX_TABLE (PREFIX_EVEX_0F3831) },
354 { PREFIX_TABLE (PREFIX_EVEX_0F3832) },
355 { PREFIX_TABLE (PREFIX_EVEX_0F3833) },
356 { PREFIX_TABLE (PREFIX_EVEX_0F3834) },
357 { PREFIX_TABLE (PREFIX_EVEX_0F3835) },
358 { PREFIX_TABLE (PREFIX_EVEX_0F3836) },
359 { PREFIX_TABLE (PREFIX_EVEX_0F3837) },
362 { PREFIX_TABLE (PREFIX_EVEX_0F3839) },
363 { PREFIX_TABLE (PREFIX_EVEX_0F383A) },
364 { PREFIX_TABLE (PREFIX_EVEX_0F383B) },
366 { PREFIX_TABLE (PREFIX_EVEX_0F383D) },
368 { PREFIX_TABLE (PREFIX_EVEX_0F383F) },
370 { PREFIX_TABLE (PREFIX_EVEX_0F3840) },
372 { PREFIX_TABLE (PREFIX_EVEX_0F3842) },
373 { PREFIX_TABLE (PREFIX_EVEX_0F3843) },
374 { PREFIX_TABLE (PREFIX_EVEX_0F3844) },
375 { PREFIX_TABLE (PREFIX_EVEX_0F3845) },
376 { PREFIX_TABLE (PREFIX_EVEX_0F3846) },
377 { PREFIX_TABLE (PREFIX_EVEX_0F3847) },
383 { PREFIX_TABLE (PREFIX_EVEX_0F384C) },
384 { PREFIX_TABLE (PREFIX_EVEX_0F384D) },
385 { PREFIX_TABLE (PREFIX_EVEX_0F384E) },
386 { PREFIX_TABLE (PREFIX_EVEX_0F384F) },
397 { PREFIX_TABLE (PREFIX_EVEX_0F3858) },
398 { PREFIX_TABLE (PREFIX_EVEX_0F3859) },
399 { PREFIX_TABLE (PREFIX_EVEX_0F385A) },
400 { PREFIX_TABLE (PREFIX_EVEX_0F385B) },
410 { PREFIX_TABLE (PREFIX_EVEX_0F3864) },
411 { PREFIX_TABLE (PREFIX_EVEX_0F3865) },
430 { PREFIX_TABLE (PREFIX_EVEX_0F3876) },
431 { PREFIX_TABLE (PREFIX_EVEX_0F3877) },
437 { PREFIX_TABLE (PREFIX_EVEX_0F387C) },
439 { PREFIX_TABLE (PREFIX_EVEX_0F387E) },
440 { PREFIX_TABLE (PREFIX_EVEX_0F387F) },
451 { PREFIX_TABLE (PREFIX_EVEX_0F3888) },
452 { PREFIX_TABLE (PREFIX_EVEX_0F3889) },
453 { PREFIX_TABLE (PREFIX_EVEX_0F388A) },
454 { PREFIX_TABLE (PREFIX_EVEX_0F388B) },
460 { PREFIX_TABLE (PREFIX_EVEX_0F3890) },
461 { PREFIX_TABLE (PREFIX_EVEX_0F3891) },
462 { PREFIX_TABLE (PREFIX_EVEX_0F3892) },
463 { PREFIX_TABLE (PREFIX_EVEX_0F3893) },
466 { PREFIX_TABLE (PREFIX_EVEX_0F3896) },
467 { PREFIX_TABLE (PREFIX_EVEX_0F3897) },
469 { PREFIX_TABLE (PREFIX_EVEX_0F3898) },
470 { PREFIX_TABLE (PREFIX_EVEX_0F3899) },
471 { PREFIX_TABLE (PREFIX_EVEX_0F389A) },
472 { PREFIX_TABLE (PREFIX_EVEX_0F389B) },
473 { PREFIX_TABLE (PREFIX_EVEX_0F389C) },
474 { PREFIX_TABLE (PREFIX_EVEX_0F389D) },
475 { PREFIX_TABLE (PREFIX_EVEX_0F389E) },
476 { PREFIX_TABLE (PREFIX_EVEX_0F389F) },
478 { PREFIX_TABLE (PREFIX_EVEX_0F38A0) },
479 { PREFIX_TABLE (PREFIX_EVEX_0F38A1) },
480 { PREFIX_TABLE (PREFIX_EVEX_0F38A2) },
481 { PREFIX_TABLE (PREFIX_EVEX_0F38A3) },
484 { PREFIX_TABLE (PREFIX_EVEX_0F38A6) },
485 { PREFIX_TABLE (PREFIX_EVEX_0F38A7) },
487 { PREFIX_TABLE (PREFIX_EVEX_0F38A8) },
488 { PREFIX_TABLE (PREFIX_EVEX_0F38A9) },
489 { PREFIX_TABLE (PREFIX_EVEX_0F38AA) },
490 { PREFIX_TABLE (PREFIX_EVEX_0F38AB) },
491 { PREFIX_TABLE (PREFIX_EVEX_0F38AC) },
492 { PREFIX_TABLE (PREFIX_EVEX_0F38AD) },
493 { PREFIX_TABLE (PREFIX_EVEX_0F38AE) },
494 { PREFIX_TABLE (PREFIX_EVEX_0F38AF) },
502 { PREFIX_TABLE (PREFIX_EVEX_0F38B6) },
503 { PREFIX_TABLE (PREFIX_EVEX_0F38B7) },
505 { PREFIX_TABLE (PREFIX_EVEX_0F38B8) },
506 { PREFIX_TABLE (PREFIX_EVEX_0F38B9) },
507 { PREFIX_TABLE (PREFIX_EVEX_0F38BA) },
508 { PREFIX_TABLE (PREFIX_EVEX_0F38BB) },
509 { PREFIX_TABLE (PREFIX_EVEX_0F38BC) },
510 { PREFIX_TABLE (PREFIX_EVEX_0F38BD) },
511 { PREFIX_TABLE (PREFIX_EVEX_0F38BE) },
512 { PREFIX_TABLE (PREFIX_EVEX_0F38BF) },
518 { PREFIX_TABLE (PREFIX_EVEX_0F38C4) },
520 { REG_TABLE (REG_EVEX_0F38C6) },
521 { REG_TABLE (REG_EVEX_0F38C7) },
523 { PREFIX_TABLE (PREFIX_EVEX_0F38C8) },
525 { PREFIX_TABLE (PREFIX_EVEX_0F38CA) },
526 { PREFIX_TABLE (PREFIX_EVEX_0F38CB) },
527 { PREFIX_TABLE (PREFIX_EVEX_0F38CC) },
528 { PREFIX_TABLE (PREFIX_EVEX_0F38CD) },
589 { PREFIX_TABLE (PREFIX_EVEX_0F3A00) },
590 { PREFIX_TABLE (PREFIX_EVEX_0F3A01) },
592 { PREFIX_TABLE (PREFIX_EVEX_0F3A03) },
593 { PREFIX_TABLE (PREFIX_EVEX_0F3A04) },
594 { PREFIX_TABLE (PREFIX_EVEX_0F3A05) },
598 { PREFIX_TABLE (PREFIX_EVEX_0F3A08) },
599 { PREFIX_TABLE (PREFIX_EVEX_0F3A09) },
600 { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) },
601 { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) },
614 { PREFIX_TABLE (PREFIX_EVEX_0F3A17) },
616 { PREFIX_TABLE (PREFIX_EVEX_0F3A18) },
617 { PREFIX_TABLE (PREFIX_EVEX_0F3A19) },
618 { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) },
619 { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) },
621 { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) },
622 { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) },
623 { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) },
626 { PREFIX_TABLE (PREFIX_EVEX_0F3A21) },
628 { PREFIX_TABLE (PREFIX_EVEX_0F3A23) },
630 { PREFIX_TABLE (PREFIX_EVEX_0F3A25) },
631 { PREFIX_TABLE (PREFIX_EVEX_0F3A26) },
632 { PREFIX_TABLE (PREFIX_EVEX_0F3A27) },
652 { PREFIX_TABLE (PREFIX_EVEX_0F3A38) },
653 { PREFIX_TABLE (PREFIX_EVEX_0F3A39) },
654 { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) },
655 { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) },
658 { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) },
659 { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) },
664 { PREFIX_TABLE (PREFIX_EVEX_0F3A43) },
683 { PREFIX_TABLE (PREFIX_EVEX_0F3A54) },
684 { PREFIX_TABLE (PREFIX_EVEX_0F3A55) },
878 #endif /* NEED_OPCODE_TABLE */
880 #ifdef NEED_REG_TABLE
883 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_0) },
884 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_1) },
885 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_2) },
887 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_4) },
889 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_6) },
895 { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_2) },
899 { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_6) },
901 /* REG_EVEX_0F38C6 */
904 { MOD_TABLE (MOD_EVEX_0F38C6_REG_1) },
905 { MOD_TABLE (MOD_EVEX_0F38C6_REG_2) },
908 { MOD_TABLE (MOD_EVEX_0F38C6_REG_5) },
909 { MOD_TABLE (MOD_EVEX_0F38C6_REG_6) },
911 /* REG_EVEX_0F38C7 */
914 { MOD_TABLE (MOD_EVEX_0F38C7_REG_1) },
915 { MOD_TABLE (MOD_EVEX_0F38C7_REG_2) },
918 { MOD_TABLE (MOD_EVEX_0F38C7_REG_5) },
919 { MOD_TABLE (MOD_EVEX_0F38C7_REG_6) },
921 #endif /* NEED_REG_TABLE */
923 #ifdef NEED_PREFIX_TABLE
924 /* PREFIX_EVEX_0F10 */
926 { VEX_W_TABLE (EVEX_W_0F10_P_0) },
927 { MOD_TABLE (MOD_EVEX_0F10_PREFIX_1) },
928 { VEX_W_TABLE (EVEX_W_0F10_P_2) },
929 { MOD_TABLE (MOD_EVEX_0F10_PREFIX_3) },
931 /* PREFIX_EVEX_0F11 */
933 { VEX_W_TABLE (EVEX_W_0F11_P_0) },
934 { MOD_TABLE (MOD_EVEX_0F11_PREFIX_1) },
935 { VEX_W_TABLE (EVEX_W_0F11_P_2) },
936 { MOD_TABLE (MOD_EVEX_0F11_PREFIX_3) },
938 /* PREFIX_EVEX_0F12 */
940 { MOD_TABLE (MOD_EVEX_0F12_PREFIX_0) },
941 { VEX_W_TABLE (EVEX_W_0F12_P_1) },
942 { VEX_W_TABLE (EVEX_W_0F12_P_2) },
943 { VEX_W_TABLE (EVEX_W_0F12_P_3) },
945 /* PREFIX_EVEX_0F13 */
947 { VEX_W_TABLE (EVEX_W_0F13_P_0) },
949 { VEX_W_TABLE (EVEX_W_0F13_P_2) },
951 /* PREFIX_EVEX_0F14 */
953 { VEX_W_TABLE (EVEX_W_0F14_P_0) },
955 { VEX_W_TABLE (EVEX_W_0F14_P_2) },
957 /* PREFIX_EVEX_0F15 */
959 { VEX_W_TABLE (EVEX_W_0F15_P_0) },
961 { VEX_W_TABLE (EVEX_W_0F15_P_2) },
963 /* PREFIX_EVEX_0F16 */
965 { MOD_TABLE (MOD_EVEX_0F16_PREFIX_0) },
966 { VEX_W_TABLE (EVEX_W_0F16_P_1) },
967 { VEX_W_TABLE (EVEX_W_0F16_P_2) },
969 /* PREFIX_EVEX_0F17 */
971 { VEX_W_TABLE (EVEX_W_0F17_P_0) },
973 { VEX_W_TABLE (EVEX_W_0F17_P_2) },
975 /* PREFIX_EVEX_0F28 */
977 { VEX_W_TABLE (EVEX_W_0F28_P_0) },
979 { VEX_W_TABLE (EVEX_W_0F28_P_2) },
981 /* PREFIX_EVEX_0F29 */
983 { VEX_W_TABLE (EVEX_W_0F29_P_0) },
985 { VEX_W_TABLE (EVEX_W_0F29_P_2) },
987 /* PREFIX_EVEX_0F2A */
990 { VEX_W_TABLE (EVEX_W_0F2A_P_1) },
992 { VEX_W_TABLE (EVEX_W_0F2A_P_3) },
994 /* PREFIX_EVEX_0F2B */
996 { VEX_W_TABLE (EVEX_W_0F2B_P_0) },
998 { VEX_W_TABLE (EVEX_W_0F2B_P_2) },
1000 /* PREFIX_EVEX_0F2C */
1003 { "vcvttss2si", { Gdq, EXxmm_md, EXxEVexS } },
1005 { "vcvttsd2si", { Gdq, EXxmm_mq, EXxEVexS } },
1007 /* PREFIX_EVEX_0F2D */
1010 { "vcvtss2si", { Gdq, EXxmm_md, EXxEVexR } },
1012 { "vcvtsd2si", { Gdq, EXxmm_mq, EXxEVexR } },
1014 /* PREFIX_EVEX_0F2E */
1016 { VEX_W_TABLE (EVEX_W_0F2E_P_0) },
1018 { VEX_W_TABLE (EVEX_W_0F2E_P_2) },
1020 /* PREFIX_EVEX_0F2F */
1022 { VEX_W_TABLE (EVEX_W_0F2F_P_0) },
1024 { VEX_W_TABLE (EVEX_W_0F2F_P_2) },
1026 /* PREFIX_EVEX_0F51 */
1028 { VEX_W_TABLE (EVEX_W_0F51_P_0) },
1029 { VEX_W_TABLE (EVEX_W_0F51_P_1) },
1030 { VEX_W_TABLE (EVEX_W_0F51_P_2) },
1031 { VEX_W_TABLE (EVEX_W_0F51_P_3) },
1033 /* PREFIX_EVEX_0F58 */
1035 { VEX_W_TABLE (EVEX_W_0F58_P_0) },
1036 { VEX_W_TABLE (EVEX_W_0F58_P_1) },
1037 { VEX_W_TABLE (EVEX_W_0F58_P_2) },
1038 { VEX_W_TABLE (EVEX_W_0F58_P_3) },
1040 /* PREFIX_EVEX_0F59 */
1042 { VEX_W_TABLE (EVEX_W_0F59_P_0) },
1043 { VEX_W_TABLE (EVEX_W_0F59_P_1) },
1044 { VEX_W_TABLE (EVEX_W_0F59_P_2) },
1045 { VEX_W_TABLE (EVEX_W_0F59_P_3) },
1047 /* PREFIX_EVEX_0F5A */
1049 { VEX_W_TABLE (EVEX_W_0F5A_P_0) },
1050 { VEX_W_TABLE (EVEX_W_0F5A_P_1) },
1051 { VEX_W_TABLE (EVEX_W_0F5A_P_2) },
1052 { VEX_W_TABLE (EVEX_W_0F5A_P_3) },
1054 /* PREFIX_EVEX_0F5B */
1056 { VEX_W_TABLE (EVEX_W_0F5B_P_0) },
1057 { VEX_W_TABLE (EVEX_W_0F5B_P_1) },
1058 { VEX_W_TABLE (EVEX_W_0F5B_P_2) },
1060 /* PREFIX_EVEX_0F5C */
1062 { VEX_W_TABLE (EVEX_W_0F5C_P_0) },
1063 { VEX_W_TABLE (EVEX_W_0F5C_P_1) },
1064 { VEX_W_TABLE (EVEX_W_0F5C_P_2) },
1065 { VEX_W_TABLE (EVEX_W_0F5C_P_3) },
1067 /* PREFIX_EVEX_0F5D */
1069 { VEX_W_TABLE (EVEX_W_0F5D_P_0) },
1070 { VEX_W_TABLE (EVEX_W_0F5D_P_1) },
1071 { VEX_W_TABLE (EVEX_W_0F5D_P_2) },
1072 { VEX_W_TABLE (EVEX_W_0F5D_P_3) },
1074 /* PREFIX_EVEX_0F5E */
1076 { VEX_W_TABLE (EVEX_W_0F5E_P_0) },
1077 { VEX_W_TABLE (EVEX_W_0F5E_P_1) },
1078 { VEX_W_TABLE (EVEX_W_0F5E_P_2) },
1079 { VEX_W_TABLE (EVEX_W_0F5E_P_3) },
1081 /* PREFIX_EVEX_0F5F */
1083 { VEX_W_TABLE (EVEX_W_0F5F_P_0) },
1084 { VEX_W_TABLE (EVEX_W_0F5F_P_1) },
1085 { VEX_W_TABLE (EVEX_W_0F5F_P_2) },
1086 { VEX_W_TABLE (EVEX_W_0F5F_P_3) },
1088 /* PREFIX_EVEX_0F62 */
1092 { VEX_W_TABLE (EVEX_W_0F62_P_2) },
1094 /* PREFIX_EVEX_0F66 */
1098 { VEX_W_TABLE (EVEX_W_0F66_P_2) },
1100 /* PREFIX_EVEX_0F6A */
1104 { VEX_W_TABLE (EVEX_W_0F6A_P_2) },
1106 /* PREFIX_EVEX_0F6C */
1110 { VEX_W_TABLE (EVEX_W_0F6C_P_2) },
1112 /* PREFIX_EVEX_0F6D */
1116 { VEX_W_TABLE (EVEX_W_0F6D_P_2) },
1118 /* PREFIX_EVEX_0F6E */
1122 { VEX_W_TABLE (EVEX_W_0F6E_P_2) },
1124 /* PREFIX_EVEX_0F6F */
1127 { VEX_W_TABLE (EVEX_W_0F6F_P_1) },
1128 { VEX_W_TABLE (EVEX_W_0F6F_P_2) },
1130 /* PREFIX_EVEX_0F70 */
1134 { VEX_W_TABLE (EVEX_W_0F70_P_2) },
1136 /* PREFIX_EVEX_0F72_REG_0 */
1140 { "vpror%LW", { Vex, EXx, Ib } },
1142 /* PREFIX_EVEX_0F72_REG_1 */
1146 { "vprol%LW", { Vex, EXx, Ib } },
1148 /* PREFIX_EVEX_0F72_REG_2 */
1152 { VEX_W_TABLE (EVEX_W_0F72_R_2_P_2) },
1154 /* PREFIX_EVEX_0F72_REG_4 */
1158 { "vpsra%LW", { Vex, EXx, Ib } },
1160 /* PREFIX_EVEX_0F72_REG_6 */
1164 { VEX_W_TABLE (EVEX_W_0F72_R_6_P_2) },
1166 /* PREFIX_EVEX_0F73_REG_2 */
1170 { VEX_W_TABLE (EVEX_W_0F73_R_2_P_2) },
1172 /* PREFIX_EVEX_0F73_REG_6 */
1176 { VEX_W_TABLE (EVEX_W_0F73_R_6_P_2) },
1178 /* PREFIX_EVEX_0F76 */
1182 { VEX_W_TABLE (EVEX_W_0F76_P_2) },
1184 /* PREFIX_EVEX_0F78 */
1186 { VEX_W_TABLE (EVEX_W_0F78_P_0) },
1187 { "vcvttss2usi", { Gdq, EXxmm_md, EXxEVexS } },
1189 { "vcvttsd2usi", { Gdq, EXxmm_mq, EXxEVexS } },
1191 /* PREFIX_EVEX_0F79 */
1193 { VEX_W_TABLE (EVEX_W_0F79_P_0) },
1194 { "vcvtss2usi", { Gdq, EXxmm_md, EXxEVexR } },
1196 { "vcvtsd2usi", { Gdq, EXxmm_mq, EXxEVexR } },
1198 /* PREFIX_EVEX_0F7A */
1201 { VEX_W_TABLE (EVEX_W_0F7A_P_1) },
1203 { VEX_W_TABLE (EVEX_W_0F7A_P_3) },
1205 /* PREFIX_EVEX_0F7B */
1208 { VEX_W_TABLE (EVEX_W_0F7B_P_1) },
1210 { VEX_W_TABLE (EVEX_W_0F7B_P_3) },
1212 /* PREFIX_EVEX_0F7E */
1215 { VEX_W_TABLE (EVEX_W_0F7E_P_1) },
1216 { VEX_W_TABLE (EVEX_W_0F7E_P_2) },
1218 /* PREFIX_EVEX_0F7F */
1221 { VEX_W_TABLE (EVEX_W_0F7F_P_1) },
1222 { VEX_W_TABLE (EVEX_W_0F7F_P_2) },
1225 /* PREFIX_EVEX_0FC2 */
1227 { VEX_W_TABLE (EVEX_W_0FC2_P_0) },
1228 { VEX_W_TABLE (EVEX_W_0FC2_P_1) },
1229 { VEX_W_TABLE (EVEX_W_0FC2_P_2) },
1230 { VEX_W_TABLE (EVEX_W_0FC2_P_3) },
1232 /* PREFIX_EVEX_0FC6 */
1234 { VEX_W_TABLE (EVEX_W_0FC6_P_0) },
1236 { VEX_W_TABLE (EVEX_W_0FC6_P_2) },
1238 /* PREFIX_EVEX_0FD2 */
1242 { VEX_W_TABLE (EVEX_W_0FD2_P_2) },
1244 /* PREFIX_EVEX_0FD3 */
1248 { VEX_W_TABLE (EVEX_W_0FD3_P_2) },
1250 /* PREFIX_EVEX_0FD4 */
1254 { VEX_W_TABLE (EVEX_W_0FD4_P_2) },
1256 /* PREFIX_EVEX_0FD6 */
1260 { VEX_W_TABLE (EVEX_W_0FD6_P_2) },
1262 /* PREFIX_EVEX_0FDB */
1266 { "vpand%LW", { XM, Vex, EXx } },
1268 /* PREFIX_EVEX_0FDF */
1272 { "vpandn%LW", { XM, Vex, EXx } },
1274 /* PREFIX_EVEX_0FE2 */
1278 { "vpsra%LW", { XM, Vex, EXxmm } },
1280 /* PREFIX_EVEX_0FE6 */
1283 { VEX_W_TABLE (EVEX_W_0FE6_P_1) },
1284 { VEX_W_TABLE (EVEX_W_0FE6_P_2) },
1285 { VEX_W_TABLE (EVEX_W_0FE6_P_3) },
1287 /* PREFIX_EVEX_0FE7 */
1291 { VEX_W_TABLE (EVEX_W_0FE7_P_2) },
1293 /* PREFIX_EVEX_0FEB */
1297 { "vpor%LW", { XM, Vex, EXx } },
1299 /* PREFIX_EVEX_0FEF */
1303 { "vpxor%LW", { XM, Vex, EXx } },
1305 /* PREFIX_EVEX_0FF2 */
1309 { VEX_W_TABLE (EVEX_W_0FF2_P_2) },
1311 /* PREFIX_EVEX_0FF3 */
1315 { VEX_W_TABLE (EVEX_W_0FF3_P_2) },
1317 /* PREFIX_EVEX_0FF4 */
1321 { VEX_W_TABLE (EVEX_W_0FF4_P_2) },
1323 /* PREFIX_EVEX_0FFA */
1327 { VEX_W_TABLE (EVEX_W_0FFA_P_2) },
1329 /* PREFIX_EVEX_0FFB */
1333 { VEX_W_TABLE (EVEX_W_0FFB_P_2) },
1335 /* PREFIX_EVEX_0FFE */
1339 { VEX_W_TABLE (EVEX_W_0FFE_P_2) },
1342 /* PREFIX_EVEX_0F380C */
1346 { VEX_W_TABLE (EVEX_W_0F380C_P_2) },
1348 /* PREFIX_EVEX_0F380D */
1352 { VEX_W_TABLE (EVEX_W_0F380D_P_2) },
1354 /* PREFIX_EVEX_0F3811 */
1357 { VEX_W_TABLE (EVEX_W_0F3811_P_1) },
1359 /* PREFIX_EVEX_0F3812 */
1362 { VEX_W_TABLE (EVEX_W_0F3812_P_1) },
1364 /* PREFIX_EVEX_0F3813 */
1367 { VEX_W_TABLE (EVEX_W_0F3813_P_1) },
1368 { VEX_W_TABLE (EVEX_W_0F3813_P_2) },
1370 /* PREFIX_EVEX_0F3814 */
1373 { VEX_W_TABLE (EVEX_W_0F3814_P_1) },
1374 { "vprorv%LW", { XM, Vex, EXx } },
1376 /* PREFIX_EVEX_0F3815 */
1379 { VEX_W_TABLE (EVEX_W_0F3815_P_1) },
1380 { "vprolv%LW", { XM, Vex, EXx } },
1382 /* PREFIX_EVEX_0F3816 */
1386 { "vpermp%XW", { XM, Vex, EXx } },
1388 /* PREFIX_EVEX_0F3818 */
1392 { VEX_W_TABLE (EVEX_W_0F3818_P_2) },
1394 /* PREFIX_EVEX_0F3819 */
1398 { VEX_W_TABLE (EVEX_W_0F3819_P_2) },
1400 /* PREFIX_EVEX_0F381A */
1404 { VEX_W_TABLE (EVEX_W_0F381A_P_2) },
1406 /* PREFIX_EVEX_0F381B */
1410 { VEX_W_TABLE (EVEX_W_0F381B_P_2) },
1412 /* PREFIX_EVEX_0F381E */
1416 { VEX_W_TABLE (EVEX_W_0F381E_P_2) },
1418 /* PREFIX_EVEX_0F381F */
1422 { VEX_W_TABLE (EVEX_W_0F381F_P_2) },
1424 /* PREFIX_EVEX_0F3821 */
1427 { VEX_W_TABLE (EVEX_W_0F3821_P_1) },
1428 { "vpmovsxbd", { XM, EXxmmqd } },
1430 /* PREFIX_EVEX_0F3822 */
1433 { VEX_W_TABLE (EVEX_W_0F3822_P_1) },
1434 { "vpmovsxbq", { XM, EXxmmdw } },
1436 /* PREFIX_EVEX_0F3823 */
1439 { VEX_W_TABLE (EVEX_W_0F3823_P_1) },
1440 { "vpmovsxwd", { XM, EXxmmq } },
1442 /* PREFIX_EVEX_0F3824 */
1445 { VEX_W_TABLE (EVEX_W_0F3824_P_1) },
1446 { "vpmovsxwq", { XM, EXxmmqd } },
1448 /* PREFIX_EVEX_0F3825 */
1451 { VEX_W_TABLE (EVEX_W_0F3825_P_1) },
1452 { VEX_W_TABLE (EVEX_W_0F3825_P_2) },
1454 /* PREFIX_EVEX_0F3827 */
1457 { "vptestnm%LW", { XMask, Vex, EXx } },
1458 { "vptestm%LW", { XMask, Vex, EXx } },
1460 /* PREFIX_EVEX_0F3828 */
1464 { VEX_W_TABLE (EVEX_W_0F3828_P_2) },
1466 /* PREFIX_EVEX_0F3829 */
1470 { VEX_W_TABLE (EVEX_W_0F3829_P_2) },
1472 /* PREFIX_EVEX_0F382A */
1475 { VEX_W_TABLE (EVEX_W_0F382A_P_1) },
1476 { VEX_W_TABLE (EVEX_W_0F382A_P_2) },
1478 /* PREFIX_EVEX_0F382C */
1482 { "vscalefp%XW", { XM, Vex, EXx, EXxEVexR } },
1484 /* PREFIX_EVEX_0F382D */
1488 { "vscalefs%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1490 /* PREFIX_EVEX_0F3831 */
1493 { VEX_W_TABLE (EVEX_W_0F3831_P_1) },
1494 { "vpmovzxbd", { XM, EXxmmqd } },
1496 /* PREFIX_EVEX_0F3832 */
1499 { VEX_W_TABLE (EVEX_W_0F3832_P_1) },
1500 { "vpmovzxbq", { XM, EXxmmdw } },
1502 /* PREFIX_EVEX_0F3833 */
1505 { VEX_W_TABLE (EVEX_W_0F3833_P_1) },
1506 { "vpmovzxwd", { XM, EXxmmq } },
1508 /* PREFIX_EVEX_0F3834 */
1511 { VEX_W_TABLE (EVEX_W_0F3834_P_1) },
1512 { "vpmovzxwq", { XM, EXxmmqd } },
1514 /* PREFIX_EVEX_0F3835 */
1517 { VEX_W_TABLE (EVEX_W_0F3835_P_1) },
1518 { VEX_W_TABLE (EVEX_W_0F3835_P_2) },
1520 /* PREFIX_EVEX_0F3836 */
1524 { "vperm%LW", { XM, Vex, EXx } },
1526 /* PREFIX_EVEX_0F3837 */
1530 { VEX_W_TABLE (EVEX_W_0F3837_P_2) },
1532 /* PREFIX_EVEX_0F3839 */
1536 { "vpmins%LW", { XM, Vex, EXx } },
1538 /* PREFIX_EVEX_0F383A */
1541 { VEX_W_TABLE (EVEX_W_0F383A_P_1) },
1543 /* PREFIX_EVEX_0F383B */
1547 { "vpminu%LW", { XM, Vex, EXx } },
1549 /* PREFIX_EVEX_0F383D */
1553 { "vpmaxs%LW", { XM, Vex, EXx } },
1555 /* PREFIX_EVEX_0F383F */
1559 { "vpmaxu%LW", { XM, Vex, EXx } },
1561 /* PREFIX_EVEX_0F3840 */
1565 { VEX_W_TABLE (EVEX_W_0F3840_P_2) },
1567 /* PREFIX_EVEX_0F3842 */
1571 { "vgetexpp%XW", { XM, EXx, EXxEVexS } },
1573 /* PREFIX_EVEX_0F3843 */
1577 { "vgetexps%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS } },
1579 /* PREFIX_EVEX_0F3844 */
1583 { "vplzcnt%LW", { XM, EXx } },
1585 /* PREFIX_EVEX_0F3845 */
1589 { "vpsrlv%LW", { XM, Vex, EXx } },
1591 /* PREFIX_EVEX_0F3846 */
1595 { "vpsrav%LW", { XM, Vex, EXx } },
1597 /* PREFIX_EVEX_0F3847 */
1601 { "vpsllv%LW", { XM, Vex, EXx } },
1603 /* PREFIX_EVEX_0F384C */
1607 { "vrcp14p%XW", { XM, EXx } },
1609 /* PREFIX_EVEX_0F384D */
1613 { "vrcp14s%XW", { XMScalar, VexScalar, EXxmm_mdq } },
1615 /* PREFIX_EVEX_0F384E */
1619 { "vrsqrt14p%XW", { XM, EXx } },
1621 /* PREFIX_EVEX_0F384F */
1625 { "vrsqrt14s%XW", { XMScalar, VexScalar, EXxmm_mdq } },
1627 /* PREFIX_EVEX_0F3858 */
1631 { VEX_W_TABLE (EVEX_W_0F3858_P_2) },
1633 /* PREFIX_EVEX_0F3859 */
1637 { VEX_W_TABLE (EVEX_W_0F3859_P_2) },
1639 /* PREFIX_EVEX_0F385A */
1643 { VEX_W_TABLE (EVEX_W_0F385A_P_2) },
1645 /* PREFIX_EVEX_0F385B */
1649 { VEX_W_TABLE (EVEX_W_0F385B_P_2) },
1651 /* PREFIX_EVEX_0F3864 */
1655 { "vpblendm%LW", { XM, Vex, EXx } },
1657 /* PREFIX_EVEX_0F3865 */
1661 { "vblendmp%XW", { XM, Vex, EXx } },
1663 /* PREFIX_EVEX_0F3876 */
1667 { "vpermi2%LW", { XM, Vex, EXx } },
1669 /* PREFIX_EVEX_0F3877 */
1673 { "vpermi2p%XW", { XM, Vex, EXx } },
1675 /* PREFIX_EVEX_0F387C */
1679 { "vpbroadcast%LW", { XM, Rdq } },
1681 /* PREFIX_EVEX_0F387E */
1685 { "vpermt2%LW", { XM, Vex, EXx } },
1687 /* PREFIX_EVEX_0F387F */
1691 { "vpermt2p%XW", { XM, Vex, EXx } },
1693 /* PREFIX_EVEX_0F3888 */
1697 { "vexpandp%XW", { XM, EXEvexXGscat } },
1699 /* PREFIX_EVEX_0F3889 */
1703 { "vpexpand%LW", { XM, EXEvexXGscat } },
1705 /* PREFIX_EVEX_0F388A */
1709 { "vcompressp%XW", { EXEvexXGscat, XM } },
1711 /* PREFIX_EVEX_0F388B */
1715 { "vpcompress%LW", { EXEvexXGscat, XM } },
1717 /* PREFIX_EVEX_0F3890 */
1721 { "vpgatherd%LW", { XM, MVexVSIBDWpX } },
1723 /* PREFIX_EVEX_0F3891 */
1727 { VEX_W_TABLE (EVEX_W_0F3891_P_2) },
1729 /* PREFIX_EVEX_0F3892 */
1733 { "vgatherdp%XW", { XM, MVexVSIBDWpX} },
1735 /* PREFIX_EVEX_0F3893 */
1739 { VEX_W_TABLE (EVEX_W_0F3893_P_2) },
1741 /* PREFIX_EVEX_0F3896 */
1745 { "vfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR } },
1747 /* PREFIX_EVEX_0F3897 */
1751 { "vfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR } },
1753 /* PREFIX_EVEX_0F3898 */
1757 { "vfmadd132p%XW", { XM, Vex, EXx, EXxEVexR } },
1759 /* PREFIX_EVEX_0F3899 */
1763 { "vfmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1765 /* PREFIX_EVEX_0F389A */
1769 { "vfmsub132p%XW", { XM, Vex, EXx, EXxEVexR } },
1771 /* PREFIX_EVEX_0F389B */
1775 { "vfmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1777 /* PREFIX_EVEX_0F389C */
1781 { "vfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR } },
1783 /* PREFIX_EVEX_0F389D */
1787 { "vfnmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1789 /* PREFIX_EVEX_0F389E */
1793 { "vfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR } },
1795 /* PREFIX_EVEX_0F389F */
1799 { "vfnmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1801 /* PREFIX_EVEX_0F38A0 */
1805 { "vpscatterd%LW", { MVexVSIBDWpX, XM } },
1807 /* PREFIX_EVEX_0F38A1 */
1811 { VEX_W_TABLE (EVEX_W_0F38A1_P_2) },
1813 /* PREFIX_EVEX_0F38A2 */
1817 { "vscatterdp%XW", { MVexVSIBDWpX, XM } },
1819 /* PREFIX_EVEX_0F38A3 */
1823 { VEX_W_TABLE (EVEX_W_0F38A3_P_2) },
1825 /* PREFIX_EVEX_0F38A6 */
1829 { "vfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR } },
1831 /* PREFIX_EVEX_0F38A7 */
1835 { "vfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR } },
1837 /* PREFIX_EVEX_0F38A8 */
1841 { "vfmadd213p%XW", { XM, Vex, EXx, EXxEVexR } },
1843 /* PREFIX_EVEX_0F38A9 */
1847 { "vfmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1849 /* PREFIX_EVEX_0F38AA */
1853 { "vfmsub213p%XW", { XM, Vex, EXx, EXxEVexR } },
1855 /* PREFIX_EVEX_0F38AB */
1859 { "vfmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1861 /* PREFIX_EVEX_0F38AC */
1865 { "vfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR } },
1867 /* PREFIX_EVEX_0F38AD */
1871 { "vfnmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1873 /* PREFIX_EVEX_0F38AE */
1877 { "vfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR } },
1879 /* PREFIX_EVEX_0F38AF */
1883 { "vfnmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1885 /* PREFIX_EVEX_0F38B6 */
1889 { "vfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR } },
1891 /* PREFIX_EVEX_0F38B7 */
1895 { "vfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR } },
1897 /* PREFIX_EVEX_0F38B8 */
1901 { "vfmadd231p%XW", { XM, Vex, EXx, EXxEVexR } },
1903 /* PREFIX_EVEX_0F38B9 */
1907 { "vfmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1909 /* PREFIX_EVEX_0F38BA */
1913 { "vfmsub231p%XW", { XM, Vex, EXx, EXxEVexR } },
1915 /* PREFIX_EVEX_0F38BB */
1919 { "vfmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1921 /* PREFIX_EVEX_0F38BC */
1925 { "vfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR } },
1927 /* PREFIX_EVEX_0F38BD */
1931 { "vfnmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1933 /* PREFIX_EVEX_0F38BE */
1937 { "vfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR } },
1939 /* PREFIX_EVEX_0F38BF */
1943 { "vfnmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR } },
1945 /* PREFIX_EVEX_0F38C4 */
1949 { "vpconflict%LW", { XM, EXx } },
1951 /* PREFIX_EVEX_0F38C6_REG_1 */
1955 { "vgatherpf0dp%XW", { MVexVSIBDWpX } },
1957 /* PREFIX_EVEX_0F38C6_REG_2 */
1961 { "vgatherpf1dp%XW", { MVexVSIBDWpX } },
1963 /* PREFIX_EVEX_0F38C6_REG_5 */
1967 { "vscatterpf0dp%XW", { MVexVSIBDWpX } },
1969 /* PREFIX_EVEX_0F38C6_REG_6 */
1973 { "vscatterpf1dp%XW", { MVexVSIBDWpX } },
1975 /* PREFIX_EVEX_0F38C7_REG_1 */
1979 { VEX_W_TABLE (EVEX_W_0F38C7_R_1_P_2) },
1981 /* PREFIX_EVEX_0F38C7_REG_2 */
1985 { VEX_W_TABLE (EVEX_W_0F38C7_R_2_P_2) },
1987 /* PREFIX_EVEX_0F38C7_REG_5 */
1991 { VEX_W_TABLE (EVEX_W_0F38C7_R_5_P_2) },
1993 /* PREFIX_EVEX_0F38C7_REG_6 */
1997 { VEX_W_TABLE (EVEX_W_0F38C7_R_6_P_2) },
1999 /* PREFIX_EVEX_0F38C8 */
2003 { "vexp2p%XW", { XM, EXx, EXxEVexS } },
2005 /* PREFIX_EVEX_0F38CA */
2009 { "vrcp28p%XW", { XM, EXx, EXxEVexS } },
2011 /* PREFIX_EVEX_0F38CB */
2015 { "vrcp28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS } },
2017 /* PREFIX_EVEX_0F38CC */
2021 { "vrsqrt28p%XW", { XM, EXx, EXxEVexS } },
2023 /* PREFIX_EVEX_0F38CD */
2027 { "vrsqrt28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS } },
2029 /* PREFIX_EVEX_0F3A00 */
2033 { VEX_W_TABLE (EVEX_W_0F3A00_P_2) },
2035 /* PREFIX_EVEX_0F3A01 */
2039 { VEX_W_TABLE (EVEX_W_0F3A01_P_2) },
2041 /* PREFIX_EVEX_0F3A03 */
2045 { "valign%LW", { XM, Vex, EXx, Ib } },
2047 /* PREFIX_EVEX_0F3A04 */
2051 { VEX_W_TABLE (EVEX_W_0F3A04_P_2) },
2053 /* PREFIX_EVEX_0F3A05 */
2057 { VEX_W_TABLE (EVEX_W_0F3A05_P_2) },
2059 /* PREFIX_EVEX_0F3A08 */
2063 { VEX_W_TABLE (EVEX_W_0F3A08_P_2) },
2065 /* PREFIX_EVEX_0F3A09 */
2069 { VEX_W_TABLE (EVEX_W_0F3A09_P_2) },
2071 /* PREFIX_EVEX_0F3A0A */
2075 { VEX_W_TABLE (EVEX_W_0F3A0A_P_2) },
2077 /* PREFIX_EVEX_0F3A0B */
2081 { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) },
2083 /* PREFIX_EVEX_0F3A17 */
2087 { "vextractps", { Edqd, XMM, Ib } },
2089 /* PREFIX_EVEX_0F3A18 */
2093 { VEX_W_TABLE (EVEX_W_0F3A18_P_2) },
2095 /* PREFIX_EVEX_0F3A19 */
2099 { VEX_W_TABLE (EVEX_W_0F3A19_P_2) },
2101 /* PREFIX_EVEX_0F3A1A */
2105 { VEX_W_TABLE (EVEX_W_0F3A1A_P_2) },
2107 /* PREFIX_EVEX_0F3A1B */
2111 { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) },
2113 /* PREFIX_EVEX_0F3A1D */
2117 { VEX_W_TABLE (EVEX_W_0F3A1D_P_2) },
2119 /* PREFIX_EVEX_0F3A1E */
2123 { "vpcmpu%LW", { XMask, Vex, EXx, VPCMP } },
2125 /* PREFIX_EVEX_0F3A1F */
2129 { "vpcmp%LW", { XMask, Vex, EXx, VPCMP } },
2131 /* PREFIX_EVEX_0F3A21 */
2135 { VEX_W_TABLE (EVEX_W_0F3A21_P_2) },
2137 /* PREFIX_EVEX_0F3A23 */
2141 { VEX_W_TABLE (EVEX_W_0F3A23_P_2) },
2143 /* PREFIX_EVEX_0F3A25 */
2147 { "vpternlog%LW", { XM, Vex, EXx, Ib } },
2149 /* PREFIX_EVEX_0F3A26 */
2153 { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib } },
2155 /* PREFIX_EVEX_0F3A27 */
2159 { "vgetmants%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib } },
2161 /* PREFIX_EVEX_0F3A38 */
2165 { VEX_W_TABLE (EVEX_W_0F3A38_P_2) },
2167 /* PREFIX_EVEX_0F3A39 */
2171 { VEX_W_TABLE (EVEX_W_0F3A39_P_2) },
2173 /* PREFIX_EVEX_0F3A3A */
2177 { VEX_W_TABLE (EVEX_W_0F3A3A_P_2) },
2179 /* PREFIX_EVEX_0F3A3B */
2183 { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) },
2185 /* PREFIX_EVEX_0F3A3E */
2189 { "vpcmpuW", { XMask, Vex, EXx, Ib } },
2191 /* PREFIX_EVEX_0F3A3F */
2195 { "vpcmpW", { XMask, Vex, EXx, Ib } },
2197 /* PREFIX_EVEX_0F3A43 */
2201 { VEX_W_TABLE (EVEX_W_0F3A43_P_2) },
2203 /* PREFIX_EVEX_0F3A54 */
2207 { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib } },
2209 /* PREFIX_EVEX_0F3A55 */
2213 { "vfixupimms%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib } },
2215 #endif /* NEED_PREFIX_TABLE */
2217 #ifdef NEED_VEX_W_TABLE
2218 /* EVEX_W_0F10_P_0 */
2220 { "vmovups", { XM, EXEvexXNoBcst } },
2222 /* EVEX_W_0F10_P_1_M_0 */
2224 { "vmovss", { XMScalar, EXdScalar } },
2226 /* EVEX_W_0F10_P_1_M_1 */
2228 { "vmovss", { XMScalar, VexScalar, EXx } },
2230 /* EVEX_W_0F10_P_2 */
2233 { "vmovupd", { XM, EXEvexXNoBcst } },
2235 /* EVEX_W_0F10_P_3_M_0 */
2238 { "vmovsd", { XMScalar, EXqScalar } },
2240 /* EVEX_W_0F10_P_3_M_1 */
2243 { "vmovsd", { XMScalar, VexScalar, EXx } },
2245 /* EVEX_W_0F11_P_0 */
2247 { "vmovups", { EXxS, XM } },
2249 /* EVEX_W_0F11_P_1_M_0 */
2251 { "vmovss", { EXdScalarS, XMScalar } },
2253 /* EVEX_W_0F11_P_1_M_1 */
2255 { "vmovss", { EXxS, Vex, XMScalar } },
2257 /* EVEX_W_0F11_P_2 */
2260 { "vmovupd", { EXxS, XM } },
2262 /* EVEX_W_0F11_P_3_M_0 */
2265 { "vmovsd", { EXqScalarS, XMScalar } },
2267 /* EVEX_W_0F11_P_3_M_1 */
2270 { "vmovsd", { EXxS, Vex, XMScalar } },
2272 /* EVEX_W_0F12_P_0_M_0 */
2274 { "vmovlps", { XMM, Vex, EXxmm_mq } },
2276 /* EVEX_W_0F12_P_0_M_1 */
2278 { "vmovhlps", { XMM, Vex, EXxmm_mq } },
2280 /* EVEX_W_0F12_P_1 */
2282 { "vmovsldup", { XM, EXEvexXNoBcst } },
2284 /* EVEX_W_0F12_P_2 */
2287 { "vmovlpd", { XMM, Vex, EXxmm_mq } },
2289 /* EVEX_W_0F12_P_3 */
2292 { "vmovddup", { XM, EXymmq } },
2294 /* EVEX_W_0F13_P_0 */
2296 { "vmovlps", { EXxmm_mq, XMM } },
2298 /* EVEX_W_0F13_P_2 */
2301 { "vmovlpd", { EXxmm_mq, XMM } },
2303 /* EVEX_W_0F14_P_0 */
2305 { "vunpcklps", { XM, Vex, EXx } },
2307 /* EVEX_W_0F14_P_2 */
2310 { "vunpcklpd", { XM, Vex, EXx } },
2312 /* EVEX_W_0F15_P_0 */
2314 { "vunpckhps", { XM, Vex, EXx } },
2316 /* EVEX_W_0F15_P_2 */
2319 { "vunpckhpd", { XM, Vex, EXx } },
2321 /* EVEX_W_0F16_P_0_M_0 */
2323 { "vmovhps", { XMM, Vex, EXxmm_mq } },
2325 /* EVEX_W_0F16_P_0_M_1 */
2327 { "vmovlhps", { XMM, Vex, EXx } },
2329 /* EVEX_W_0F16_P_1 */
2331 { "vmovshdup", { XM, EXx } },
2333 /* EVEX_W_0F16_P_2 */
2336 { "vmovhpd", { XMM, Vex, EXxmm_mq } },
2338 /* EVEX_W_0F17_P_0 */
2340 { "vmovhps", { EXxmm_mq, XMM } },
2342 /* EVEX_W_0F17_P_2 */
2345 { "vmovhpd", { EXxmm_mq, XMM } },
2347 /* EVEX_W_0F28_P_0 */
2349 { "vmovaps", { XM, EXx } },
2351 /* EVEX_W_0F28_P_2 */
2354 { "vmovapd", { XM, EXx } },
2356 /* EVEX_W_0F29_P_0 */
2358 { "vmovaps", { EXxS, XM } },
2360 /* EVEX_W_0F29_P_2 */
2363 { "vmovapd", { EXxS, XM } },
2365 /* EVEX_W_0F2A_P_1 */
2367 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Ed } },
2368 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Eq } },
2370 /* EVEX_W_0F2A_P_3 */
2372 { "vcvtsi2sd", { XMScalar, VexScalar, Ed } },
2373 { "vcvtsi2sd", { XMScalar, VexScalar, EXxEVexR, Eq } },
2375 /* EVEX_W_0F2B_P_0 */
2377 { "vmovntps", { EXx, XM } },
2379 /* EVEX_W_0F2B_P_2 */
2382 { "vmovntpd", { EXx, XM } },
2384 /* EVEX_W_0F2E_P_0 */
2386 { "vucomiss", { XMScalar, EXxmm_md, EXxEVexS } },
2388 /* EVEX_W_0F2E_P_2 */
2391 { "vucomisd", { XMScalar, EXxmm_mq, EXxEVexS } },
2393 /* EVEX_W_0F2F_P_0 */
2395 { "vcomiss", { XMScalar, EXxmm_md, EXxEVexS } },
2397 /* EVEX_W_0F2F_P_2 */
2400 { "vcomisd", { XMScalar, EXxmm_mq, EXxEVexS } },
2402 /* EVEX_W_0F51_P_0 */
2404 { "vsqrtps", { XM, EXx, EXxEVexR } },
2406 /* EVEX_W_0F51_P_1 */
2408 { "vsqrtss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2410 /* EVEX_W_0F51_P_2 */
2413 { "vsqrtpd", { XM, EXx, EXxEVexR } },
2415 /* EVEX_W_0F51_P_3 */
2418 { "vsqrtsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2420 /* EVEX_W_0F58_P_0 */
2422 { "vaddps", { XM, Vex, EXx, EXxEVexR } },
2424 /* EVEX_W_0F58_P_1 */
2426 { "vaddss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2428 /* EVEX_W_0F58_P_2 */
2431 { "vaddpd", { XM, Vex, EXx, EXxEVexR } },
2433 /* EVEX_W_0F58_P_3 */
2436 { "vaddsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2438 /* EVEX_W_0F59_P_0 */
2440 { "vmulps", { XM, Vex, EXx, EXxEVexR } },
2442 /* EVEX_W_0F59_P_1 */
2444 { "vmulss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2446 /* EVEX_W_0F59_P_2 */
2449 { "vmulpd", { XM, Vex, EXx, EXxEVexR } },
2451 /* EVEX_W_0F59_P_3 */
2454 { "vmulsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2456 /* EVEX_W_0F5A_P_0 */
2458 { "vcvtps2pd", { XM, EXEvexHalfBcstXmmq, EXxEVexS } },
2460 /* EVEX_W_0F5A_P_1 */
2462 { "vcvtss2sd", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
2464 /* EVEX_W_0F5A_P_2 */
2467 { "vcvtpd2ps", { XMxmmq, EXx, EXxEVexR } },
2469 /* EVEX_W_0F5A_P_3 */
2472 { "vcvtsd2ss", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2474 /* EVEX_W_0F5B_P_0 */
2476 { "vcvtdq2ps", { XM, EXx, EXxEVexR } },
2478 /* EVEX_W_0F5B_P_1 */
2480 { "vcvttps2dq", { XM, EXx, EXxEVexS } },
2482 /* EVEX_W_0F5B_P_2 */
2484 { "vcvtps2dq", { XM, EXx, EXxEVexR } },
2486 /* EVEX_W_0F5C_P_0 */
2488 { "vsubps", { XM, Vex, EXx, EXxEVexR } },
2490 /* EVEX_W_0F5C_P_1 */
2492 { "vsubss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2494 /* EVEX_W_0F5C_P_2 */
2497 { "vsubpd", { XM, Vex, EXx, EXxEVexR } },
2499 /* EVEX_W_0F5C_P_3 */
2502 { "vsubsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2504 /* EVEX_W_0F5D_P_0 */
2506 { "vminps", { XM, Vex, EXx, EXxEVexS } },
2508 /* EVEX_W_0F5D_P_1 */
2510 { "vminss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
2512 /* EVEX_W_0F5D_P_2 */
2515 { "vminpd", { XM, Vex, EXx, EXxEVexS } },
2517 /* EVEX_W_0F5D_P_3 */
2520 { "vminsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS } },
2522 /* EVEX_W_0F5E_P_0 */
2524 { "vdivps", { XM, Vex, EXx, EXxEVexR } },
2526 /* EVEX_W_0F5E_P_1 */
2528 { "vdivss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2530 /* EVEX_W_0F5E_P_2 */
2533 { "vdivpd", { XM, Vex, EXx, EXxEVexR } },
2535 /* EVEX_W_0F5E_P_3 */
2538 { "vdivsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2540 /* EVEX_W_0F5F_P_0 */
2542 { "vmaxps", { XM, Vex, EXx, EXxEVexS } },
2544 /* EVEX_W_0F5F_P_1 */
2546 { "vmaxss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
2548 /* EVEX_W_0F5F_P_2 */
2551 { "vmaxpd", { XM, Vex, EXx, EXxEVexS } },
2553 /* EVEX_W_0F5F_P_3 */
2556 { "vmaxsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS } },
2558 /* EVEX_W_0F62_P_2 */
2560 { "vpunpckldq", { XM, Vex, EXx } },
2562 /* EVEX_W_0F66_P_2 */
2564 { "vpcmpgtd", { XMask, Vex, EXx } },
2566 /* EVEX_W_0F6A_P_2 */
2568 { "vpunpckhdq", { XM, Vex, EXx } },
2570 /* EVEX_W_0F6C_P_2 */
2573 { "vpunpcklqdq", { XM, Vex, EXx } },
2575 /* EVEX_W_0F6D_P_2 */
2578 { "vpunpckhqdq", { XM, Vex, EXx } },
2580 /* EVEX_W_0F6E_P_2 */
2582 { "vmovd", { XMScalar, Ed } },
2583 { "vmovq", { XMScalar, Eq } },
2585 /* EVEX_W_0F6F_P_1 */
2587 { "vmovdqu32", { XM, EXEvexXNoBcst } },
2588 { "vmovdqu64", { XM, EXEvexXNoBcst } },
2590 /* EVEX_W_0F6F_P_2 */
2592 { "vmovdqa32", { XM, EXEvexXNoBcst } },
2593 { "vmovdqa64", { XM, EXEvexXNoBcst } },
2595 /* EVEX_W_0F70_P_2 */
2597 { "vpshufd", { XM, EXx, Ib } },
2599 /* EVEX_W_0F72_R_2_P_2 */
2601 { "vpsrld", { Vex, EXx, Ib } },
2603 /* EVEX_W_0F72_R_6_P_2 */
2605 { "vpslld", { Vex, EXx, Ib } },
2607 /* EVEX_W_0F73_R_2_P_2 */
2610 { "vpsrlq", { Vex, EXx, Ib } },
2612 /* EVEX_W_0F73_R_6_P_2 */
2615 { "vpsllq", { Vex, EXx, Ib } },
2617 /* EVEX_W_0F76_P_2 */
2619 { "vpcmpeqd", { XMask, Vex, EXx } },
2621 /* EVEX_W_0F78_P_0 */
2623 { "vcvttps2udq", { XM, EXx, EXxEVexS } },
2624 { "vcvttpd2udq", { XMxmmq, EXx, EXxEVexS } },
2626 /* EVEX_W_0F79_P_0 */
2628 { "vcvtps2udq", { XM, EXx, EXxEVexR } },
2629 { "vcvtpd2udq", { XMxmmq, EXx, EXxEVexR } },
2631 /* EVEX_W_0F7A_P_1 */
2633 { "vcvtudq2pd", { XM, EXEvexHalfBcstXmmq } },
2635 /* EVEX_W_0F7A_P_3 */
2637 { "vcvtudq2ps", { XM, EXx, EXxEVexR } },
2639 /* EVEX_W_0F7B_P_1 */
2641 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Ed } },
2642 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Eq } },
2644 /* EVEX_W_0F7B_P_3 */
2646 { "vcvtusi2sd", { XMScalar, VexScalar, Ed } },
2647 { "vcvtusi2sd", { XMScalar, VexScalar, EXxEVexR, Eq } },
2649 /* EVEX_W_0F7E_P_1 */
2652 { "vmovq", { XMScalar, EXxmm_mq } },
2654 /* EVEX_W_0F7E_P_2 */
2656 { "vmovd", { Ed, XMScalar } },
2657 { "vmovq", { Eq, XMScalar } },
2659 /* EVEX_W_0F7F_P_1 */
2661 { "vmovdqu32", { EXxS, XM } },
2662 { "vmovdqu64", { EXxS, XM } },
2664 /* EVEX_W_0F7F_P_2 */
2666 { "vmovdqa32", { EXxS, XM } },
2667 { "vmovdqa64", { EXxS, XM } },
2669 /* EVEX_W_0FC2_P_0 */
2671 { "vcmpps", { XMask, Vex, EXx, EXxEVexS, VCMP } },
2673 /* EVEX_W_0FC2_P_1 */
2675 { "vcmpss", { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP } },
2677 /* EVEX_W_0FC2_P_2 */
2680 { "vcmppd", { XMask, Vex, EXx, EXxEVexS, VCMP } },
2682 /* EVEX_W_0FC2_P_3 */
2685 { "vcmpsd", { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP } },
2687 /* EVEX_W_0FC6_P_0 */
2689 { "vshufps", { XM, Vex, EXx, Ib } },
2691 /* EVEX_W_0FC6_P_2 */
2694 { "vshufpd", { XM, Vex, EXx, Ib } },
2696 /* EVEX_W_0FD2_P_2 */
2698 { "vpsrld", { XM, Vex, EXxmm } },
2700 /* EVEX_W_0FD3_P_2 */
2703 { "vpsrlq", { XM, Vex, EXxmm } },
2705 /* EVEX_W_0FD4_P_2 */
2708 { "vpaddq", { XM, Vex, EXx } },
2710 /* EVEX_W_0FD6_P_2 */
2713 { "vmovq", { EXxmm_mq, XMScalar } },
2715 /* EVEX_W_0FE6_P_1 */
2717 { "vcvtdq2pd", { XM, EXEvexHalfBcstXmmq } },
2719 /* EVEX_W_0FE6_P_2 */
2722 { "vcvttpd2dq", { XMxmmq, EXx, EXxEVexS } },
2724 /* EVEX_W_0FE6_P_3 */
2727 { "vcvtpd2dq", { XMxmmq, EXx, EXxEVexR } },
2729 /* EVEX_W_0FE7_P_2 */
2731 { "vmovntdq", { EXEvexXNoBcst, XM } },
2733 /* EVEX_W_0FF2_P_2 */
2735 { "vpslld", { XM, Vex, EXxmm } },
2737 /* EVEX_W_0FF3_P_2 */
2740 { "vpsllq", { XM, Vex, EXxmm } },
2742 /* EVEX_W_0FF4_P_2 */
2745 { "vpmuludq", { XM, Vex, EXx } },
2747 /* EVEX_W_0FFA_P_2 */
2749 { "vpsubd", { XM, Vex, EXx } },
2751 /* EVEX_W_0FFB_P_2 */
2754 { "vpsubq", { XM, Vex, EXx } },
2756 /* EVEX_W_0FFE_P_2 */
2758 { "vpaddd", { XM, Vex, EXx } },
2761 /* EVEX_W_0F380C_P_2 */
2763 { "vpermilps", { XM, Vex, EXx } },
2765 /* EVEX_W_0F380D_P_2 */
2768 { "vpermilpd", { XM, Vex, EXx } },
2770 /* EVEX_W_0F3811_P_1 */
2772 { "vpmovusdb", { EXxmmqd, XM } },
2774 /* EVEX_W_0F3812_P_1 */
2776 { "vpmovusqb", { EXxmmdw, XM } },
2778 /* EVEX_W_0F3813_P_1 */
2780 { "vpmovusdw", { EXxmmq, XM } },
2782 /* EVEX_W_0F3813_P_2 */
2784 { "vcvtph2ps", { XM, EXxmmq, EXxEVexS } },
2786 /* EVEX_W_0F3814_P_1 */
2788 { "vpmovusqw", { EXxmmqd, XM } },
2790 /* EVEX_W_0F3815_P_1 */
2792 { "vpmovusqd", { EXxmmq, XM } },
2794 /* EVEX_W_0F3818_P_2 */
2796 { "vbroadcastss", { XM, EXxmm_md } },
2798 /* EVEX_W_0F3819_P_2 */
2801 { "vbroadcastsd", { XM, EXxmm_mq } },
2803 /* EVEX_W_0F381A_P_2 */
2805 { "vbroadcastf32x4", { XM, EXxmm } },
2807 /* EVEX_W_0F381B_P_2 */
2810 { "vbroadcastf64x4", { XM, EXymm } },
2812 /* EVEX_W_0F381E_P_2 */
2814 { "vpabsd", { XM, EXx } },
2816 /* EVEX_W_0F381F_P_2 */
2819 { "vpabsq", { XM, EXx } },
2821 /* EVEX_W_0F3821_P_1 */
2823 { "vpmovsdb", { EXxmmqd, XM } },
2825 /* EVEX_W_0F3822_P_1 */
2827 { "vpmovsqb", { EXxmmdw, XM } },
2829 /* EVEX_W_0F3823_P_1 */
2831 { "vpmovsdw", { EXxmmq, XM } },
2833 /* EVEX_W_0F3824_P_1 */
2835 { "vpmovsqw", { EXxmmqd, XM } },
2837 /* EVEX_W_0F3825_P_1 */
2839 { "vpmovsqd", { EXxmmq, XM } },
2841 /* EVEX_W_0F3825_P_2 */
2843 { "vpmovsxdq", { XM, EXxmmq } },
2845 /* EVEX_W_0F3828_P_2 */
2848 { "vpmuldq", { XM, Vex, EXx } },
2850 /* EVEX_W_0F3829_P_2 */
2853 { "vpcmpeqq", { XMask, Vex, EXx } },
2855 /* EVEX_W_0F382A_P_1 */
2858 { "vpbroadcastmb2q", { XM, MaskR } },
2860 /* EVEX_W_0F382A_P_2 */
2862 { "vmovntdqa", { XM, EXEvexXNoBcst } },
2864 /* EVEX_W_0F3831_P_1 */
2866 { "vpmovdb", { EXxmmqd, XM } },
2868 /* EVEX_W_0F3832_P_1 */
2870 { "vpmovqb", { EXxmmdw, XM } },
2872 /* EVEX_W_0F3833_P_1 */
2874 { "vpmovdw", { EXxmmq, XM } },
2876 /* EVEX_W_0F3834_P_1 */
2878 { "vpmovqw", { EXxmmqd, XM } },
2880 /* EVEX_W_0F3835_P_1 */
2882 { "vpmovqd", { EXxmmq, XM } },
2884 /* EVEX_W_0F3835_P_2 */
2886 { "vpmovzxdq", { XM, EXxmmq } },
2888 /* EVEX_W_0F3837_P_2 */
2891 { "vpcmpgtq", { XMask, Vex, EXx } },
2893 /* EVEX_W_0F383A_P_1 */
2895 { "vpbroadcastmw2d", { XM, MaskR } },
2897 /* EVEX_W_0F3840_P_2 */
2899 { "vpmulld", { XM, Vex, EXx } },
2901 /* EVEX_W_0F3858_P_2 */
2903 { "vpbroadcastd", { XM, EXxmm_md } },
2905 /* EVEX_W_0F3859_P_2 */
2908 { "vpbroadcastq", { XM, EXxmm_mq } },
2910 /* EVEX_W_0F385A_P_2 */
2912 { "vbroadcasti32x4", { XM, EXxmm } },
2914 /* EVEX_W_0F385B_P_2 */
2917 { "vbroadcasti64x4", { XM, EXymm } },
2919 /* EVEX_W_0F3891_P_2 */
2921 { "vpgatherqd", { XMxmmq, MVexVSIBQWpX } },
2922 { "vpgatherqq", { XM, MVexVSIBQWpX } },
2924 /* EVEX_W_0F3893_P_2 */
2926 { "vgatherqps", { XMxmmq, MVexVSIBQWpX } },
2927 { "vgatherqpd", { XM, MVexVSIBQWpX } },
2929 /* EVEX_W_0F38A1_P_2 */
2931 { "vpscatterqd", { MVexVSIBQWpX, XMxmmq } },
2932 { "vpscatterqq", { MVexVSIBQWpX, XM } },
2934 /* EVEX_W_0F38A3_P_2 */
2936 { "vscatterqps", { MVexVSIBQWpX, XMxmmq } },
2937 { "vscatterqpd", { MVexVSIBQWpX, XM } },
2939 /* EVEX_W_0F38C7_R_1_P_2 */
2941 { "vgatherpf0qps", { MVexVSIBDWpX } },
2942 { "vgatherpf0qpd", { MVexVSIBQWpX } },
2944 /* EVEX_W_0F38C7_R_2_P_2 */
2946 { "vgatherpf1qps", { MVexVSIBDWpX } },
2947 { "vgatherpf1qpd", { MVexVSIBQWpX } },
2949 /* EVEX_W_0F38C7_R_5_P_2 */
2951 { "vscatterpf0qps", { MVexVSIBDWpX } },
2952 { "vscatterpf0qpd", { MVexVSIBQWpX } },
2954 /* EVEX_W_0F38C7_R_6_P_2 */
2956 { "vscatterpf1qps", { MVexVSIBDWpX } },
2957 { "vscatterpf1qpd", { MVexVSIBQWpX } },
2960 /* EVEX_W_0F3A00_P_2 */
2963 { "vpermq", { XM, EXx, Ib } },
2965 /* EVEX_W_0F3A01_P_2 */
2968 { "vpermpd", { XM, EXx, Ib } },
2970 /* EVEX_W_0F3A04_P_2 */
2972 { "vpermilps", { XM, EXx, Ib } },
2974 /* EVEX_W_0F3A05_P_2 */
2977 { "vpermilpd", { XM, EXx, Ib } },
2979 /* EVEX_W_0F3A08_P_2 */
2981 { "vrndscaleps", { XM, EXx, EXxEVexS, Ib } },
2983 /* EVEX_W_0F3A09_P_2 */
2986 { "vrndscalepd", { XM, EXx, EXxEVexS, Ib } },
2988 /* EVEX_W_0F3A0A_P_2 */
2990 { "vrndscaless", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib } },
2992 /* EVEX_W_0F3A0B_P_2 */
2995 { "vrndscalesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib } },
2997 /* EVEX_W_0F3A18_P_2 */
2999 { "vinsertf32x4", { XM, Vex, EXxmm, Ib } },
3001 /* EVEX_W_0F3A19_P_2 */
3003 { "vextractf32x4", { EXxmm, XM, Ib } },
3005 /* EVEX_W_0F3A1A_P_2 */
3008 { "vinsertf64x4", { XM, Vex, EXxmmq, Ib } },
3010 /* EVEX_W_0F3A1B_P_2 */
3013 { "vextractf64x4", { EXxmmq, XM, Ib } },
3015 /* EVEX_W_0F3A1D_P_2 */
3017 { "vcvtps2ph", { EXxmmq, XM, EXxEVexS, Ib } },
3019 /* EVEX_W_0F3A21_P_2 */
3021 { "vinsertps", { XMM, Vex, EXxmm_md, Ib } },
3023 /* EVEX_W_0F3A23_P_2 */
3025 { "vshuff32x4", { XM, Vex, EXx, Ib } },
3026 { "vshuff64x2", { XM, Vex, EXx, Ib } },
3028 /* EVEX_W_0F3A38_P_2 */
3030 { "vinserti32x4", { XM, Vex, EXxmm, Ib } },
3032 /* EVEX_W_0F3A39_P_2 */
3034 { "vextracti32x4", { EXxmm, XM, Ib } },
3036 /* EVEX_W_0F3A3A_P_2 */
3039 { "vinserti64x4", { XM, Vex, EXxmmq, Ib } },
3041 /* EVEX_W_0F3A3B_P_2 */
3044 { "vextracti64x4", { EXxmmq, XM, Ib } },
3046 /* EVEX_W_0F3A43_P_2 */
3048 { "vshufi32x4", { XM, Vex, EXx, Ib } },
3049 { "vshufi64x2", { XM, Vex, EXx, Ib } },
3051 #endif /* NEED_VEX_W_TABLE */
3052 #ifdef NEED_MOD_TABLE
3054 /* MOD_EVEX_0F10_PREFIX_1 */
3055 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) },
3056 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) },
3059 /* MOD_EVEX_0F10_PREFIX_3 */
3060 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) },
3061 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) },
3064 /* MOD_EVEX_0F11_PREFIX_1 */
3065 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) },
3066 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) },
3069 /* MOD_EVEX_0F11_PREFIX_3 */
3070 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) },
3071 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) },
3074 /* MOD_EVEX_0F12_PREFIX_0 */
3075 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) },
3076 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) },
3079 /* MOD_EVEX_0F16_PREFIX_0 */
3080 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_0) },
3081 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) },
3084 /* MOD_EVEX_0F38C6_REG_1 */
3085 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) },
3088 /* MOD_EVEX_0F38C6_REG_2 */
3089 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_2) },
3092 /* MOD_EVEX_0F38C6_REG_5 */
3093 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_5) },
3096 /* MOD_EVEX_0F38C6_REG_6 */
3097 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_6) },
3100 /* MOD_EVEX_0F38C7_REG_1 */
3101 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_1) },
3104 /* MOD_EVEX_0F38C7_REG_2 */
3105 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_2) },
3108 /* MOD_EVEX_0F38C7_REG_5 */
3109 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_5) },
3112 /* MOD_EVEX_0F38C7_REG_6 */
3113 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_6) },
3115 #endif /* NEED_MOD_TABLE */