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) },
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_0F3A43 */
2189 { VEX_W_TABLE (EVEX_W_0F3A43_P_2) },
2191 /* PREFIX_EVEX_0F3A54 */
2195 { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib } },
2197 /* PREFIX_EVEX_0F3A55 */
2201 { "vfixupimms%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib } },
2203 #endif /* NEED_PREFIX_TABLE */
2205 #ifdef NEED_VEX_W_TABLE
2206 /* EVEX_W_0F10_P_0 */
2208 { "vmovups", { XM, EXEvexXNoBcst } },
2210 /* EVEX_W_0F10_P_1_M_0 */
2212 { "vmovss", { XMScalar, EXdScalar } },
2214 /* EVEX_W_0F10_P_1_M_1 */
2216 { "vmovss", { XMScalar, VexScalar, EXxmm_md } },
2218 /* EVEX_W_0F10_P_2 */
2221 { "vmovupd", { XM, EXEvexXNoBcst } },
2223 /* EVEX_W_0F10_P_3_M_0 */
2226 { "vmovsd", { XMScalar, EXqScalar } },
2228 /* EVEX_W_0F10_P_3_M_1 */
2231 { "vmovsd", { XMScalar, VexScalar, EXxmm_mq } },
2233 /* EVEX_W_0F11_P_0 */
2235 { "vmovups", { EXxS, XM } },
2237 /* EVEX_W_0F11_P_1_M_0 */
2239 { "vmovss", { EXdScalarS, XMScalar } },
2241 /* EVEX_W_0F11_P_1_M_1 */
2243 { "vmovss", { EXxS, Vex, XMScalar } },
2245 /* EVEX_W_0F11_P_2 */
2248 { "vmovupd", { EXxS, XM } },
2250 /* EVEX_W_0F11_P_3_M_0 */
2253 { "vmovsd", { EXqScalarS, XMScalar } },
2255 /* EVEX_W_0F11_P_3_M_1 */
2258 { "vmovsd", { EXxS, Vex, XMScalar } },
2260 /* EVEX_W_0F12_P_0_M_0 */
2262 { "vmovlps", { XMM, Vex, EXxmm_mq } },
2264 /* EVEX_W_0F12_P_0_M_1 */
2266 { "vmovhlps", { XMM, Vex, EXxmm_mq } },
2268 /* EVEX_W_0F12_P_1 */
2270 { "vmovsldup", { XM, EXEvexXNoBcst } },
2272 /* EVEX_W_0F12_P_2 */
2275 { "vmovlpd", { XMM, Vex, EXxmm_mq } },
2277 /* EVEX_W_0F12_P_3 */
2280 { "vmovddup", { XM, EXymmq } },
2282 /* EVEX_W_0F13_P_0 */
2284 { "vmovlps", { EXxmm_mq, XMM } },
2286 /* EVEX_W_0F13_P_2 */
2289 { "vmovlpd", { EXxmm_mq, XMM } },
2291 /* EVEX_W_0F14_P_0 */
2293 { "vunpcklps", { XM, Vex, EXx } },
2295 /* EVEX_W_0F14_P_2 */
2298 { "vunpcklpd", { XM, Vex, EXx } },
2300 /* EVEX_W_0F15_P_0 */
2302 { "vunpckhps", { XM, Vex, EXx } },
2304 /* EVEX_W_0F15_P_2 */
2307 { "vunpckhpd", { XM, Vex, EXx } },
2309 /* EVEX_W_0F16_P_0_M_0 */
2311 { "vmovhps", { XMM, Vex, EXxmm_mq } },
2313 /* EVEX_W_0F16_P_0_M_1 */
2315 { "vmovlhps", { XMM, Vex, EXx } },
2317 /* EVEX_W_0F16_P_1 */
2319 { "vmovshdup", { XM, EXx } },
2321 /* EVEX_W_0F16_P_2 */
2324 { "vmovhpd", { XMM, Vex, EXxmm_mq } },
2326 /* EVEX_W_0F17_P_0 */
2328 { "vmovhps", { EXxmm_mq, XMM } },
2330 /* EVEX_W_0F17_P_2 */
2333 { "vmovhpd", { EXxmm_mq, XMM } },
2335 /* EVEX_W_0F28_P_0 */
2337 { "vmovaps", { XM, EXx } },
2339 /* EVEX_W_0F28_P_2 */
2342 { "vmovapd", { XM, EXx } },
2344 /* EVEX_W_0F29_P_0 */
2346 { "vmovaps", { EXxS, XM } },
2348 /* EVEX_W_0F29_P_2 */
2351 { "vmovapd", { EXxS, XM } },
2353 /* EVEX_W_0F2A_P_1 */
2355 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Ed } },
2356 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Eq } },
2358 /* EVEX_W_0F2A_P_3 */
2360 { "vcvtsi2sd", { XMScalar, VexScalar, Ed } },
2361 { "vcvtsi2sd", { XMScalar, VexScalar, EXxEVexR, Eq } },
2363 /* EVEX_W_0F2B_P_0 */
2365 { "vmovntps", { EXx, XM } },
2367 /* EVEX_W_0F2B_P_2 */
2370 { "vmovntpd", { EXx, XM } },
2372 /* EVEX_W_0F2E_P_0 */
2374 { "vucomiss", { XMScalar, EXxmm_md, EXxEVexS } },
2376 /* EVEX_W_0F2E_P_2 */
2379 { "vucomisd", { XMScalar, EXxmm_mq, EXxEVexS } },
2381 /* EVEX_W_0F2F_P_0 */
2383 { "vcomiss", { XMScalar, EXxmm_md, EXxEVexS } },
2385 /* EVEX_W_0F2F_P_2 */
2388 { "vcomisd", { XMScalar, EXxmm_mq, EXxEVexS } },
2390 /* EVEX_W_0F51_P_0 */
2392 { "vsqrtps", { XM, EXx, EXxEVexR } },
2394 /* EVEX_W_0F51_P_1 */
2396 { "vsqrtss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2398 /* EVEX_W_0F51_P_2 */
2401 { "vsqrtpd", { XM, EXx, EXxEVexR } },
2403 /* EVEX_W_0F51_P_3 */
2406 { "vsqrtsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2408 /* EVEX_W_0F58_P_0 */
2410 { "vaddps", { XM, Vex, EXx, EXxEVexR } },
2412 /* EVEX_W_0F58_P_1 */
2414 { "vaddss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2416 /* EVEX_W_0F58_P_2 */
2419 { "vaddpd", { XM, Vex, EXx, EXxEVexR } },
2421 /* EVEX_W_0F58_P_3 */
2424 { "vaddsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2426 /* EVEX_W_0F59_P_0 */
2428 { "vmulps", { XM, Vex, EXx, EXxEVexR } },
2430 /* EVEX_W_0F59_P_1 */
2432 { "vmulss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2434 /* EVEX_W_0F59_P_2 */
2437 { "vmulpd", { XM, Vex, EXx, EXxEVexR } },
2439 /* EVEX_W_0F59_P_3 */
2442 { "vmulsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2444 /* EVEX_W_0F5A_P_0 */
2446 { "vcvtps2pd", { XM, EXEvexHalfBcstXmmq, EXxEVexS } },
2448 /* EVEX_W_0F5A_P_1 */
2450 { "vcvtss2sd", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
2452 /* EVEX_W_0F5A_P_2 */
2455 { "vcvtpd2ps", { XMxmmq, EXx, EXxEVexR } },
2457 /* EVEX_W_0F5A_P_3 */
2460 { "vcvtsd2ss", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2462 /* EVEX_W_0F5B_P_0 */
2464 { "vcvtdq2ps", { XM, EXx, EXxEVexR } },
2466 /* EVEX_W_0F5B_P_1 */
2468 { "vcvttps2dq", { XM, EXx, EXxEVexS } },
2470 /* EVEX_W_0F5B_P_2 */
2472 { "vcvtps2dq", { XM, EXx, EXxEVexR } },
2474 /* EVEX_W_0F5C_P_0 */
2476 { "vsubps", { XM, Vex, EXx, EXxEVexR } },
2478 /* EVEX_W_0F5C_P_1 */
2480 { "vsubss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2482 /* EVEX_W_0F5C_P_2 */
2485 { "vsubpd", { XM, Vex, EXx, EXxEVexR } },
2487 /* EVEX_W_0F5C_P_3 */
2490 { "vsubsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2492 /* EVEX_W_0F5D_P_0 */
2494 { "vminps", { XM, Vex, EXx, EXxEVexS } },
2496 /* EVEX_W_0F5D_P_1 */
2498 { "vminss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
2500 /* EVEX_W_0F5D_P_2 */
2503 { "vminpd", { XM, Vex, EXx, EXxEVexS } },
2505 /* EVEX_W_0F5D_P_3 */
2508 { "vminsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS } },
2510 /* EVEX_W_0F5E_P_0 */
2512 { "vdivps", { XM, Vex, EXx, EXxEVexR } },
2514 /* EVEX_W_0F5E_P_1 */
2516 { "vdivss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR } },
2518 /* EVEX_W_0F5E_P_2 */
2521 { "vdivpd", { XM, Vex, EXx, EXxEVexR } },
2523 /* EVEX_W_0F5E_P_3 */
2526 { "vdivsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR } },
2528 /* EVEX_W_0F5F_P_0 */
2530 { "vmaxps", { XM, Vex, EXx, EXxEVexS } },
2532 /* EVEX_W_0F5F_P_1 */
2534 { "vmaxss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS } },
2536 /* EVEX_W_0F5F_P_2 */
2539 { "vmaxpd", { XM, Vex, EXx, EXxEVexS } },
2541 /* EVEX_W_0F5F_P_3 */
2544 { "vmaxsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS } },
2546 /* EVEX_W_0F62_P_2 */
2548 { "vpunpckldq", { XM, Vex, EXx } },
2550 /* EVEX_W_0F66_P_2 */
2552 { "vpcmpgtd", { XMask, Vex, EXx } },
2554 /* EVEX_W_0F6A_P_2 */
2556 { "vpunpckhdq", { XM, Vex, EXx } },
2558 /* EVEX_W_0F6C_P_2 */
2561 { "vpunpcklqdq", { XM, Vex, EXx } },
2563 /* EVEX_W_0F6D_P_2 */
2566 { "vpunpckhqdq", { XM, Vex, EXx } },
2568 /* EVEX_W_0F6E_P_2 */
2570 { "vmovd", { XMScalar, Ed } },
2571 { "vmovq", { XMScalar, Eq } },
2573 /* EVEX_W_0F6F_P_1 */
2575 { "vmovdqu32", { XM, EXEvexXNoBcst } },
2576 { "vmovdqu64", { XM, EXEvexXNoBcst } },
2578 /* EVEX_W_0F6F_P_2 */
2580 { "vmovdqa32", { XM, EXEvexXNoBcst } },
2581 { "vmovdqa64", { XM, EXEvexXNoBcst } },
2583 /* EVEX_W_0F70_P_2 */
2585 { "vpshufd", { XM, EXx, Ib } },
2587 /* EVEX_W_0F72_R_2_P_2 */
2589 { "vpsrld", { Vex, EXx, Ib } },
2591 /* EVEX_W_0F72_R_6_P_2 */
2593 { "vpslld", { Vex, EXx, Ib } },
2595 /* EVEX_W_0F73_R_2_P_2 */
2598 { "vpsrlq", { Vex, EXx, Ib } },
2600 /* EVEX_W_0F73_R_6_P_2 */
2603 { "vpsllq", { Vex, EXx, Ib } },
2605 /* EVEX_W_0F76_P_2 */
2607 { "vpcmpeqd", { XMask, Vex, EXx } },
2609 /* EVEX_W_0F78_P_0 */
2611 { "vcvttps2udq", { XM, EXx, EXxEVexS } },
2612 { "vcvttpd2udq", { XMxmmq, EXx, EXxEVexS } },
2614 /* EVEX_W_0F79_P_0 */
2616 { "vcvtps2udq", { XM, EXx, EXxEVexR } },
2617 { "vcvtpd2udq", { XMxmmq, EXx, EXxEVexR } },
2619 /* EVEX_W_0F7A_P_1 */
2621 { "vcvtudq2pd", { XM, EXEvexHalfBcstXmmq } },
2623 /* EVEX_W_0F7A_P_3 */
2625 { "vcvtudq2ps", { XM, EXx, EXxEVexR } },
2627 /* EVEX_W_0F7B_P_1 */
2629 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Ed } },
2630 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Eq } },
2632 /* EVEX_W_0F7B_P_3 */
2634 { "vcvtusi2sd", { XMScalar, VexScalar, Ed } },
2635 { "vcvtusi2sd", { XMScalar, VexScalar, EXxEVexR, Eq } },
2637 /* EVEX_W_0F7E_P_1 */
2640 { "vmovq", { XMScalar, EXxmm_mq } },
2642 /* EVEX_W_0F7E_P_2 */
2644 { "vmovd", { Ed, XMScalar } },
2645 { "vmovq", { Eq, XMScalar } },
2647 /* EVEX_W_0F7F_P_1 */
2649 { "vmovdqu32", { EXxS, XM } },
2650 { "vmovdqu64", { EXxS, XM } },
2652 /* EVEX_W_0F7F_P_2 */
2654 { "vmovdqa32", { EXxS, XM } },
2655 { "vmovdqa64", { EXxS, XM } },
2657 /* EVEX_W_0FC2_P_0 */
2659 { "vcmpps", { XMask, Vex, EXx, EXxEVexS, VCMP } },
2661 /* EVEX_W_0FC2_P_1 */
2663 { "vcmpss", { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP } },
2665 /* EVEX_W_0FC2_P_2 */
2668 { "vcmppd", { XMask, Vex, EXx, EXxEVexS, VCMP } },
2670 /* EVEX_W_0FC2_P_3 */
2673 { "vcmpsd", { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP } },
2675 /* EVEX_W_0FC6_P_0 */
2677 { "vshufps", { XM, Vex, EXx, Ib } },
2679 /* EVEX_W_0FC6_P_2 */
2682 { "vshufpd", { XM, Vex, EXx, Ib } },
2684 /* EVEX_W_0FD2_P_2 */
2686 { "vpsrld", { XM, Vex, EXxmm } },
2688 /* EVEX_W_0FD3_P_2 */
2691 { "vpsrlq", { XM, Vex, EXxmm } },
2693 /* EVEX_W_0FD4_P_2 */
2696 { "vpaddq", { XM, Vex, EXx } },
2698 /* EVEX_W_0FD6_P_2 */
2701 { "vmovq", { EXxmm_mq, XMScalar } },
2703 /* EVEX_W_0FE6_P_1 */
2705 { "vcvtdq2pd", { XM, EXEvexHalfBcstXmmq } },
2707 /* EVEX_W_0FE6_P_2 */
2710 { "vcvttpd2dq", { XMxmmq, EXx, EXxEVexS } },
2712 /* EVEX_W_0FE6_P_3 */
2715 { "vcvtpd2dq", { XMxmmq, EXx, EXxEVexR } },
2717 /* EVEX_W_0FE7_P_2 */
2719 { "vmovntdq", { EXEvexXNoBcst, XM } },
2721 /* EVEX_W_0FF2_P_2 */
2723 { "vpslld", { XM, Vex, EXxmm } },
2725 /* EVEX_W_0FF3_P_2 */
2728 { "vpsllq", { XM, Vex, EXxmm } },
2730 /* EVEX_W_0FF4_P_2 */
2733 { "vpmuludq", { XM, Vex, EXx } },
2735 /* EVEX_W_0FFA_P_2 */
2737 { "vpsubd", { XM, Vex, EXx } },
2739 /* EVEX_W_0FFB_P_2 */
2742 { "vpsubq", { XM, Vex, EXx } },
2744 /* EVEX_W_0FFE_P_2 */
2746 { "vpaddd", { XM, Vex, EXx } },
2749 /* EVEX_W_0F380C_P_2 */
2751 { "vpermilps", { XM, Vex, EXx } },
2753 /* EVEX_W_0F380D_P_2 */
2756 { "vpermilpd", { XM, Vex, EXx } },
2758 /* EVEX_W_0F3811_P_1 */
2760 { "vpmovusdb", { EXxmmqd, XM } },
2762 /* EVEX_W_0F3812_P_1 */
2764 { "vpmovusqb", { EXxmmdw, XM } },
2766 /* EVEX_W_0F3813_P_1 */
2768 { "vpmovusdw", { EXxmmq, XM } },
2770 /* EVEX_W_0F3813_P_2 */
2772 { "vcvtph2ps", { XM, EXxmmq, EXxEVexS } },
2774 /* EVEX_W_0F3814_P_1 */
2776 { "vpmovusqw", { EXxmmqd, XM } },
2778 /* EVEX_W_0F3815_P_1 */
2780 { "vpmovusqd", { EXxmmq, XM } },
2782 /* EVEX_W_0F3818_P_2 */
2784 { "vbroadcastss", { XM, EXxmm_md } },
2786 /* EVEX_W_0F3819_P_2 */
2789 { "vbroadcastsd", { XM, EXxmm_mq } },
2791 /* EVEX_W_0F381A_P_2 */
2793 { "vbroadcastf32x4", { XM, EXxmm } },
2795 /* EVEX_W_0F381B_P_2 */
2798 { "vbroadcastf64x4", { XM, EXymm } },
2800 /* EVEX_W_0F381E_P_2 */
2802 { "vpabsd", { XM, EXx } },
2804 /* EVEX_W_0F381F_P_2 */
2807 { "vpabsq", { XM, EXx } },
2809 /* EVEX_W_0F3821_P_1 */
2811 { "vpmovsdb", { EXxmmqd, XM } },
2813 /* EVEX_W_0F3822_P_1 */
2815 { "vpmovsqb", { EXxmmdw, XM } },
2817 /* EVEX_W_0F3823_P_1 */
2819 { "vpmovsdw", { EXxmmq, XM } },
2821 /* EVEX_W_0F3824_P_1 */
2823 { "vpmovsqw", { EXxmmqd, XM } },
2825 /* EVEX_W_0F3825_P_1 */
2827 { "vpmovsqd", { EXxmmq, XM } },
2829 /* EVEX_W_0F3825_P_2 */
2831 { "vpmovsxdq", { XM, EXxmmq } },
2833 /* EVEX_W_0F3828_P_2 */
2836 { "vpmuldq", { XM, Vex, EXx } },
2838 /* EVEX_W_0F3829_P_2 */
2841 { "vpcmpeqq", { XMask, Vex, EXx } },
2843 /* EVEX_W_0F382A_P_1 */
2846 { "vpbroadcastmb2q", { XM, MaskR } },
2848 /* EVEX_W_0F382A_P_2 */
2850 { "vmovntdqa", { XM, EXEvexXNoBcst } },
2852 /* EVEX_W_0F3831_P_1 */
2854 { "vpmovdb", { EXxmmqd, XM } },
2856 /* EVEX_W_0F3832_P_1 */
2858 { "vpmovqb", { EXxmmdw, XM } },
2860 /* EVEX_W_0F3833_P_1 */
2862 { "vpmovdw", { EXxmmq, XM } },
2864 /* EVEX_W_0F3834_P_1 */
2866 { "vpmovqw", { EXxmmqd, XM } },
2868 /* EVEX_W_0F3835_P_1 */
2870 { "vpmovqd", { EXxmmq, XM } },
2872 /* EVEX_W_0F3835_P_2 */
2874 { "vpmovzxdq", { XM, EXxmmq } },
2876 /* EVEX_W_0F3837_P_2 */
2879 { "vpcmpgtq", { XMask, Vex, EXx } },
2881 /* EVEX_W_0F383A_P_1 */
2883 { "vpbroadcastmw2d", { XM, MaskR } },
2885 /* EVEX_W_0F3840_P_2 */
2887 { "vpmulld", { XM, Vex, EXx } },
2889 /* EVEX_W_0F3858_P_2 */
2891 { "vpbroadcastd", { XM, EXxmm_md } },
2893 /* EVEX_W_0F3859_P_2 */
2896 { "vpbroadcastq", { XM, EXxmm_mq } },
2898 /* EVEX_W_0F385A_P_2 */
2900 { "vbroadcasti32x4", { XM, EXxmm } },
2902 /* EVEX_W_0F385B_P_2 */
2905 { "vbroadcasti64x4", { XM, EXymm } },
2907 /* EVEX_W_0F3891_P_2 */
2909 { "vpgatherqd", { XMxmmq, MVexVSIBQDWpX } },
2910 { "vpgatherqq", { XM, MVexVSIBQWpX } },
2912 /* EVEX_W_0F3893_P_2 */
2914 { "vgatherqps", { XMxmmq, MVexVSIBQDWpX } },
2915 { "vgatherqpd", { XM, MVexVSIBQWpX } },
2917 /* EVEX_W_0F38A1_P_2 */
2919 { "vpscatterqd", { MVexVSIBQDWpX, XMxmmq } },
2920 { "vpscatterqq", { MVexVSIBQWpX, XM } },
2922 /* EVEX_W_0F38A3_P_2 */
2924 { "vscatterqps", { MVexVSIBQDWpX, XMxmmq } },
2925 { "vscatterqpd", { MVexVSIBQWpX, XM } },
2927 /* EVEX_W_0F38C7_R_1_P_2 */
2929 { "vgatherpf0qps", { MVexVSIBDQWpX } },
2930 { "vgatherpf0qpd", { MVexVSIBQWpX } },
2932 /* EVEX_W_0F38C7_R_2_P_2 */
2934 { "vgatherpf1qps", { MVexVSIBDQWpX } },
2935 { "vgatherpf1qpd", { MVexVSIBQWpX } },
2937 /* EVEX_W_0F38C7_R_5_P_2 */
2939 { "vscatterpf0qps", { MVexVSIBDQWpX } },
2940 { "vscatterpf0qpd", { MVexVSIBQWpX } },
2942 /* EVEX_W_0F38C7_R_6_P_2 */
2944 { "vscatterpf1qps", { MVexVSIBDQWpX } },
2945 { "vscatterpf1qpd", { MVexVSIBQWpX } },
2948 /* EVEX_W_0F3A00_P_2 */
2951 { "vpermq", { XM, EXx, Ib } },
2953 /* EVEX_W_0F3A01_P_2 */
2956 { "vpermpd", { XM, EXx, Ib } },
2958 /* EVEX_W_0F3A04_P_2 */
2960 { "vpermilps", { XM, EXx, Ib } },
2962 /* EVEX_W_0F3A05_P_2 */
2965 { "vpermilpd", { XM, EXx, Ib } },
2967 /* EVEX_W_0F3A08_P_2 */
2969 { "vrndscaleps", { XM, EXx, EXxEVexS, Ib } },
2971 /* EVEX_W_0F3A09_P_2 */
2974 { "vrndscalepd", { XM, EXx, EXxEVexS, Ib } },
2976 /* EVEX_W_0F3A0A_P_2 */
2978 { "vrndscaless", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib } },
2980 /* EVEX_W_0F3A0B_P_2 */
2983 { "vrndscalesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib } },
2985 /* EVEX_W_0F3A18_P_2 */
2987 { "vinsertf32x4", { XM, Vex, EXxmm, Ib } },
2989 /* EVEX_W_0F3A19_P_2 */
2991 { "vextractf32x4", { EXxmm, XM, Ib } },
2993 /* EVEX_W_0F3A1A_P_2 */
2996 { "vinsertf64x4", { XM, Vex, EXxmmq, Ib } },
2998 /* EVEX_W_0F3A1B_P_2 */
3001 { "vextractf64x4", { EXxmmq, XM, Ib } },
3003 /* EVEX_W_0F3A1D_P_2 */
3005 { "vcvtps2ph", { EXxmmq, XM, EXxEVexS, Ib } },
3007 /* EVEX_W_0F3A21_P_2 */
3009 { "vinsertps", { XMM, Vex, EXxmm_md, Ib } },
3011 /* EVEX_W_0F3A23_P_2 */
3013 { "vshuff32x4", { XM, Vex, EXx, Ib } },
3014 { "vshuff64x2", { XM, Vex, EXx, Ib } },
3016 /* EVEX_W_0F3A38_P_2 */
3018 { "vinserti32x4", { XM, Vex, EXxmm, Ib } },
3020 /* EVEX_W_0F3A39_P_2 */
3022 { "vextracti32x4", { EXxmm, XM, Ib } },
3024 /* EVEX_W_0F3A3A_P_2 */
3027 { "vinserti64x4", { XM, Vex, EXxmmq, Ib } },
3029 /* EVEX_W_0F3A3B_P_2 */
3032 { "vextracti64x4", { EXxmmq, XM, Ib } },
3034 /* EVEX_W_0F3A43_P_2 */
3036 { "vshufi32x4", { XM, Vex, EXx, Ib } },
3037 { "vshufi64x2", { XM, Vex, EXx, Ib } },
3039 #endif /* NEED_VEX_W_TABLE */
3040 #ifdef NEED_MOD_TABLE
3042 /* MOD_EVEX_0F10_PREFIX_1 */
3043 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) },
3044 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) },
3047 /* MOD_EVEX_0F10_PREFIX_3 */
3048 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) },
3049 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) },
3052 /* MOD_EVEX_0F11_PREFIX_1 */
3053 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) },
3054 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) },
3057 /* MOD_EVEX_0F11_PREFIX_3 */
3058 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) },
3059 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) },
3062 /* MOD_EVEX_0F12_PREFIX_0 */
3063 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) },
3064 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) },
3067 /* MOD_EVEX_0F16_PREFIX_0 */
3068 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_0) },
3069 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) },
3072 /* MOD_EVEX_0F38C6_REG_1 */
3073 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) },
3076 /* MOD_EVEX_0F38C6_REG_2 */
3077 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_2) },
3080 /* MOD_EVEX_0F38C6_REG_5 */
3081 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_5) },
3084 /* MOD_EVEX_0F38C6_REG_6 */
3085 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_6) },
3088 /* MOD_EVEX_0F38C7_REG_1 */
3089 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_1) },
3092 /* MOD_EVEX_0F38C7_REG_2 */
3093 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_2) },
3096 /* MOD_EVEX_0F38C7_REG_5 */
3097 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_5) },
3100 /* MOD_EVEX_0F38C7_REG_6 */
3101 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_6) },
3103 #endif /* NEED_MOD_TABLE */