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 */
This page took 0.124768 seconds and 5 git commands to generate.