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
, EXx
} },
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
, EXx
} },
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
, MVexVSIBQWpX
} },
2910 { "vpgatherqq", { XM
, MVexVSIBQWpX
} },
2912 /* EVEX_W_0F3893_P_2 */
2914 { "vgatherqps", { XMxmmq
, MVexVSIBQWpX
} },
2915 { "vgatherqpd", { XM
, MVexVSIBQWpX
} },
2917 /* EVEX_W_0F38A1_P_2 */
2919 { "vpscatterqd", { MVexVSIBQWpX
, XMxmmq
} },
2920 { "vpscatterqq", { MVexVSIBQWpX
, XM
} },
2922 /* EVEX_W_0F38A3_P_2 */
2924 { "vscatterqps", { MVexVSIBQWpX
, XMxmmq
} },
2925 { "vscatterqpd", { MVexVSIBQWpX
, XM
} },
2927 /* EVEX_W_0F38C7_R_1_P_2 */
2929 { "vgatherpf0qps", { MVexVSIBDWpX
} },
2930 { "vgatherpf0qpd", { MVexVSIBQWpX
} },
2932 /* EVEX_W_0F38C7_R_2_P_2 */
2934 { "vgatherpf1qps", { MVexVSIBDWpX
} },
2935 { "vgatherpf1qpd", { MVexVSIBQWpX
} },
2937 /* EVEX_W_0F38C7_R_5_P_2 */
2939 { "vscatterpf0qps", { MVexVSIBDWpX
} },
2940 { "vscatterpf0qpd", { MVexVSIBQWpX
} },
2942 /* EVEX_W_0F38C7_R_6_P_2 */
2944 { "vscatterpf1qps", { MVexVSIBDWpX
} },
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 */
This page took 0.095043 seconds and 4 git commands to generate.