1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
|
/* ANSI-C code produced by genperf */
struct insnprefix_parse_data;
static const struct insnprefix_parse_data *
insnprefix_gas_find(const char *key, size_t len)
{
static const struct insnprefix_parse_data pd[2070] = {
{"vpunpckhqdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"psrad", pshift_insn, 4, SUF_Z, 0xE2, 0x72, 0x04, 0, CPU_MMX, 0, 0},
{"rsldt", cyrixsmm_insn, 1, SUF_Z, 0x7B, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM},
{"ldmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0},
{"idivl", div_insn, 8, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0},
{"vhaddpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"aqword", NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vcmpeq_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x08, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"subl", arith_insn, 22, SUF_L, 0x28, 0x05, 0, 0, CPU_386, 0, 0},
{"vcmple_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x12, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"shrdw", shlrd_insn, 9, SUF_W, 0xAC, 0, 0, 0, CPU_386, 0, 0},
{"xchgb", xchg_insn, 16, SUF_B, 0, 0, 0, 0, 0, 0, 0},
{"dec", incdec_insn, 6, SUF_Z, 0x48, 0x01, 0, 0, 0, 0, 0},
{"finit", threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE3, 0, CPU_FPU, 0, 0},
{"iret", onebyte_insn, 1, SUF_Z, 0xCF, 0, 0, 0, 0, 0, 0},
{"mul", f6_insn, 4, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0},
{"vcvtdq2pd", avx_cvt_xmm64_insn, 3, SUF_Z, 0xF3, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"lzcntl", cnt_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0},
{"vucomiss", avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vblendpd", sse4imm_256_insn, 4, SUF_Z, 0x0D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"sscal", onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0},
{"vcmpnlt_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x15, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setpob", setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0},
{"andn", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0},
{"scasq", onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0},
{"xorw", arith_insn, 22, SUF_W, 0x30, 0x06, 0, 0, 0, 0, 0},
{"vprotw", vprot_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0},
{"vfmsub231sd", vfma_sd_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vpmovmskbq", pmovmskb_insn, 6, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"data32", NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0},
{"movntdq", movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0, 0, CPU_SSE2, 0, 0},
{"vandps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fidivrs", fiarith_insn, 2, SUF_S, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vcmpfalse_osss", ssecmp_32_insn, 4, SUF_Z, 0x1B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpneqpd", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpneq_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x0C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomnequb", vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0},
{"vfnmadd213sd", vfma_sd_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmplesd", ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"vpshaq", amd_vpshift_insn, 2, SUF_Z, 0x9B, 0, 0, 0, CPU_XOP, 0, 0},
{"iretw", onebyte_insn, 1, SUF_Z, 0xCF, 0x10, 0, 0, 0, 0, 0},
{"vpcomltub", vpcom_insn, 1, SUF_Z, 0xEC, 0x00, 0, 0, CPU_XOP, 0, 0},
{"vmovupd", movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0},
{"fabs", twobyte_insn, 1, SUF_Z, 0xD9, 0xE1, 0, 0, CPU_FPU, 0, 0},
{"lgdtq", twobytemem_insn, 1, SUF_Q, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vcmpgeps", ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"popfw", onebyte_insn, 1, SUF_Z, 0x9D, 0x10, 0x40, 0, 0, 0, 0},
{"vpmovsxwd", sse4m64_insn, 4, SUF_Z, 0x23, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpsravd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x46, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vpmadcswd", vpma_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_XOP, 0, 0},
{"vpmovsxbq", sse4m16_insn, 4, SUF_Z, 0x22, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomleud", vpcom_insn, 1, SUF_Z, 0xEE, 0x01, 0, 0, CPU_XOP, 0, 0},
{"phsubw", ssse3_insn, 5, SUF_Z, 0x05, 0, 0, 0, CPU_SSSE3, 0, 0},
{"call", call_insn, 30, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"cmovpe", cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0},
{"vpcomneqq", vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0},
{"fcomp", fcom_insn, 6, SUF_Z, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0},
{"vdpps", sse4imm_256_insn, 4, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmovsxdq", sse4m64_insn, 4, SUF_Z, 0x25, 0, 0, 0, CPU_SSE41, 0, 0},
{"rcll", shift_insn, 16, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"xorps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x57, 0, 0, CPU_SSE, 0, 0},
{"cmovaq", cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0},
{"int3", onebyte_insn, 1, SUF_Z, 0xCC, 0, 0, 0, 0, 0, 0},
{"fsubrp", farithp_insn, 3, SUF_Z, 0xE8, 0, 0, 0, CPU_FPU, 0, 0},
{"pdepq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"vfmadd132pd", vfma_pd_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"bts", bittest_insn, 6, SUF_Z, 0xAB, 0x05, 0, 0, CPU_386, 0, 0},
{"jnge", jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0},
{"movbe", movbe_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MOVBE, 0, 0},
{"rsdc", rsdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM},
{"psubusb", mmxsse2_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_MMX, 0, 0},
{"pmaxsb", sse4_insn, 2, SUF_Z, 0x3C, 0, 0, 0, CPU_SSE41, 0, 0},
{"ffree", ffree_insn, 1, SUF_Z, 0xDD, 0, 0, 0, CPU_FPU, 0, 0},
{"fsubrl", farith_insn, 7, SUF_L, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0},
{"pminsb", sse4_insn, 2, SUF_Z, 0x38, 0, 0, 0, CPU_SSE41, 0, 0},
{"vcmpltsd", ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtsd2ss", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"verr", prot286_insn, 1, SUF_Z, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0},
{"pcmpgtb", mmxsse2_insn, 2, SUF_Z, 0x64, 0, 0, 0, CPU_MMX, 0, 0},
{"lcall", ljmpcall_insn, 7, SUF_Z, 0x03, 0x9A, 0, 0, 0, 0, 0},
{"vcmpngt_uqss", ssecmp_32_insn, 4, SUF_Z, 0x1A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmulhuw", mmxsse2_insn, 2, SUF_Z, 0xE4, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vcmpeq_ossd", ssecmp_64_insn, 4, SUF_Z, 0x10, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmaxsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpclmulhqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpunord_sps", ssecmp_128_insn, 3, SUF_Z, 0x13, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"data64", NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0},
{"fimul", fiarith_insn, 2, SUF_Z, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"tzcntq", cnt_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_BMI1, 0, 0},
{"cmovgel", cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0},
{"cmovbw", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"vcmpordss", ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"blendpd", sse4imm_insn, 2, SUF_Z, 0x0D, 0, 0, 0, CPU_SSE41, 0, 0},
{"seta", setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0},
{"vfnmaddss", fma_128_m32_insn, 3, SUF_Z, 0x7A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"blsfilll", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0},
{"incw", incdec_insn, 6, SUF_W, 0x40, 0x00, 0, 0, 0, 0, 0},
{"blsmsk", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0},
{"testq", test_insn, 20, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"pushfq", onebyte_insn, 1, SUF_Z, 0x9C, 0x40, 0x40, ONLY_64, 0, 0, 0},
{"jbe", jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0},
{"vpcomuw", vpcom_imm_insn, 1, SUF_Z, 0xED, 0, 0, 0, CPU_XOP, 0, 0},
{"vcomisd", avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpneq_osps", ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpneq_usps", ssecmp_128_insn, 3, SUF_Z, 0x14, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pswapd", now3d_insn, 1, SUF_Z, 0xBB, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0},
{"blciq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x06, 0, ONLY_64, CPU_TBM, 0, 0},
{"skinit", skinit_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0},
{"sqrtsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0, 0, CPU_SSE2, 0, 0},
{"frndint", twobyte_insn, 1, SUF_Z, 0xD9, 0xFC, 0, 0, CPU_FPU, 0, 0},
{"vpxor", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movmskpdl", movmsk_insn, 4, SUF_L, 0x66, 0, 0, 0, CPU_SSE2, 0, 0},
{"cmpltss", ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"loop", loop_insn, 8, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0},
{"vphsubwd", vphaddsub_insn, 1, SUF_Z, 0xE2, 0, 0, 0, CPU_XOP, 0, 0},
{"vpcomltuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x00, 0, 0, CPU_XOP, 0, 0},
{"psubq", mmxsse2_insn, 2, SUF_Z, 0xFB, 0, 0, 0, CPU_MMX, 0, 0},
{"cmovcq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0},
{"vpsrlw", vpshift_insn, 8, SUF_Z, 0xD1, 0x71, 0x02, ONLY_AVX, CPU_AVX, 0, 0},
{"setleb", setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0},
{"vcmpnltps", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cvtps2pi", cvt_mm_xmm64_insn, 2, SUF_Z, 0x2D, 0, 0, 0, CPU_SSE, 0, 0},
{"lgdtw", twobytemem_insn, 1, SUF_W, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vpcomq", vpcom_imm_insn, 1, SUF_Z, 0xCF, 0, 0, 0, CPU_XOP, 0, 0},
{"jna", jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0},
{"vpsubusb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpgt_oqss", ssecmp_32_insn, 4, SUF_Z, 0x1E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmsub231ps", vfma_ps_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vfnmsubpd", fma_128_256_insn, 4, SUF_Z, 0x7D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"vmsave", svm_rax_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_SVM, 0, 0},
{"aesdec", aes_insn, 2, SUF_Z, 0x38, 0xDE, 0, 0, CPU_AVX, 0, 0},
{"vcvtpd2ps", avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vphaddwq", vphaddsub_insn, 1, SUF_Z, 0xC7, 0, 0, 0, CPU_XOP, 0, 0},
{"cmovpo", cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0},
{"pmulld", sse4_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0},
{"cbtw", onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0},
{"loadall286", twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_286, CPU_Undoc, 0},
{"rexy", NULL, X86_REX>>8, 0x42, 0, 0, 0, ONLY_64, 0, 0, 0},
{"lgsw", lfgss_insn, 3, SUF_W, 0xB5, 0, 0, 0, CPU_386, 0, 0},
{"vcmpngeps", ssecmp_128_insn, 3, SUF_Z, 0x09, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"btc", bittest_insn, 6, SUF_Z, 0xBB, 0x07, 0, 0, CPU_386, 0, 0},
{"vcmpeq_uqss", ssecmp_32_insn, 4, SUF_Z, 0x08, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"invept", eptvpid_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_386, CPU_EPTVPID, 0},
{"vfmaddsub231pd", vfma_pd_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"strl", str_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_Prot, 0},
{"shlxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0},
{"loopq", loopq_insn, 4, SUF_Z, 0x02, 0x40, 0, ONLY_64, 0, 0, 0},
{"pmvzb", cyrixmmx_insn, 1, SUF_Z, 0x58, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"vshufpd", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpsubq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fnstsw", fnstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"incl", incdec_insn, 6, SUF_L, 0x40, 0x00, 0, 0, CPU_386, 0, 0},
{"fnop", twobyte_insn, 1, SUF_Z, 0xD9, 0xD0, 0, 0, CPU_FPU, 0, 0},
{"punpckhdq", mmxsse2_insn, 2, SUF_Z, 0x6A, 0, 0, 0, CPU_MMX, 0, 0},
{"vphadduwd", vphaddsub_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_XOP, 0, 0},
{"vmovaps", movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0},
{"vpsllq", vpshift_insn, 8, SUF_Z, 0xF3, 0x73, 0x06, ONLY_AVX, CPU_AVX, 0, 0},
{"pfmul", now3d_insn, 1, SUF_Z, 0xB4, 0, 0, 0, CPU_3DNow, 0, 0},
{"vcmpfalsess", ssecmp_32_insn, 4, SUF_Z, 0x0B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmptrue_ussd", ssecmp_64_insn, 4, SUF_Z, 0x1F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmple_oqps", ssecmp_128_insn, 3, SUF_Z, 0x12, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpinsrwq", pinsrw_insn, 9, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpminub", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"blcfillq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x01, 0, ONLY_64, CPU_TBM, 0, 0},
{"incq", incdec_insn, 6, SUF_Q, 0x40, 0x00, 0, ONLY_64, 0, 0, 0},
{"pdep", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0},
{"cmovnc", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"movntil", movnti_insn, 2, SUF_L, 0, 0, 0, 0, CPU_P4, 0, 0},
{"cmoveq", cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0},
{"pfrcpit2", now3d_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_3DNow, 0, 0},
{"cmovaew", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"vinserti128", vinsertif128_insn, 1, SUF_Z, 0x38, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"movmskpdq", movmsk_insn, 4, SUF_Q, 0x66, 0, 0, ONLY_64, CPU_SSE2, 0, 0},
{"vpmaxud", ssse3_insn, 5, SUF_Z, 0x3F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"xaddw", cmpxchgxadd_insn, 4, SUF_W, 0xC0, 0, 0, 0, CPU_486, 0, 0},
{"psubb", mmxsse2_insn, 2, SUF_Z, 0xF8, 0, 0, 0, CPU_MMX, 0, 0},
{"vminpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"mulpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x59, 0, 0, CPU_SSE2, 0, 0},
{"fisttpl", fildstp_insn, 4, SUF_L, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0},
{"vcmpordps", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"lgs", lfgss_insn, 3, SUF_Z, 0xB5, 0, 0, 0, CPU_386, 0, 0},
{"lzcntq", cnt_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_LZCNT, 0, 0},
{"frstor", onebytemem_insn, 1, SUF_Z, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0},
{"vcmpge_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setnbb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"fcmovnbe", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD0, 0, 0, CPU_686, CPU_FPU, 0},
{"pminub", mmxsse2_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vcvttpd2dqx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmaddsub231ps", vfma_ps_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"data16", NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0},
{"lmsw", prot286_insn, 1, SUF_Z, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0},
{"cmovnsq", cmovcc_insn, 3, SUF_Q, 0x09, 0, 0, ONLY_64, CPU_686, 0, 0},
{"ficompl", fiarith_insn, 2, SUF_L, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"sets", setcc_insn, 1, SUF_Z, 0x08, 0, 0, 0, CPU_386, 0, 0},
{"vpmuldq", ssse3_insn, 5, SUF_Z, 0x28, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"mulss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0, 0, CPU_SSE, 0, 0},
{"minpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5D, 0, 0, CPU_SSE2, 0, 0},
{"pshufhw", xmm_xmm128_imm_insn, 1, SUF_Z, 0xF3, 0x70, 0, 0, CPU_SSE2, 0, 0},
{"dword", NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0},
{"cmovnael", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"xtest", tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_TSX, 0, 0},
{"sar", shift_insn, 16, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0},
{"cmovngel", cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0},
{"cmovnlew", cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0},
{"sidt", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"fxrstor", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0},
{"adcxl", vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0},
{"mull", f6_insn, 4, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0},
{"wbinvd", twobyte_insn, 1, SUF_Z, 0x0F, 0x09, 0, 0, CPU_486, CPU_Priv, 0},
{"pmaxuw", sse4_insn, 2, SUF_Z, 0x3E, 0, 0, 0, CPU_SSE41, 0, 0},
{"setnp", setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0},
{"decb", incdec_insn, 6, SUF_B, 0x48, 0x01, 0, 0, 0, 0, 0},
{"fnsaves", onebytemem_insn, 1, SUF_S, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0},
{"cmovbe", cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0},
{"fsaves", twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0},
{"jz", jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0},
{"cmovngeq", cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0},
{"neg", f6_insn, 4, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0},
{"jmp", jmp_insn, 31, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"fdivrp", farithp_insn, 3, SUF_Z, 0xF8, 0, 0, 0, CPU_FPU, 0, 0},
{"cmovnsl", cmovcc_insn, 3, SUF_L, 0x09, 0, 0, 0, CPU_686, 0, 0},
{"lesl", ldes_insn, 2, SUF_L, 0xC4, 0, 0, NOT_64, CPU_386, 0, 0},
{"vpsllvq", vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"movslq", movsxd_insn, 1, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vmovss", movss_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovbew", cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0},
{"vpermpd", vperm_imm_avx2_insn, 1, SUF_Z, 0x01, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vcmpfalsesd", ssecmp_64_insn, 4, SUF_Z, 0x0B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pcmpeqd", mmxsse2_insn, 2, SUF_Z, 0x76, 0, 0, 0, CPU_MMX, 0, 0},
{"cmovne", cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0},
{"vpcomeqw", vpcom_insn, 1, SUF_Z, 0xCD, 0x04, 0, 0, CPU_XOP, 0, 0},
{"movsb", onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0},
{"loopnzl", loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0},
{"pmaxsd", sse4_insn, 2, SUF_Z, 0x3D, 0, 0, 0, CPU_SSE41, 0, 0},
{"fld", fld_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"fstpt", fldstpt_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0},
{"vcmplepd", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"lidtq", twobytemem_insn, 1, SUF_Q, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"blsmskl", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0},
{"vcmpge_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x1D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"unpckhps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x15, 0, 0, CPU_SSE, 0, 0},
{"vmreadq", vmxmemrd_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0},
{"btsw", bittest_insn, 6, SUF_W, 0xAB, 0x05, 0, 0, CPU_386, 0, 0},
{"vpinsrwl", pinsrw_insn, 9, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcmpgtw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x65, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pextq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"vcmpnge_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x19, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pavgw", mmxsse2_insn, 2, SUF_Z, 0xE3, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vpunpckhbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x68, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmlaunch", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC2, 0, CPU_P4, 0, 0},
{"loopnew", loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0},
{"vmaxps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rdshr", rdwrshr_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM},
{"setge", setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0},
{"pcmpgtw", mmxsse2_insn, 2, SUF_Z, 0x65, 0, 0, 0, CPU_MMX, 0, 0},
{"vsqrtpd", avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fstsw", fstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"cmovzw", cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0},
{"frstors", onebytemem_insn, 1, SUF_S, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0},
{"smsww", sldtmsw_insn, 6, SUF_W, 0x04, 0x01, 0, 0, CPU_286, 0, 0},
{"vpsubusw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fisubrs", fiarith_insn, 2, SUF_S, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vmovshdup", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"xacquire", NULL, X86_ACQREL>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0},
{"vcmple_oqss", ssecmp_32_insn, 4, SUF_Z, 0x12, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpgt_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pfsub", now3d_insn, 1, SUF_Z, 0x9A, 0, 0, 0, CPU_3DNow, 0, 0},
{"vpgatherdd", gather_32x_32y_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vcmpngtss", ssecmp_32_insn, 4, SUF_Z, 0x0A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmovzxbw", sse4m64_insn, 4, SUF_Z, 0x30, 0, 0, 0, CPU_SSE41, 0, 0},
{"cmovgl", cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0},
{"movaps", movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, 0, CPU_SSE, 0, 0},
{"rdfsbase", fs_gs_base_insn, 2, SUF_Z, 0x00, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0},
{"wrmsr", twobyte_insn, 1, SUF_Z, 0x0F, 0x30, 0, 0, CPU_586, CPU_Priv, 0},
{"movmskpsl", movmsk_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE, 0},
{"vcmpngtpd", ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"decw", incdec_insn, 6, SUF_W, 0x48, 0x01, 0, 0, 0, 0, 0},
{"vmclear", vmxthreebytemem_insn, 1, SUF_Z, 0x66, 0, 0, 0, CPU_P4, 0, 0},
{"vfmsub213pd", vfma_pd_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"roundps", sse4imm_insn, 2, SUF_Z, 0x08, 0, 0, 0, CPU_SSE41, 0, 0},
{"xsaveopt", twobytemem_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, 0, CPU_XSAVEOPT, 0, 0},
{"blsmskq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x02, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0},
{"fnstcww", fldnstcw_insn, 1, SUF_W, 0x07, 0, 0, 0, CPU_FPU, 0, 0},
{"unpcklpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x14, 0, 0, CPU_SSE2, 0, 0},
{"pfrcp", now3d_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_3DNow, 0, 0},
{"phaddw", ssse3_insn, 5, SUF_Z, 0x01, 0, 0, 0, CPU_SSSE3, 0, 0},
{"adoxq", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0xF3, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0},
{"vcmpnltsd", ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomleub", vpcom_insn, 1, SUF_Z, 0xEC, 0x01, 0, 0, CPU_XOP, 0, 0},
{"vpsrlq", vpshift_insn, 8, SUF_Z, 0xD3, 0x73, 0x02, ONLY_AVX, CPU_AVX, 0, 0},
{"psllq", pshift_insn, 4, SUF_Z, 0xF3, 0x73, 0x06, 0, CPU_MMX, 0, 0},
{"enterl", enter_insn, 3, SUF_L, 0, 0, 0, NOT_64, CPU_186, 0, 0},
{"wrshr", rdwrshr_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM},
{"blcsq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x03, 0, ONLY_64, CPU_TBM, 0, 0},
{"vpmadcsswd", vpma_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_XOP, 0, 0},
{"fdivl", farith_insn, 7, SUF_L, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0},
{"salb", shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0},
{"vpcomequq", vpcom_insn, 1, SUF_Z, 0xEF, 0x04, 0, 0, CPU_XOP, 0, 0},
{"cmovpw", cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0},
{"cmovgw", cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0},
{"vpmovmskbl", pmovmskb_insn, 6, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"iretl", onebyte_insn, 1, SUF_Z, 0xCF, 0x20, 0, 0, CPU_386, 0, 0},
{"fdiv", farith_insn, 7, SUF_Z, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0},
{"vpermps", vperm_var_avx2_insn, 1, SUF_Z, 0x16, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vphaddwd", vphaddsub_insn, 1, SUF_Z, 0xC6, 0, 0, 0, CPU_XOP, 0, 0},
{"vcmpnlt_uqss", ssecmp_32_insn, 4, SUF_Z, 0x15, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomleuw", vpcom_insn, 1, SUF_Z, 0xED, 0x01, 0, 0, CPU_XOP, 0, 0},
{"crc32l", crc32_insn, 5, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0},
{"cmpsq", onebyte_insn, 1, SUF_Z, 0xA7, 0x40, 0, ONLY_64, 0, 0, 0},
{"cmovpel", cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0},
{"cmovnlel", cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0},
{"sysretl", twobyte_insn, 1, SUF_L, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv},
{"setpo", setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0},
{"vpcomgtq", vpcom_insn, 1, SUF_Z, 0xCF, 0x02, 0, 0, CPU_XOP, 0, 0},
{"phsubsw", ssse3_insn, 5, SUF_Z, 0x07, 0, 0, 0, CPU_SSSE3, 0, 0},
{"pinsrw", pinsrw_insn, 9, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vfmadd231ps", vfma_ps_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"mulps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x59, 0, 0, CPU_SSE, 0, 0},
{"setz", setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0},
{"cmpltsd", ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"fstl", fst_insn, 3, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"vcmptrueps", ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovow", cmovcc_insn, 3, SUF_W, 0x00, 0, 0, 0, CPU_686, 0, 0},
{"extrq", extrq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0},
{"verrw", prot286_insn, 1, SUF_W, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0},
{"setno", setcc_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_386, 0, 0},
{"lssw", lfgss_insn, 3, SUF_W, 0xB2, 0, 0, 0, CPU_386, 0, 0},
{"cmpunordps", ssecmp_128_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0},
{"shlxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x66, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"emms", twobyte_insn, 1, SUF_Z, 0x0F, 0x77, 0, 0, CPU_MMX, 0, 0},
{"sarq", shift_insn, 16, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0},
{"pminsd", sse4_insn, 2, SUF_Z, 0x39, 0, 0, 0, CPU_SSE41, 0, 0},
{"rorw", shift_insn, 16, SUF_W, 0x01, 0, 0, 0, 0, 0, 0},
{"pxor", mmxsse2_insn, 2, SUF_Z, 0xEF, 0, 0, 0, CPU_MMX, 0, 0},
{"pfnacc", now3d_insn, 1, SUF_Z, 0x8A, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0},
{"pf2iw", now3d_insn, 1, SUF_Z, 0x1C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0},
{"invpcid", invpcid_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_INVPCID, CPU_Priv},
{"fcompl", fcom_insn, 6, SUF_L, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0},
{"larq", larlsl_insn, 6, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0},
{"str", str_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"movmskpsq", movmsk_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE, 0, 0},
{"lds", ldes_insn, 2, SUF_Z, 0xC5, 0, 0, NOT_64, 0, 0, 0},
{"vpinsrb", pinsrb_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"pushf", onebyte_insn, 1, SUF_Z, 0x9C, 0x00, 0x40, 0, 0, 0, 0},
{"vcvtsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jge", jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0},
{"setpb", setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0},
{"andl", arith_insn, 22, SUF_L, 0x20, 0x04, 0, 0, CPU_386, 0, 0},
{"vaesdec", aes_insn, 2, SUF_Z, 0x38, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"xstore", padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0},
{"sha1nexte", intel_SHA1NEXTE_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0},
{"andps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x54, 0, 0, CPU_SSE, 0, 0},
{"vphaddbd", vphaddsub_insn, 1, SUF_Z, 0xC2, 0, 0, 0, CPU_XOP, 0, 0},
{"rorxl", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_L, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0},
{"jmpw", jmp_insn, 31, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"fildll", fbldstp_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0},
{"out", out_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"mulsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0, 0, CPU_SSE2, 0, 0},
{"movss", movss_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0},
{"smswl", sldtmsw_insn, 6, SUF_L, 0x04, 0x01, 0, 0, CPU_386, 0, 0},
{"aam", aadm_insn, 2, SUF_Z, 0x00, 0, 0, NOT_64, 0, 0, 0},
{"stosw", onebyte_insn, 1, SUF_Z, 0xAB, 0x10, 0, 0, 0, 0, 0},
{"ptest", sse4_insn, 2, SUF_Z, 0x17, 0, 0, 0, CPU_SSE41, 0, 0},
{"lretw", retnf_insn, 6, SUF_W, 0xCA, 0x10, 0, 0, 0, 0, 0},
{"notq", f6_insn, 4, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0},
{"vmload", svm_rax_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_SVM, 0, 0},
{"andb", arith_insn, 22, SUF_B, 0x20, 0x04, 0, 0, 0, 0, 0},
{"vcmpeq_usss", ssecmp_32_insn, 4, SUF_Z, 0x18, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpsubsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmovmskpd", movmsk_insn, 4, SUF_Z, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmsub231pd", vfma_pd_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmovg", cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0},
{"cmpeqpd", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0, 0, CPU_SSE, 0, 0},
{"vfmsub213sd", vfma_sd_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"rex64", NULL, X86_REX>>8, 0x48, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vpcmpistri", sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpminsb", ssse3_insn, 5, SUF_Z, 0x38, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmadd231pd", vfma_pd_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"ja", jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0},
{"vpmullw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvttpd2dq", avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vgatherdps", gather_32x_32y_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vfmsub213ss", vfma_ss_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmpxchgb", cmpxchgxadd_insn, 4, SUF_B, 0xB0, 0, 0, 0, CPU_486, 0, 0},
{"sgdtw", twobytemem_insn, 1, SUF_W, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"cmpb", arith_insn, 22, SUF_B, 0x38, 0x07, 0, 0, 0, 0, 0},
{"vmulpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cvttsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0, ONLY_64, CPU_SSE2, 0, 0},
{"movzwq", movszx_insn, 5, SUF_W, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0},
{"les", ldes_insn, 2, SUF_Z, 0xC4, 0, 0, NOT_64, 0, 0, 0},
{"vcmpngepd", ssecmp_128_insn, 3, SUF_Z, 0x09, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"clflush", clflush_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_P3, 0, 0},
{"leavew", onebyte_insn, 1, SUF_Z, 0xC9, 0x10, 0x00, 0, CPU_186, 0, 0},
{"addsubps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xD0, 0, 0, CPU_SSE3, 0, 0},
{"vinsertps", insertps_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmresume", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC3, 0, CPU_P4, 0, 0},
{"cmpnlesd", ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"setnge", setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0},
{"adcxq", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0x66, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0},
{"xsetbv", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD1, 0, CPU_386, CPU_Priv, CPU_XSAVE},
{"vphsubsw", ssse3_insn, 5, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpgtsd", ssecmp_64_insn, 4, SUF_Z, 0x0E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vphsubw", ssse3_insn, 5, SUF_Z, 0x05, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnbel", cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0},
{"fcomi", fcom2_insn, 2, SUF_Z, 0xDB, 0xF0, 0, 0, CPU_686, CPU_FPU, 0},
{"blsfillq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x02, 0, ONLY_64, CPU_TBM, 0, 0},
{"mulxl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0},
{"fcomip", fcom2_insn, 2, SUF_Z, 0xDF, 0xF0, 0, 0, CPU_686, CPU_FPU, 0},
{"vpinsrq", pinsrq_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomw", vpcom_imm_insn, 1, SUF_Z, 0xCD, 0, 0, 0, CPU_XOP, 0, 0},
{"rsts", cyrixsmm_insn, 1, SUF_Z, 0x7D, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM},
{"vpcomleb", vpcom_insn, 1, SUF_Z, 0xCC, 0x01, 0, 0, CPU_XOP, 0, 0},
{"vdivpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"add", arith_insn, 22, SUF_Z, 0x00, 0x00, 0, 0, 0, 0, 0},
{"sldtw", sldtmsw_insn, 6, SUF_W, 0x00, 0x00, 0, 0, CPU_286, 0, 0},
{"rorl", shift_insn, 16, SUF_L, 0x01, 0, 0, 0, CPU_386, 0, 0},
{"vcvtsi2sd", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpnge_uqps", ssecmp_128_insn, 3, SUF_Z, 0x19, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmsubpd", fma_128_256_insn, 4, SUF_Z, 0x6D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"vpminsd", ssse3_insn, 5, SUF_Z, 0x39, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fistl", fiarith_insn, 2, SUF_L, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0},
{"fcmovu", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD8, 0, 0, CPU_686, CPU_FPU, 0},
{"scasb", onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0},
{"phminposuw", sse4_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0},
{"pextrwl", pextrw_insn, 7, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vpclmulqdq", pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vphaddbw", vphaddsub_insn, 1, SUF_Z, 0xC1, 0, 0, 0, CPU_XOP, 0, 0},
{"psubsb", mmxsse2_insn, 2, SUF_Z, 0xE8, 0, 0, 0, CPU_MMX, 0, 0},
{"lss", lfgss_insn, 3, SUF_Z, 0xB2, 0, 0, 0, CPU_386, 0, 0},
{"pushal", onebyte_insn, 1, SUF_Z, 0x60, 0x20, 0, NOT_64, CPU_386, 0, 0},
{"setb", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"cmpnltps", ssecmp_128_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_SSE, 0, 0},
{"rcpss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0, 0, CPU_SSE, 0, 0},
{"vcmpnltpd", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpneqps", ssecmp_128_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_SSE, 0, 0},
{"vpsadbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fadds", farith_insn, 7, SUF_S, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0},
{"cmovbeq", cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0},
{"bextrl", bextr_insn, 4, SUF_L, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0},
{"vsqrtps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpunord_ssd", ssecmp_64_insn, 4, SUF_Z, 0x13, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmaxsw", mmxsse2_insn, 2, SUF_Z, 0xEE, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"lcallq", ljmpcall_insn, 7, SUF_Q, 0x03, 0x9A, 0, ONLY_64, 0, 0, 0},
{"vpextrb", pextrb_insn, 3, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fchs", twobyte_insn, 1, SUF_Z, 0xD9, 0xE0, 0, 0, CPU_FPU, 0, 0},
{"cmovnbeq", cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0},
{"sha1msg2", intel_SHA1MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0},
{"vpaddusb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"faddp", farithp_insn, 3, SUF_Z, 0xC0, 0, 0, 0, CPU_FPU, 0, 0},
{"cmovnbe", cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0},
{"psrldq", pslrldq_insn, 4, SUF_Z, 0x03, 0, 0, 0, CPU_SSE2, 0, 0},
{"movswl", movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0},
{"outsw", onebyte_insn, 1, SUF_Z, 0x6F, 0x10, 0, 0, 0, 0, 0},
{"vpminud", ssse3_insn, 5, SUF_Z, 0x3B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"aesimc", aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0, 0, CPU_AES, 0, 0},
{"movsd", movsd_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, 0, 0},
{"fistpq", fildstp_insn, 4, SUF_Q, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0},
{"loopnzq", loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0},
{"vcmpngt_uqps", ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setsb", setcc_insn, 1, SUF_B, 0x08, 0, 0, 0, CPU_386, 0, 0},
{"vpsignw", ssse3_insn, 5, SUF_Z, 0x09, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"scasl", onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0},
{"addb", arith_insn, 22, SUF_B, 0x00, 0x00, 0, 0, 0, 0, 0},
{"jnc", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0},
{"cmpeqsd", ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"maxss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0, 0, CPU_SSE, 0, 0},
{"lodsl", onebyte_insn, 1, SUF_Z, 0xAD, 0x20, 0, 0, CPU_386, 0, 0},
{"lahf", onebyte_insn, 1, SUF_Z, 0x9F, 0, 0, 0, 0, 0, 0},
{"setp", setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0},
{"vpunpcklwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x61, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmwritel", vmxmemwr_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0},
{"blendps", sse4imm_insn, 2, SUF_Z, 0x0C, 0, 0, 0, CPU_SSE41, 0, 0},
{"vmcall", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC1, 0, CPU_P4, 0, 0},
{"pushq", push_insn, 35, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vcmpnleps", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomtrueuw", vpcom_insn, 1, SUF_Z, 0xED, 0x07, 0, 0, CPU_XOP, 0, 0},
{"pmuldq", sse4_insn, 2, SUF_Z, 0x28, 0, 0, 0, CPU_SSE41, 0, 0},
{"cmpl", arith_insn, 22, SUF_L, 0x38, 0x07, 0, 0, CPU_386, 0, 0},
{"pfmin", now3d_insn, 1, SUF_Z, 0x94, 0, 0, 0, CPU_3DNow, 0, 0},
{"fldpi", twobyte_insn, 1, SUF_Z, 0xD9, 0xEB, 0, 0, CPU_FPU, 0, 0},
{"vcvtsi2sdl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpsraw", vpshift_insn, 8, SUF_Z, 0xE1, 0x71, 0x04, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtps2ph", avx_cvtps2ph_insn, 4, SUF_Z, 0x66, 0x1D, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"subq", arith_insn, 22, SUF_Q, 0x28, 0x05, 0, ONLY_64, 0, 0, 0},
{"fsubrs", farith_insn, 7, SUF_S, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0},
{"xchgq", xchg_insn, 16, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"cmovsq", cmovcc_insn, 3, SUF_Q, 0x08, 0, 0, ONLY_64, CPU_686, 0, 0},
{"shldq", shlrd_insn, 9, SUF_Q, 0xA4, 0, 0, ONLY_64, CPU_386, 0, 0},
{"leaveq", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, ONLY_64, 0, 0, 0},
{"stc", onebyte_insn, 1, SUF_Z, 0xF9, 0, 0, 0, 0, 0, 0},
{"fsave", twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0},
{"rclb", shift_insn, 16, SUF_B, 0x02, 0, 0, 0, 0, 0, 0},
{"fisubrl", fiarith_insn, 2, SUF_L, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vpsrlvd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"fstenvl", twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0},
{"paddsb", mmxsse2_insn, 2, SUF_Z, 0xEC, 0, 0, 0, CPU_MMX, 0, 0},
{"vmwriteq", vmxmemwr_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0},
{"ud2", twobyte_insn, 1, SUF_Z, 0x0F, 0x0B, 0, 0, CPU_286, 0, 0},
{"vfmaddsub132pd", vfma_pd_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"sti", onebyte_insn, 1, SUF_Z, 0xFB, 0, 0, 0, 0, 0, 0},
{"shld", shlrd_insn, 9, SUF_Z, 0xA4, 0, 0, 0, CPU_386, 0, 0},
{"vpabsd", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1E, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"mwait", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC9, 0, CPU_SSE3, 0, 0},
{"cvtsi2sd", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0},
{"cmovnp", cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0},
{"vcvtpd2dq", avx_cvt_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmovsxbw", sse4m64_insn, 4, SUF_Z, 0x20, 0, 0, 0, CPU_SSE41, 0, 0},
{"fisubl", fiarith_insn, 2, SUF_L, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"daa", onebyte_insn, 1, SUF_Z, 0x27, 0, 0, NOT_64, 0, 0, 0},
{"fdivrl", farith_insn, 7, SUF_L, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0},
{"stac", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCB, 0, CPU_SMAP, 0, 0},
{"testw", test_insn, 20, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"movzwl", movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0},
{"vpblendw", sse4imm_256avx2_insn, 4, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomgtuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x02, 0, 0, CPU_XOP, 0, 0},
{"setnaeb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"pextrwq", pextrw_insn, 7, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0},
{"lodsq", onebyte_insn, 1, SUF_Z, 0xAD, 0x40, 0, ONLY_64, 0, 0, 0},
{"fincstp", twobyte_insn, 1, SUF_Z, 0xD9, 0xF7, 0, 0, CPU_FPU, 0, 0},
{"cmovlew", cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0},
{"insertq", insertq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0},
{"notl", f6_insn, 4, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"vfnmadd132sd", vfma_sd_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmova", cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0},
{"fstcw", fstcw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"vpclmullqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"movnti", movnti_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0},
{"packusdw", sse4_insn, 2, SUF_Z, 0x2B, 0, 0, 0, CPU_SSE41, 0, 0},
{"punpckhqdq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6D, 0, 0, CPU_SSE2, 0, 0},
{"lzcntw", cnt_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0},
{"pcmpistri", sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0, 0, 0, CPU_SSE42, 0, 0},
{"fimull", fiarith_insn, 2, SUF_L, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"fnstenv", onebytemem_insn, 1, SUF_Z, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0},
{"cmovncw", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"leaw", lea_insn, 3, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"vfmadd132ss", vfma_ss_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"pshufd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0x70, 0, 0, CPU_SSE2, 0, 0},
{"blsil", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0},
{"stosl", onebyte_insn, 1, SUF_Z, 0xAB, 0x20, 0, 0, CPU_386, 0, 0},
{"mulq", f6_insn, 4, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0},
{"cmovbl", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"vpmaxsd", ssse3_insn, 5, SUF_Z, 0x3D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"rsqrtps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, 0, CPU_SSE, 0, 0},
{"ror", shift_insn, 16, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0},
{"vcmptrue_usss", ssecmp_32_insn, 4, SUF_Z, 0x1F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpermq", vperm_imm_avx2_insn, 1, SUF_Z, 0x00, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"xcryptofb", padlock_insn, 1, SUF_Z, 0xE8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0},
{"btsl", bittest_insn, 6, SUF_L, 0xAB, 0x05, 0, 0, CPU_386, 0, 0},
{"vfnmsub213ps", vfma_ps_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"stmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0},
{"vzeroupper", vzero_insn, 1, SUF_Z, 0xC0, 0, 0, 0, CPU_AVX, 0, 0},
{"adcx", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0},
{"setnz", setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0},
{"fildl", fildstp_insn, 4, SUF_L, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0},
{"movlps", movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0, 0, CPU_SSE, 0, 0},
{"vmovmskpdq", movmsk_insn, 4, SUF_Q, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovngw", cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0},
{"cltd", onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0},
{"fmuls", farith_insn, 7, SUF_S, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0},
{"fcom", fcom_insn, 6, SUF_Z, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0},
{"andq", arith_insn, 22, SUF_Q, 0x20, 0x04, 0, ONLY_64, 0, 0, 0},
{"vfmaddps", fma_128_256_insn, 4, SUF_Z, 0x68, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"fst", fst_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"vmaskmovpd", vmaskmov_insn, 4, SUF_Z, 0x2D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cld", onebyte_insn, 1, SUF_Z, 0xFC, 0, 0, 0, 0, 0, 0},
{"vpinsrd", pinsrd_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"xchgl", xchg_insn, 16, SUF_L, 0, 0, 0, 0, 0, 0, 0},
{"vcmpgtpd", ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovael", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"phaddsw", ssse3_insn, 5, SUF_Z, 0x03, 0, 0, 0, CPU_SSSE3, 0, 0},
{"pclmullqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_AVX, 0, 0},
{"cmovnleq", cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0},
{"pcmpeqb", mmxsse2_insn, 2, SUF_Z, 0x74, 0, 0, 0, CPU_MMX, 0, 0},
{"word", NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0},
{"blcmskq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x01, 0, ONLY_64, CPU_TBM, 0, 0},
{"vpcomgtud", vpcom_insn, 1, SUF_Z, 0xEE, 0x02, 0, 0, CPU_XOP, 0, 0},
{"fsubr", farith_insn, 7, SUF_Z, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0},
{"cmovp", cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0},
{"shrq", shift_insn, 16, SUF_Q, 0x05, 0, 0, ONLY_64, 0, 0, 0},
{"vpcomgtd", vpcom_insn, 1, SUF_Z, 0xCE, 0x02, 0, 0, CPU_XOP, 0, 0},
{"vfnmsub132sd", vfma_sd_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vpor", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"psllw", pshift_insn, 4, SUF_Z, 0xF1, 0x71, 0x06, 0, CPU_MMX, 0, 0},
{"fbld", fbldstp_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_FPU, 0, 0},
{"subw", arith_insn, 22, SUF_W, 0x28, 0x05, 0, 0, 0, 0, 0},
{"vmovhlps", movhllhps_insn, 2, SUF_Z, 0x12, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovleq", cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0},
{"imulw", imul_insn, 19, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"cvttss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0, ONLY_64, CPU_SSE, 0, 0},
{"vgatherqpd", gather_64x_64y_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"imulq", imul_insn, 19, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"ret", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, 0, 0, 0, 0},
{"vphminposuw", avx_ssse3_2op_insn, 1, SUF_Z, 0x41, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpneqsd", ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"jae", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0},
{"vpavgb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cwtd", onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0},
{"movddup", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x12, 0, 0, CPU_SSE3, 0, 0},
{"vpcomud", vpcom_imm_insn, 1, SUF_Z, 0xEE, 0, 0, 0, CPU_XOP, 0, 0},
{"vpmovzxwd", sse4m64_insn, 4, SUF_Z, 0x33, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmsubss", fma_128_m32_insn, 3, SUF_Z, 0x7E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"cmovgew", cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0},
{"bzhi", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0},
{"setab", setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0},
{"rsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0, 0, CPU_SSE, 0, 0},
{"vfmaddsub213pd", vfma_pd_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"montmul", padlock_insn, 1, SUF_Z, 0xC0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0},
{"rcrq", shift_insn, 16, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0},
{"vpaddsb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vbroadcastss", vbroadcastss_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnz", cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0},
{"cmpxchgw", cmpxchgxadd_insn, 4, SUF_W, 0xB0, 0, 0, 0, CPU_486, 0, 0},
{"fcompp", twobyte_insn, 1, SUF_Z, 0xDE, 0xD9, 0, 0, CPU_FPU, 0, 0},
{"vpshab", amd_vpshift_insn, 2, SUF_Z, 0x98, 0, 0, 0, CPU_XOP, 0, 0},
{"vaddpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtsi2ssq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"clc", onebyte_insn, 1, SUF_Z, 0xF8, 0, 0, 0, 0, 0, 0},
{"cmovlw", cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0},
{"lgdt", twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"getsec", twobyte_insn, 1, SUF_Z, 0x0F, 0x37, 0, 0, CPU_SMX, 0, 0},
{"blsrl", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0},
{"vpsignb", ssse3_insn, 5, SUF_Z, 0x08, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"pblendw", sse4imm_insn, 2, SUF_Z, 0x0E, 0, 0, 0, CPU_SSE41, 0, 0},
{"vmovlhps", movhllhps_insn, 2, SUF_Z, 0x16, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"svdc", svdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM},
{"vmovlpd", movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vdppd", sse4imm_insn, 2, SUF_Z, 0x41, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"xbegin", tsx_xbegin_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_TSX, 0},
{"sldtq", sldtmsw_insn, 6, SUF_Q, 0x00, 0x00, 0, ONLY_64, CPU_286, 0, 0},
{"vpcmpeqb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x74, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpnless", ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"fprem1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF5, 0, 0, CPU_286, CPU_FPU, 0},
{"lssl", lfgss_insn, 3, SUF_L, 0xB2, 0, 0, 0, CPU_386, 0, 0},
{"inw", in_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"bzhiq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"pop", pop_insn, 23, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"vblendps", sse4imm_256_insn, 4, SUF_Z, 0x0C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"flds", fld_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"movsxw", movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0},
{"movabsw", movabs_insn, 9, SUF_W, 0, 0, 0, ONLY_64, 0, 0, 0},
{"divps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5E, 0, 0, CPU_SSE, 0, 0},
{"vpcomfalseb", vpcom_insn, 1, SUF_Z, 0xCC, 0x06, 0, 0, CPU_XOP, 0, 0},
{"vcmpsd", cmpsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcmpgtq", ssse3_insn, 5, SUF_Z, 0x37, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"setbb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"shrw", shift_insn, 16, SUF_W, 0x05, 0, 0, 0, 0, 0, 0},
{"andpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x54, 0, 0, CPU_SSE2, 0, 0},
{"vaesdeclast", aes_insn, 2, SUF_Z, 0x38, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"testb", test_insn, 20, SUF_B, 0, 0, 0, 0, 0, 0, 0},
{"vfmsub231ss", vfma_ss_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"rexxz", NULL, X86_REX>>8, 0x45, 0, 0, 0, ONLY_64, 0, 0, 0},
{"cmpnlepd", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0, 0, CPU_SSE, 0, 0},
{"lidt", twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vfmsubps", fma_128_256_insn, 4, SUF_Z, 0x6C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"svldt", cyrixsmm_insn, 1, SUF_Z, 0x7A, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM},
{"rclw", shift_insn, 16, SUF_W, 0x02, 0, 0, 0, 0, 0, 0},
{"vphsubbw", vphaddsub_insn, 1, SUF_Z, 0xE1, 0, 0, 0, CPU_XOP, 0, 0},
{"vcmpnge_uqss", ssecmp_32_insn, 4, SUF_Z, 0x19, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movswq", movszx_insn, 5, SUF_W, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0},
{"blcic", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0},
{"setns", setcc_insn, 1, SUF_Z, 0x09, 0, 0, 0, CPU_386, 0, 0},
{"vcmpneq_oqps", ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rorb", shift_insn, 16, SUF_B, 0x01, 0, 0, 0, 0, 0, 0},
{"vpcomgtuw", vpcom_insn, 1, SUF_Z, 0xED, 0x02, 0, 0, CPU_XOP, 0, 0},
{"vfmsubss", fma_128_m32_insn, 3, SUF_Z, 0x6E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"vpperm", vpperm_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0},
{"cmpxchg", cmpxchgxadd_insn, 4, SUF_Z, 0xB0, 0, 0, 0, CPU_486, 0, 0},
{"setnbeb", setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0},
{"vmovsd", movsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vrcpss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmovzxbd", sse4m32_insn, 4, SUF_Z, 0x31, 0, 0, 0, CPU_SSE41, 0, 0},
{"vroundpd", avx_sse4imm_insn, 3, SUF_Z, 0x09, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0},
{"popl", pop_insn, 23, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0},
{"fisttpll", fildstp_insn, 4, SUF_Q, 0x07, 0, 0, 0, CPU_SSE3, 0, 0},
{"vaddsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmadd132ps", vfma_ps_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"blcfill", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0},
{"vandnpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sbbb", arith_insn, 22, SUF_B, 0x18, 0x03, 0, 0, 0, 0, 0},
{"vcmpfalseps", ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"popcnt", cnt_insn, 3, SUF_Z, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0},
{"vpcomnequd", vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0},
{"adcq", arith_insn, 22, SUF_Q, 0x10, 0x02, 0, ONLY_64, 0, 0, 0},
{"vpcomequw", vpcom_insn, 1, SUF_Z, 0xED, 0x04, 0, 0, CPU_XOP, 0, 0},
{"prefetcht1", twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x18, 0, CPU_P3, 0, 0},
{"movdqa", movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, 0, CPU_SSE2, 0, 0},
{"vmovq", vmovq_insn, 5, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpxchg16b", cmpxchg16b_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0},
{"smovq", onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0},
{"fildq", fildstp_insn, 4, SUF_Q, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0},
{"ficoml", fiarith_insn, 2, SUF_L, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"cmovae", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"vaddsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movb", mov_insn, 69, SUF_B, 0, 0, 0, 0, 0, 0, 0},
{"fist", fiarith_insn, 2, SUF_Z, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0},
{"vpcomb", vpcom_imm_insn, 1, SUF_Z, 0xCC, 0, 0, 0, CPU_XOP, 0, 0},
{"vcmpneq_oqss", ssecmp_32_insn, 4, SUF_Z, 0x0C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"xorpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x57, 0, 0, CPU_SSE2, 0, 0},
{"cmpsd", cmpsd_insn, 5, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"movabs", movabs_insn, 9, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0},
{"jrcxz", jcxz_insn, 2, SUF_Z, 0x40, 0, 0, ONLY_64, 0, 0, 0},
{"vmovhpd", movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovpq", cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0},
{"vpsubw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"smovl", onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0},
{"and", arith_insn, 22, SUF_Z, 0x20, 0x04, 0, 0, 0, 0, 0},
{"andw", arith_insn, 22, SUF_W, 0x20, 0x04, 0, 0, 0, 0, 0},
{"cmpleps", ssecmp_128_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0},
{"vpmovzxdq", sse4m64_insn, 4, SUF_Z, 0x35, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"subss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0, 0, CPU_SSE, 0, 0},
{"vpcomtrueq", vpcom_insn, 1, SUF_Z, 0xCF, 0x07, 0, 0, CPU_XOP, 0, 0},
{"fldl2e", twobyte_insn, 1, SUF_Z, 0xD9, 0xEA, 0, 0, CPU_FPU, 0, 0},
{"negw", f6_insn, 4, SUF_W, 0x03, 0, 0, 0, 0, 0, 0},
{"fidivl", fiarith_insn, 2, SUF_L, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"setnc", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"clts", twobyte_insn, 1, SUF_Z, 0x0F, 0x06, 0, 0, CPU_286, CPU_Priv, 0},
{"vcmpgtps", ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setnl", setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0},
{"vphaddd", ssse3_insn, 5, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomneub", vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0},
{"cmp", arith_insn, 22, SUF_Z, 0x38, 0x07, 0, 0, 0, 0, 0},
{"fstsww", fstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"cmpordpd", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0, 0, CPU_SSE, 0, 0},
{"punpckhbw", mmxsse2_insn, 2, SUF_Z, 0x68, 0, 0, 0, CPU_MMX, 0, 0},
{"svts", cyrixsmm_insn, 1, SUF_Z, 0x7C, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM},
{"cmpq", arith_insn, 22, SUF_Q, 0x38, 0x07, 0, ONLY_64, 0, 0, 0},
{"cmovbq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0},
{"ficomp", fiarith_insn, 2, SUF_Z, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vmmcall", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD9, 0, CPU_SVM, 0, 0},
{"cqo", onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0},
{"vcmpnlepd", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setnb", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"vpsllvd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vcmplt_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x11, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pextrw", pextrw_insn, 7, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"loopzl", loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0},
{"retq", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, ONLY_64, 0, 0, 0},
{"vcmpordsd", ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"seteb", setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0},
{"vmxoff", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC4, 0, CPU_P4, 0, 0},
{"pfcmpeq", now3d_insn, 1, SUF_Z, 0xB0, 0, 0, 0, CPU_3DNow, 0, 0},
{"pmovsxbq", sse4m16_insn, 4, SUF_Z, 0x22, 0, 0, 0, CPU_SSE41, 0, 0},
{"vfnmadd231ss", vfma_ss_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"loopel", loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0},
{"pause", onebyte_prefix_insn, 1, SUF_Z, 0xF3, 0x90, 0, 0, CPU_P4, 0, 0},
{"addps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x58, 0, 0, CPU_SSE, 0, 0},
{"vcmpfalse_ossd", ssecmp_64_insn, 4, SUF_Z, 0x1B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rcr", shift_insn, 16, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0},
{"vfmadd213pd", vfma_pd_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"xchg", xchg_insn, 16, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"ucomiss", xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2E, 0, 0, CPU_SSE, 0, 0},
{"popq", pop_insn, 23, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"lfsq", lfgss_insn, 3, SUF_Q, 0xB4, 0, 0, ONLY_64, CPU_386, 0, 0},
{"vcmpneq_usss", ssecmp_32_insn, 4, SUF_Z, 0x14, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"crc32w", crc32_insn, 5, SUF_W, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0},
{"setngeb", setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0},
{"vpalignr", sse4imm_256avx2_insn, 4, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomtrueuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x07, 0, 0, CPU_XOP, 0, 0},
{"pinsrb", pinsrb_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0},
{"movshdup", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, 0, CPU_SSE3, 0, 0},
{"cmovll", cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0},
{"vpextrd", pextrd_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"lgdtl", twobytemem_insn, 1, SUF_L, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vpblendvb", avx2_sse4xmm0_insn, 2, SUF_Z, 0x4C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"setlb", setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0},
{"vfmsubadd213ps", vfma_ps_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"unpckhpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x15, 0, 0, CPU_SSE2, 0, 0},
{"vpcomfalseud", vpcom_insn, 1, SUF_Z, 0xEE, 0x06, 0, 0, CPU_XOP, 0, 0},
{"cmovnlq", cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0},
{"cmovge", cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0},
{"movabsb", movabs_insn, 9, SUF_B, 0, 0, 0, ONLY_64, 0, 0, 0},
{"popa", onebyte_insn, 1, SUF_Z, 0x61, 0x00, 0, NOT_64, CPU_186, 0, 0},
{"invvpid", eptvpid_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_386, CPU_EPTVPID, 0},
{"vpcomneud", vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0},
{"blsrq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x01, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0},
{"ljmpl", ljmpcall_insn, 7, SUF_L, 0x05, 0xEA, 0, 0, CPU_386, 0, 0},
{"movzx", movszx_insn, 5, SUF_Z, 0xB6, 0, 0, 0, CPU_386, 0, 0},
{"pi2fd", now3d_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_3DNow, 0, 0},
{"setng", setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0},
{"vpcomfalsed", vpcom_insn, 1, SUF_Z, 0xCE, 0x06, 0, 0, CPU_XOP, 0, 0},
{"vpabsb", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpgesd", ssecmp_64_insn, 4, SUF_Z, 0x0D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmaddsd", fma_128_m64_insn, 3, SUF_Z, 0x7B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"rdgsbase", fs_gs_base_insn, 2, SUF_Z, 0x01, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0},
{"testl", test_insn, 20, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"vsubsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"shrxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0},
{"enter", enter_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_186, 0, 0},
{"vpmacsdqh", vpma_insn, 1, SUF_Z, 0x9F, 0, 0, 0, CPU_XOP, 0, 0},
{"vfnmadd213ss", vfma_ss_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"setaeb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"vpgatherdq", gather_64x_64x_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"cmpxchg8b", cmpxchg8b_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_586, 0, 0},
{"cvttps2pi", cvt_mm_xmm64_insn, 2, SUF_Z, 0x2C, 0, 0, 0, CPU_SSE, 0, 0},
{"pmovmskb", pmovmskb_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"fdivp", farithp_insn, 3, SUF_Z, 0xF0, 0, 0, 0, CPU_FPU, 0, 0},
{"vcmpnle_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x16, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cvtsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0},
{"vpcomgeq", vpcom_insn, 1, SUF_Z, 0xCF, 0x03, 0, 0, CPU_XOP, 0, 0},
{"vfnmadd132ss", vfma_ss_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vpmacssdql", vpma_insn, 1, SUF_Z, 0x87, 0, 0, 0, CPU_XOP, 0, 0},
{"vpunpcklqdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sysenter", twobyte_insn, 1, SUF_Z, 0x0F, 0x34, 0, NOT_64, CPU_686, 0, 0},
{"popw", pop_insn, 23, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"lodsw", onebyte_insn, 1, SUF_Z, 0xAD, 0x10, 0, 0, 0, 0, 0},
{"vcmpgt_oqps", ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmovmskbl", pmovmskb_insn, 6, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"pinsrq", pinsrq_insn, 2, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0},
{"movsl", onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0},
{"vcmptrue_usps", ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"addr64", NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0},
{"fsin", twobyte_insn, 1, SUF_Z, 0xD9, 0xFE, 0, 0, CPU_286, CPU_FPU, 0},
{"adoxl", vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0},
{"vpcomnequq", vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0},
{"pfmax", now3d_insn, 1, SUF_Z, 0xA4, 0, 0, 0, CPU_3DNow, 0, 0},
{"pfcmpge", now3d_insn, 1, SUF_Z, 0x90, 0, 0, 0, CPU_3DNow, 0, 0},
{"loopnz", loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0},
{"vcmpnle_uqss", ssecmp_32_insn, 4, SUF_Z, 0x16, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setpeb", setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0},
{"vextractps", extractps_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"jc", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0},
{"vpcomltq", vpcom_insn, 1, SUF_Z, 0xCF, 0x00, 0, 0, CPU_XOP, 0, 0},
{"vfmsubsd", fma_128_m64_insn, 3, SUF_Z, 0x6F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"movmskpd", movmsk_insn, 4, SUF_Z, 0x66, 0, 0, 0, CPU_SSE2, 0, 0},
{"vfmsubadd231ps", vfma_ps_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vcmpeq_usps", ssecmp_128_insn, 3, SUF_Z, 0x18, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fistpl", fildstp_insn, 4, SUF_L, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0},
{"fistpll", fbldstp_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0},
{"jnbe", jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0},
{"pmovsxwq", sse4m32_insn, 4, SUF_Z, 0x24, 0, 0, 0, CPU_SSE41, 0, 0},
{"vpcomgtub", vpcom_insn, 1, SUF_Z, 0xEC, 0x02, 0, 0, CPU_XOP, 0, 0},
{"unpcklps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x14, 0, 0, CPU_SSE, 0, 0},
{"btr", bittest_insn, 6, SUF_Z, 0xB3, 0x06, 0, 0, CPU_386, 0, 0},
{"cmovnsw", cmovcc_insn, 3, SUF_W, 0x09, 0, 0, 0, CPU_686, 0, 0},
{"sbbl", arith_insn, 22, SUF_L, 0x18, 0x03, 0, 0, CPU_386, 0, 0},
{"idivq", div_insn, 8, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0},
{"strw", str_insn, 4, SUF_W, 0, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"psignw", ssse3_insn, 5, SUF_Z, 0x09, 0, 0, 0, CPU_SSSE3, 0, 0},
{"vcvtsi2sdq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setgb", setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0},
{"vpextrw", pextrw_insn, 7, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmoval", cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0},
{"vpextrwq", pextrw_insn, 7, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"sldtl", sldtmsw_insn, 6, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0},
{"vcmpunordss", ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"aesenc", aes_insn, 2, SUF_Z, 0x38, 0xDC, 0, 0, CPU_AVX, 0, 0},
{"pmaddubsw", ssse3_insn, 5, SUF_Z, 0x04, 0, 0, 0, CPU_SSSE3, 0, 0},
{"cvtsi2ss", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0},
{"vphaddw", ssse3_insn, 5, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"repnz", NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0},
{"fidivrl", fiarith_insn, 2, SUF_L, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"fsqrt", twobyte_insn, 1, SUF_Z, 0xD9, 0xFA, 0, 0, CPU_FPU, 0, 0},
{"fsetpm", twobyte_insn, 1, SUF_Z, 0xDB, 0xE4, 0, 0, CPU_286, CPU_FPU, CPU_Obs},
{"insw", onebyte_insn, 1, SUF_Z, 0x6D, 0x10, 0, 0, 0, 0, 0},
{"setbeb", setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0},
{"vpsubb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rex64xy", NULL, X86_REX>>8, 0x4E, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vpsrldq", pslrldq_insn, 4, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"xorq", arith_insn, 22, SUF_Q, 0x30, 0x06, 0, ONLY_64, 0, 0, 0},
{"punpcklbw", mmxsse2_insn, 2, SUF_Z, 0x60, 0, 0, 0, CPU_MMX, 0, 0},
{"rdtscp", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF9, 0, CPU_686, CPU_AMD, CPU_Priv},
{"lfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xE8, 0, CPU_P3, 0, 0},
{"vpcmpestri", sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"divpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5E, 0, 0, CPU_SSE2, 0, 0},
{"vcmpss", xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fidivs", fiarith_insn, 2, SUF_S, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"pcmpeqq", sse4_insn, 2, SUF_Z, 0x29, 0, 0, 0, CPU_SSE41, 0, 0},
{"setnbe", setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0},
{"pshufb", ssse3_insn, 5, SUF_Z, 0x00, 0, 0, 0, CPU_SSSE3, 0, 0},
{"cmovgeq", cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0},
{"vpaddq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"clgi", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDD, 0, CPU_SVM, 0, 0},
{"rcpps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, 0, CPU_SSE, 0, 0},
{"cmovno", cmovcc_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_686, 0, 0},
{"addss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0, 0, CPU_SSE, 0, 0},
{"vcmpneqss", ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pavgusb", now3d_insn, 1, SUF_Z, 0xBF, 0, 0, 0, CPU_3DNow, 0, 0},
{"vfmadd213ps", vfma_ps_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vpcomneqw", vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0},
{"vpmaxsb", ssse3_insn, 5, SUF_Z, 0x3C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"pminsw", mmxsse2_insn, 2, SUF_Z, 0xEA, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vcmpnge_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x19, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomtrueud", vpcom_insn, 1, SUF_Z, 0xEE, 0x07, 0, 0, CPU_XOP, 0, 0},
{"setpe", setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0},
{"cmovnlw", cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0},
{"cbw", onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0},
{"vcmpge_oqss", ssecmp_32_insn, 4, SUF_Z, 0x1D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jpo", jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0},
{"leavel", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0},
{"mpsadbw", sse4imm_insn, 2, SUF_Z, 0x42, 0, 0, 0, CPU_SSE41, 0, 0},
{"vcvttsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vminps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpnleps", ssecmp_128_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_SSE, 0, 0},
{"blendvpd", sse4xmm0_insn, 2, SUF_Z, 0x15, 0, 0, 0, CPU_SSE41, 0, 0},
{"vaddss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomltuw", vpcom_insn, 1, SUF_Z, 0xED, 0x00, 0, 0, CPU_XOP, 0, 0},
{"orw", arith_insn, 22, SUF_W, 0x08, 0x01, 0, 0, 0, 0, 0},
{"adword", NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0},
{"vprotb", vprot_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0},
{"pclmulhqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0, 0, 0, CPU_AVX, 0, 0},
{"shrdq", shlrd_insn, 9, SUF_Q, 0xAC, 0, 0, ONLY_64, CPU_386, 0, 0},
{"vminss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpmaxub", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomltud", vpcom_insn, 1, SUF_Z, 0xEE, 0x00, 0, 0, CPU_XOP, 0, 0},
{"vpaddusw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movsq", onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0},
{"subsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0, 0, CPU_SSE2, 0, 0},
{"vfmaddsubpd", fma_128_256_insn, 4, SUF_Z, 0x5D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"cvtdq2ps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, 0, CPU_SSE2, 0, 0},
{"prefetch", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x0D, 0, CPU_3DNow, 0, 0},
{"vaesenc", aes_insn, 2, SUF_Z, 0x38, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"shl", shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0},
{"vcmpunord_spd", ssecmp_128_insn, 3, SUF_Z, 0x13, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"bsfw", bsfr_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_386, 0, 0},
{"bswap", bswap_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_486, 0, 0},
{"vfmadd231sd", vfma_sd_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"fistps", fildstp_insn, 4, SUF_S, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0},
{"fdivs", farith_insn, 7, SUF_S, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0},
{"pextrq", pextrq_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0},
{"adcl", arith_insn, 22, SUF_L, 0x10, 0x02, 0, 0, CPU_386, 0, 0},
{"vpmacsdql", vpma_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0},
{"vpcomeqq", vpcom_insn, 1, SUF_Z, 0xCF, 0x04, 0, 0, CPU_XOP, 0, 0},
{"tzmskq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x04, 0, ONLY_64, CPU_TBM, 0, 0},
{"rcl", shift_insn, 16, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0},
{"vsqrtsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cdqe", onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0},
{"negq", f6_insn, 4, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0},
{"pextrb", pextrb_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0},
{"movzbq", movszx_insn, 5, SUF_B, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0},
{"vcmpngtps", ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomgeb", vpcom_insn, 1, SUF_Z, 0xCC, 0x03, 0, 0, CPU_XOP, 0, 0},
{"lea", lea_insn, 3, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"invd", twobyte_insn, 1, SUF_Z, 0x0F, 0x08, 0, 0, CPU_486, CPU_Priv, 0},
{"sarxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0},
{"movdqu", movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, 0, CPU_SSE2, 0, 0},
{"vdivsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpneqpd", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0, 0, CPU_SSE, 0, 0},
{"xcryptecb", padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0},
{"shll", shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0},
{"int", int_insn, 1, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"wrfsbase", fs_gs_base_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0},
{"shufps", xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC6, 0, 0, CPU_SSE, 0, 0},
{"subpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5C, 0, 0, CPU_SSE2, 0, 0},
{"vcvtpd2psy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnew", cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0},
{"crc32", crc32_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0},
{"vmovapd", movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0},
{"rdrand", rdrand_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_RDRAND, 0, 0},
{"cmovnbew", cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0},
{"invvpidl", eptvpid_insn, 2, SUF_L, 0x01, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0},
{"ljmp", ljmpcall_insn, 7, SUF_Z, 0x05, 0xEA, 0, 0, 0, 0, 0},
{"vcmpeqpd", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"popfl", onebyte_insn, 1, SUF_Z, 0x9D, 0x20, 0, NOT_64, CPU_386, 0, 0},
{"wrgsbase", fs_gs_base_insn, 2, SUF_Z, 0x03, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0},
{"lodsb", onebyte_insn, 1, SUF_Z, 0xAC, 0x00, 0, 0, 0, 0, 0},
{"vcmpgess", ssecmp_32_insn, 4, SUF_Z, 0x0D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"aesenclast", aes_insn, 2, SUF_Z, 0x38, 0xDD, 0, 0, CPU_AVX, 0, 0},
{"cmovel", cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0},
{"vpsignd", ssse3_insn, 5, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"stosb", onebyte_insn, 1, SUF_Z, 0xAA, 0x00, 0, 0, 0, 0, 0},
{"smovb", onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0},
{"vcmpeqss", ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpandn", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmovmskpsl", movmsk_insn, 4, SUF_L, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmovntps", movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtpd2psx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpordps", ssecmp_128_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_SSE, 0, 0},
{"vpaddd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fptan", twobyte_insn, 1, SUF_Z, 0xD9, 0xF2, 0, 0, CPU_FPU, 0, 0},
{"shldw", shlrd_insn, 9, SUF_W, 0xA4, 0, 0, 0, CPU_386, 0, 0},
{"outsl", onebyte_insn, 1, SUF_Z, 0x6F, 0x20, 0, 0, CPU_386, 0, 0},
{"vmovmskpsq", movmsk_insn, 4, SUF_Q, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fldcw", fldnstcw_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0},
{"vcmpord_ssd", ssecmp_64_insn, 4, SUF_Z, 0x17, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmsub231sd", vfma_sd_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"pmullw", mmxsse2_insn, 2, SUF_Z, 0xD5, 0, 0, 0, CPU_MMX, 0, 0},
{"jno", jcc_insn, 9, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0},
{"vprotq", vprot_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_XOP, 0, 0},
{"vcmpneq_ospd", ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sarb", shift_insn, 16, SUF_B, 0x07, 0, 0, 0, 0, 0, 0},
{"aaa", onebyte_insn, 1, SUF_Z, 0x37, 0, 0, NOT_64, 0, 0, 0},
{"psubd", mmxsse2_insn, 2, SUF_Z, 0xFA, 0, 0, 0, CPU_MMX, 0, 0},
{"cmovpew", cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0},
{"blci", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0},
{"cmpnltsd", ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"rex64x", NULL, X86_REX>>8, 0x4C, 0, 0, 0, ONLY_64, 0, 0, 0},
{"blsr", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0},
{"vaeskeygenassist", aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpnltss", ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"cwde", onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0},
{"fcmovne", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC8, 0, 0, CPU_686, CPU_FPU, 0},
{"sscab", onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0},
{"vphaddbq", vphaddsub_insn, 1, SUF_Z, 0xC3, 0, 0, 0, CPU_XOP, 0, 0},
{"vcvttss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"roundsd", sse4m64imm_insn, 4, SUF_Z, 0x0B, 0, 0, 0, CPU_SSE41, 0, 0},
{"pfacc", now3d_insn, 1, SUF_Z, 0xAE, 0, 0, 0, CPU_3DNow, 0, 0},
{"fsubl", farith_insn, 7, SUF_L, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0},
{"invlpg", twobytemem_insn, 1, SUF_Z, 0x07, 0x0F, 0x01, 0, CPU_486, CPU_Priv, 0},
{"pextl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0},
{"fldenvl", onebytemem_insn, 1, SUF_L, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0},
{"lretq", retnf_insn, 6, SUF_Q, 0xCA, 0x40, 0, ONLY_64, 0, 0, 0},
{"addr16", NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0},
{"cmovncl", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"movzbw", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0},
{"pmvlzb", cyrixmmx_insn, 1, SUF_Z, 0x5B, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"boundw", bound_insn, 2, SUF_W, 0, 0, 0, NOT_64, CPU_186, 0, 0},
{"vroundsd", sse4m64imm_insn, 4, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"loopz", loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0},
{"roundpd", sse4imm_insn, 2, SUF_Z, 0x09, 0, 0, 0, CPU_SSE41, 0, 0},
{"sfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF8, 0, CPU_P3, 0, 0},
{"vpcomgew", vpcom_insn, 1, SUF_Z, 0xCD, 0x03, 0, 0, CPU_XOP, 0, 0},
{"vpcmpistrm", sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"repz", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0},
{"iretq", onebyte_insn, 1, SUF_Z, 0xCF, 0x40, 0, ONLY_64, 0, 0, 0},
{"pclmullqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_AVX, 0, 0},
{"vcmplt_oqss", ssecmp_32_insn, 4, SUF_Z, 0x11, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpeq_osps", ssecmp_128_insn, 3, SUF_Z, 0x10, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpw", arith_insn, 22, SUF_W, 0x38, 0x07, 0, 0, 0, 0, 0},
{"adox", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0},
{"rexyz", NULL, X86_REX>>8, 0x43, 0, 0, 0, ONLY_64, 0, 0, 0},
{"rorxq", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Q, 0xF2, 0x3A, 0xF0, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"movsxb", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0},
{"paddsw", mmxsse2_insn, 2, SUF_Z, 0xED, 0, 0, 0, CPU_MMX, 0, 0},
{"lldtw", prot286_insn, 1, SUF_W, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot},
{"vpcomneuw", vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0},
{"vcmpnlesd", ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfrczss", vfrczss_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0},
{"movw", mov_insn, 69, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"crc32q", crc32_insn, 5, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE42, 0, 0},
{"vextracti128", vextractif128_insn, 1, SUF_Z, 0x39, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"subps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5C, 0, 0, CPU_SSE, 0, 0},
{"inb", in_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0},
{"vfnmsub231ps", vfma_ps_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vphaddubw", vphaddsub_insn, 1, SUF_Z, 0xD1, 0, 0, 0, CPU_XOP, 0, 0},
{"pmachriw", pmachriw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"vmpsadbw", sse4imm_256avx2_insn, 4, SUF_Z, 0x42, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovngew", cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0},
{"popcntq", cnt_insn, 3, SUF_Q, 0xB8, 0, 0, ONLY_64, CPU_SSE42, 0, 0},
{"insertps", insertps_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0},
{"cmpxchgl", cmpxchgxadd_insn, 4, SUF_L, 0xB0, 0, 0, 0, CPU_486, 0, 0},
{"vcomiss", avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcmpgtd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"loopzw", loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0},
{"retw", retnf_insn, 6, SUF_Z, 0xC2, 0x10, 0, 0, 0, 0, 0},
{"pavgb", mmxsse2_insn, 2, SUF_Z, 0xE0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"loopnel", loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0},
{"vpsrld", vpshift_insn, 8, SUF_Z, 0xD2, 0x72, 0x02, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtpd2dqx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"ficomps", fiarith_insn, 2, SUF_S, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"fisttps", fildstp_insn, 4, SUF_S, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0},
{"vandpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"haddpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7C, 0, 0, CPU_SSE3, 0, 0},
{"bsfl", bsfr_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_386, 0, 0},
{"rolq", shift_insn, 16, SUF_Q, 0x00, 0, 0, ONLY_64, 0, 0, 0},
{"vcmpneq_ussd", ssecmp_64_insn, 4, SUF_Z, 0x14, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pinsrwl", pinsrw_insn, 9, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"pmovzxwd", sse4m64_insn, 4, SUF_Z, 0x33, 0, 0, 0, CPU_SSE41, 0, 0},
{"vcmpgt_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x1E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pslld", pshift_insn, 4, SUF_Z, 0xF2, 0x72, 0x06, 0, CPU_MMX, 0, 0},
{"bextr", bextr_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0},
{"movsbl", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0},
{"vpcomuq", vpcom_imm_insn, 1, SUF_Z, 0xEF, 0, 0, 0, CPU_XOP, 0, 0},
{"pcmpestrm", sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0, 0, 0, CPU_SSE42, 0, 0},
{"pfcmpgt", now3d_insn, 1, SUF_Z, 0xA0, 0, 0, 0, CPU_3DNow, 0, 0},
{"ltrw", prot286_insn, 1, SUF_W, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot},
{"paddusw", mmxsse2_insn, 2, SUF_Z, 0xDD, 0, 0, 0, CPU_MMX, 0, 0},
{"vpmacsswd", vpma_insn, 1, SUF_Z, 0x86, 0, 0, 0, CPU_XOP, 0, 0},
{"vfnmsubsd", fma_128_m64_insn, 3, SUF_Z, 0x7F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"loopew", loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0},
{"vmaskmovdqu", maskmovdqu_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cvtsi2sdq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0, ONLY_64, CPU_SSE2, 0, 0},
{"fisubs", fiarith_insn, 2, SUF_S, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"cmpeqss", ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"cqto", onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0},
{"vcmpunordpd", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setna", setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0},
{"cvtdq2pd", xmm_xmm64_insn, 4, SUF_Z, 0xF3, 0xE6, 0, 0, CPU_SSE2, 0, 0},
{"andnpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x55, 0, 0, CPU_SSE2, 0, 0},
{"vcmpeq_uqps", ssecmp_128_insn, 3, SUF_Z, 0x08, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtsi2ss", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"psrld", pshift_insn, 4, SUF_Z, 0xD2, 0x72, 0x02, 0, CPU_MMX, 0, 0},
{"outl", out_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"vcvttss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"paddq", mmxsse2_insn, 2, SUF_Z, 0xD4, 0, 0, 0, CPU_MMX, 0, 0},
{"cmpneqss", ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"vfrczsd", vfrczsd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0},
{"xsaveopt64", xsaveopt64_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, ONLY_64, CPU_XSAVEOPT, 0, 0},
{"fnstsww", fnstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"vfmaddss", fma_128_m32_insn, 3, SUF_Z, 0x6A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"fsubs", farith_insn, 7, SUF_S, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0},
{"vpshufd", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0x66, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fstpl", fstp_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"vcmpeq_ussd", ssecmp_64_insn, 4, SUF_Z, 0x18, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jle", jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0},
{"sidtq", twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vpshlb", amd_vpshift_insn, 2, SUF_Z, 0x94, 0, 0, 0, CPU_XOP, 0, 0},
{"pinsrwq", pinsrw_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0},
{"js", jcc_insn, 9, SUF_Z, 0x08, 0, 0, 0, 0, 0, 0},
{"andnq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF2, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0},
{"cmpsl", onebyte_insn, 1, SUF_Z, 0xA7, 0x20, 0, 0, CPU_386, 0, 0},
{"vmovlps", movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pabsd", ssse3_insn, 5, SUF_Z, 0x1E, 0, 0, 0, CPU_SSSE3, 0, 0},
{"vpcomequd", vpcom_insn, 1, SUF_Z, 0xEE, 0x04, 0, 0, CPU_XOP, 0, 0},
{"salw", shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0},
{"movntss", movntss_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0},
{"movlhps", movhllhps_insn, 2, SUF_Z, 0x16, 0, 0, 0, CPU_SSE, 0, 0},
{"vcmpltps", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovoq", cmovcc_insn, 3, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_686, 0, 0},
{"rex64xz", NULL, X86_REX>>8, 0x4D, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vfmsubadd132ps", vfma_ps_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vcmplt_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x11, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnzl", cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0},
{"cvttss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0},
{"pand", mmxsse2_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_MMX, 0, 0},
{"packuswb", mmxsse2_insn, 2, SUF_Z, 0x67, 0, 0, 0, CPU_MMX, 0, 0},
{"rcrw", shift_insn, 16, SUF_W, 0x03, 0, 0, 0, 0, 0, 0},
{"loadall", twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_386, CPU_Undoc, 0},
{"vprotd", vprot_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_XOP, 0, 0},
{"popcntl", cnt_insn, 3, SUF_L, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0},
{"xsave", twobytemem_insn, 1, SUF_Z, 0x04, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0},
{"addq", arith_insn, 22, SUF_Q, 0x00, 0x00, 0, ONLY_64, 0, 0, 0},
{"fldlg2", twobyte_insn, 1, SUF_Z, 0xD9, 0xEC, 0, 0, CPU_FPU, 0, 0},
{"fwait", onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, CPU_FPU, 0, 0},
{"cvtsi2sdl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0},
{"cmovl", cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0},
{"rol", shift_insn, 16, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0},
{"tzmsk", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0},
{"loope", loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0},
{"decl", incdec_insn, 6, SUF_L, 0x48, 0x01, 0, 0, CPU_386, 0, 0},
{"shlb", shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0},
{"cmpsw", onebyte_insn, 1, SUF_Z, 0xA7, 0x10, 0, 0, 0, 0, 0},
{"inc", incdec_insn, 6, SUF_Z, 0x40, 0x00, 0, 0, 0, 0, 0},
{"vpshlw", amd_vpshift_insn, 2, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0},
{"vpcomneqd", vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0},
{"vunpckhps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movups", movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, 0, CPU_SSE, 0, 0},
{"smint", twobyte_insn, 1, SUF_Z, 0x0F, 0x38, 0, 0, CPU_686, CPU_Cyrix, 0},
{"addsubpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xD0, 0, 0, CPU_SSE3, 0, 0},
{"sha1msg1", intel_SHA1MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0},
{"pmovzxdq", sse4m64_insn, 4, SUF_Z, 0x35, 0, 0, 0, CPU_SSE41, 0, 0},
{"vaddps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"in", in_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"setnpb", setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0},
{"sete", setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0},
{"vcmpnlt_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x15, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmsub132sd", vfma_sd_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmovnae", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"xcryptcfb", padlock_insn, 1, SUF_Z, 0xE0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0},
{"vcvtss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fcmovnb", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC0, 0, 0, CPU_686, CPU_FPU, 0},
{"vfmadd213ss", vfma_ss_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"pushfw", onebyte_insn, 1, SUF_Z, 0x9C, 0x10, 0x40, 0, 0, 0, 0},
{"vcmpless", ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sidtl", twobytemem_insn, 1, SUF_L, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vpcomfalsew", vpcom_insn, 1, SUF_Z, 0xCD, 0x06, 0, 0, CPU_XOP, 0, 0},
{"xcryptctr", padlock_insn, 1, SUF_Z, 0xD8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0},
{"fidiv", fiarith_insn, 2, SUF_Z, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"cvtpi2pd", cvt_xmm_mm_ss_insn, 1, SUF_Z, 0x66, 0x2A, 0, 0, CPU_SSE2, 0, 0},
{"fxrstorq", twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0},
{"aas", onebyte_insn, 1, SUF_Z, 0x3F, 0, 0, NOT_64, 0, 0, 0},
{"pfrsqrt", now3d_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_3DNow, 0, 0},
{"cmovpeq", cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0},
{"vaesenclast", aes_insn, 2, SUF_Z, 0x38, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmreadl", vmxmemrd_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0},
{"vpcomub", vpcom_imm_insn, 1, SUF_Z, 0xEC, 0, 0, 0, CPU_XOP, 0, 0},
{"movupd", movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, 0, CPU_SSE2, 0, 0},
{"btcw", bittest_insn, 6, SUF_W, 0xBB, 0x07, 0, 0, CPU_386, 0, 0},
{"popfq", onebyte_insn, 1, SUF_Z, 0x9D, 0x40, 0x40, ONLY_64, 0, 0, 0},
{"pmulhrw", now3d_insn, 1, SUF_Z, 0xB7, 0, 0, 0, CPU_3DNow, 0, 0},
{"psubsw", mmxsse2_insn, 2, SUF_Z, 0xE9, 0, 0, 0, CPU_MMX, 0, 0},
{"lsl", larlsl_insn, 6, SUF_Z, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"rdtsc", twobyte_insn, 1, SUF_Z, 0x0F, 0x31, 0, 0, CPU_586, 0, 0},
{"scasw", onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0},
{"pmvnzb", cyrixmmx_insn, 1, SUF_Z, 0x5A, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"pmulhw", mmxsse2_insn, 2, SUF_Z, 0xE5, 0, 0, 0, CPU_MMX, 0, 0},
{"sha1rnds4", intel_SHA1RNDS4_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0},
{"jb", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0},
{"blsi", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0},
{"vfmaddsub213ps", vfma_ps_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vpcmpeqw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x75, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmaddsd", fma_128_m64_insn, 3, SUF_Z, 0x6B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"vcmpordpd", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpclmulhqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"setne", setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0},
{"pmaddwd", mmxsse2_insn, 2, SUF_Z, 0xF5, 0, 0, 0, CPU_MMX, 0, 0},
{"vpcomneb", vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0},
{"pclmulhqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_AVX, 0, 0},
{"xaddb", cmpxchgxadd_insn, 4, SUF_B, 0xC0, 0, 0, 0, CPU_486, 0, 0},
{"cmpps", xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC2, 0, 0, CPU_SSE, 0, 0},
{"movntq", movntq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0},
{"idivw", div_insn, 8, SUF_W, 0x07, 0, 0, 0, 0, 0, 0},
{"push", push_insn, 35, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"vfmsub231pd", vfma_pd_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"test", test_insn, 20, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"pslldq", pslrldq_insn, 4, SUF_Z, 0x07, 0, 0, 0, CPU_SSE2, 0, 0},
{"sha256rnds2", intel_SHA256RNDS2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0},
{"cmovb", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"rex64xyz", NULL, X86_REX>>8, 0x4F, 0, 0, 0, ONLY_64, 0, 0, 0},
{"blcs", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0},
{"punpcklwd", mmxsse2_insn, 2, SUF_Z, 0x61, 0, 0, 0, CPU_MMX, 0, 0},
{"sqrtps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, 0, CPU_SSE, 0, 0},
{"cmovnaeq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0},
{"vmread", vmxmemrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0},
{"fldz", twobyte_insn, 1, SUF_Z, 0xD9, 0xEE, 0, 0, CPU_FPU, 0, 0},
{"vpunpckldq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x62, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"retl", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, NOT_64, 0, 0, 0},
{"vlddqu", lddqu_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"loopnzw", loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0},
{"vmaxss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cvttpd2pi", cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2C, 0, 0, CPU_SSE2, 0, 0},
{"btrl", bittest_insn, 6, SUF_L, 0xB3, 0x06, 0, 0, CPU_386, 0, 0},
{"cvttsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0},
{"cmovns", cmovcc_insn, 3, SUF_Z, 0x09, 0, 0, 0, CPU_686, 0, 0},
{"vblendvpd", avx_sse4xmm0_insn, 2, SUF_Z, 0x4B, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fistp", fildstp_insn, 4, SUF_Z, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0},
{"setbe", setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0},
{"cmpordss", ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"vfrczps", vfrc_pdps_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0},
{"sysret", twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv},
{"pfrsqit1", now3d_insn, 1, SUF_Z, 0xA7, 0, 0, 0, CPU_3DNow, 0, 0},
{"pdistib", cyrixmmx_insn, 1, SUF_Z, 0x54, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"sha256msg2", intel_SHA256MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0},
{"pshuflw", xmm_xmm128_imm_insn, 1, SUF_Z, 0xF2, 0x70, 0, 0, CPU_SSE2, 0, 0},
{"vpcomged", vpcom_insn, 1, SUF_Z, 0xCE, 0x03, 0, 0, CPU_XOP, 0, 0},
{"addpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x58, 0, 0, CPU_SSE2, 0, 0},
{"fstenv", twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0},
{"vpcomled", vpcom_insn, 1, SUF_Z, 0xCE, 0x01, 0, 0, CPU_XOP, 0, 0},
{"vpackssdw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnbl", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"vpcomleuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x01, 0, 0, CPU_XOP, 0, 0},
{"paddsiw", cyrixmmx_insn, 1, SUF_Z, 0x51, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"dppd", sse4imm_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0},
{"incb", incdec_insn, 6, SUF_B, 0x40, 0x00, 0, 0, 0, 0, 0},
{"vpmulhuw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmovmskpdl", movmsk_insn, 4, SUF_L, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"hnt", NULL, X86_SEGREG>>8, 0x2E, 0, 0, 0, 0, 0, 0, 0},
{"fclex", threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE2, 0, CPU_FPU, 0, 0},
{"vcmpord_sss", ssecmp_32_insn, 4, SUF_Z, 0x17, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"aeskeygenassist", aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0, 0, CPU_AES, 0, 0},
{"cvtsi2ssq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0, ONLY_64, CPU_SSE, 0, 0},
{"extractps", extractps_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0},
{"cmpless", ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"psubusw", mmxsse2_insn, 2, SUF_Z, 0xD9, 0, 0, 0, CPU_MMX, 0, 0},
{"setnzb", setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0},
{"vpacksswb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x63, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pandn", mmxsse2_insn, 2, SUF_Z, 0xDF, 0, 0, 0, CPU_MMX, 0, 0},
{"vpsubd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmptruesd", ssecmp_64_insn, 4, SUF_Z, 0x0F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fucomp", fcom2_insn, 2, SUF_Z, 0xDD, 0xE8, 0, 0, CPU_286, CPU_FPU, 0},
{"lar", larlsl_insn, 6, SUF_Z, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"blsic", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0},
{"ibts", ibts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc},
{"sysexit", twobyte_insn, 1, SUF_Z, 0x0F, 0x35, 0, NOT_64, CPU_686, CPU_Priv, 0},
{"vmovmskps", movmsk_insn, 4, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtss2sd", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vunpcklps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fdivr", farith_insn, 7, SUF_Z, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0},
{"vpshufb", ssse3_insn, 5, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmptruepd", ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpshufhw", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF3, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"loopl", loopl_insn, 4, SUF_Z, 0x02, 0x20, 0, 0, 0, 0, 0},
{"vfnmaddps", fma_128_256_insn, 4, SUF_Z, 0x78, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"movsbw", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0},
{"fstps", fstp_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"fadd", farith_insn, 7, SUF_Z, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0},
{"vcmpeqsd", ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpngt_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x1A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sscaw", onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0},
{"setnlb", setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0},
{"vpmulld", ssse3_insn, 5, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmsub132pd", vfma_pd_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"palignr", ssse3imm_insn, 2, SUF_Z, 0x0F, 0, 0, 0, CPU_SSSE3, 0, 0},
{"orpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x56, 0, 0, CPU_SSE2, 0, 0},
{"vminsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fsincos", twobyte_insn, 1, SUF_Z, 0xD9, 0xFB, 0, 0, CPU_286, CPU_FPU, 0},
{"vcmple_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x12, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmagw", cyrixmmx_insn, 1, SUF_Z, 0x52, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"setnleb", setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0},
{"vcmpps", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpmulhrsw", ssse3_insn, 5, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"setcb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"lgsl", lfgss_insn, 3, SUF_L, 0xB5, 0, 0, 0, CPU_386, 0, 0},
{"paveb", cyrixmmx_insn, 1, SUF_Z, 0x50, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"sbbq", arith_insn, 22, SUF_Q, 0x18, 0x03, 0, ONLY_64, 0, 0, 0},
{"vfmaddpd", fma_128_256_insn, 4, SUF_Z, 0x69, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"fcos", twobyte_insn, 1, SUF_Z, 0xD9, 0xFF, 0, 0, CPU_286, CPU_FPU, 0},
{"cvtsi2ssl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0},
{"setneb", setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0},
{"vfnmsub132ps", vfma_ps_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"lfsw", lfgss_insn, 3, SUF_W, 0xB4, 0, 0, 0, CPU_386, 0, 0},
{"vpcmpestrm", sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"arpl", arpl_insn, 1, SUF_Z, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0},
{"cmovew", cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0},
{"pminuw", sse4_insn, 2, SUF_Z, 0x3A, 0, 0, 0, CPU_SSE41, 0, 0},
{"movabsq", movabs_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"cmovo", cmovcc_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_686, 0, 0},
{"blsicl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0},
{"smovw", onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0},
{"faddl", farith_insn, 7, SUF_L, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0},
{"maxsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0, 0, CPU_SSE2, 0, 0},
{"aad", aadm_insn, 2, SUF_Z, 0x01, 0, 0, NOT_64, 0, 0, 0},
{"vpmaskmovq", vmaskmov_vexw1_avx2_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vfmadd132sd", vfma_sd_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"rep", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0},
{"vcmpltss", ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sub", arith_insn, 22, SUF_Z, 0x28, 0x05, 0, 0, 0, 0, 0},
{"smswq", sldtmsw_insn, 6, SUF_Q, 0x04, 0x01, 0, ONLY_64, CPU_286, 0, 0},
{"qword", NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vcmpunordps", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cltq", onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0},
{"vfnmadd213pd", vfma_pd_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"minsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0, 0, CPU_SSE2, 0, 0},
{"fmul", farith_insn, 7, SUF_Z, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0},
{"cmpss", xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0, 0, CPU_SSE, 0, 0},
{"vcvtsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"addsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0, 0, CPU_SSE2, 0, 0},
{"vmulss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"btsq", bittest_insn, 6, SUF_Q, 0xAB, 0x05, 0, ONLY_64, CPU_386, 0, 0},
{"cvtsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0},
{"vpcomtrueb", vpcom_insn, 1, SUF_Z, 0xCC, 0x07, 0, 0, CPU_XOP, 0, 0},
{"vpcomeqb", vpcom_insn, 1, SUF_Z, 0xCC, 0x04, 0, 0, CPU_XOP, 0, 0},
{"fidivr", fiarith_insn, 2, SUF_Z, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vpcomgeuw", vpcom_insn, 1, SUF_Z, 0xED, 0x03, 0, 0, CPU_XOP, 0, 0},
{"cmovnel", cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0},
{"vpmovzxwq", sse4m32_insn, 4, SUF_Z, 0x34, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpeq_osss", ssecmp_32_insn, 4, SUF_Z, 0x10, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"shrb", shift_insn, 16, SUF_B, 0x05, 0, 0, 0, 0, 0, 0},
{"maxpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5F, 0, 0, CPU_SSE2, 0, 0},
{"hsubps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7D, 0, 0, CPU_SSE3, 0, 0},
{"sarx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0},
{"vpcomgtb", vpcom_insn, 1, SUF_Z, 0xCC, 0x02, 0, 0, CPU_XOP, 0, 0},
{"vextractf128", vextractif128_insn, 1, SUF_Z, 0x19, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtsi2ssl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movzxb", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0},
{"vpbroadcastw", vpbroadcastw_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"shlw", shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0},
{"cmpltps", ssecmp_128_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_SSE, 0, 0},
{"xlatb", onebyte_insn, 1, SUF_Z, 0xD7, 0x00, 0, 0, 0, 0, 0},
{"xsha1", padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0},
{"lret", retnf_insn, 6, SUF_Z, 0xCA, 0, 0, 0, 0, 0, 0},
{"xsha256", padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0},
{"vpsrad", vpshift_insn, 8, SUF_Z, 0xE2, 0x72, 0x04, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnpl", cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0},
{"addw", arith_insn, 22, SUF_W, 0x00, 0x00, 0, 0, 0, 0, 0},
{"setg", setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0},
{"vphaddubq", vphaddsub_insn, 1, SUF_Z, 0xD3, 0, 0, 0, CPU_XOP, 0, 0},
{"cmovngl", cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0},
{"vpermilpd", vpermil_insn, 4, SUF_Z, 0x05, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpmacswd", vpma_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0},
{"clac", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCA, 0, CPU_SMAP, 0, 0},
{"punpckhwd", mmxsse2_insn, 2, SUF_Z, 0x69, 0, 0, 0, CPU_MMX, 0, 0},
{"vpcmpgtb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x64, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"leave", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0},
{"shrd", shlrd_insn, 9, SUF_Z, 0xAC, 0, 0, 0, CPU_386, 0, 0},
{"vfmsub132ps", vfma_ps_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"lretl", retnf_insn, 6, SUF_L, 0xCA, 0, 0, 0, 0, 0, 0},
{"cmovpol", cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0},
{"orl", arith_insn, 22, SUF_L, 0x08, 0x01, 0, 0, CPU_386, 0, 0},
{"fnstcw", fldnstcw_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0},
{"punpckldq", mmxsse2_insn, 2, SUF_Z, 0x62, 0, 0, 0, CPU_MMX, 0, 0},
{"vpmaddwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"mulb", f6_insn, 4, SUF_B, 0x04, 0, 0, 0, 0, 0, 0},
{"cmppd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC2, 0, 0, CPU_SSE2, 0, 0},
{"rex", NULL, X86_REX>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0},
{"movd", movd_insn, 8, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_MMX, 0},
{"vpshaw", amd_vpshift_insn, 2, SUF_Z, 0x99, 0, 0, 0, CPU_XOP, 0, 0},
{"vrsqrtps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvtph2ps", avx_cvtph2ps_insn, 4, SUF_Z, 0x66, 0x13, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vsubss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"tzcntl", cnt_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0},
{"not", f6_insn, 4, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0},
{"cvtpd2pi", cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2D, 0, 0, CPU_SSE2, 0, 0},
{"vcmpngtsd", ssecmp_64_insn, 4, SUF_Z, 0x0A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rex64yz", NULL, X86_REX>>8, 0x4B, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vpblendd", vex_66_0F3A_imm8_avx2_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vpmovmskb", pmovmskb_insn, 6, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fldt", fldstpt_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0},
{"vpunpcklbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x60, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"femms", twobyte_insn, 1, SUF_Z, 0x0F, 0x0E, 0, 0, CPU_3DNow, 0, 0},
{"vpsrlvq", vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"paddusb", mmxsse2_insn, 2, SUF_Z, 0xDC, 0, 0, 0, CPU_MMX, 0, 0},
{"movdq2q", movdq2q_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0},
{"vfnmsub132pd", vfma_pd_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"adcb", arith_insn, 22, SUF_B, 0x10, 0x02, 0, 0, 0, 0, 0},
{"vcmpneqps", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"andnl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0},
{"fnstenvl", onebytemem_insn, 1, SUF_L, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0},
{"smi", onebyte_insn, 1, SUF_Z, 0xF1, 0, 0, 0, CPU_386, CPU_Undoc, 0},
{"cmovol", cmovcc_insn, 3, SUF_L, 0x00, 0, 0, 0, CPU_686, 0, 0},
{"wait", onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, 0, 0, 0},
{"vpcmov", vpcmov_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0},
{"vunpcklpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jl", jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0},
{"fnclex", twobyte_insn, 1, SUF_Z, 0xDB, 0xE2, 0, 0, CPU_FPU, 0, 0},
{"shlq", shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0},
{"sall", shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0},
{"swapgs", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF8, ONLY_64, 0, 0, 0},
{"cvttps2dq", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, 0, CPU_SSE2, 0, 0},
{"pmaxud", sse4_insn, 2, SUF_Z, 0x3F, 0, 0, 0, CPU_SSE41, 0, 0},
{"vpaddsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xED, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"prefetcht0", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x18, 0, CPU_P3, 0, 0},
{"repne", NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0},
{"vfmsub132ss", vfma_ss_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"lsll", larlsl_insn, 6, SUF_L, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"vgatherqps", gather_32x_32y_128_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vrsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"divl", div_insn, 8, SUF_L, 0x06, 0, 0, 0, CPU_386, 0, 0},
{"pcmpgtq", sse4_insn, 2, SUF_Z, 0x37, 0, 0, 0, CPU_SSE41, 0, 0},
{"pmulhrsw", ssse3_insn, 5, SUF_Z, 0x0B, 0, 0, 0, CPU_SSSE3, 0, 0},
{"repe", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0},
{"vpcomtrued", vpcom_insn, 1, SUF_Z, 0xCE, 0x07, 0, 0, CPU_XOP, 0, 0},
{"fldl", fld_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"cvtps2pd", xmm_xmm64_insn, 4, SUF_Z, 0x00, 0x5A, 0, 0, CPU_SSE2, 0, 0},
{"vcmpnless", ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"loopeq", loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0},
{"aesdeclast", aes_insn, 2, SUF_Z, 0x38, 0xDF, 0, 0, CPU_AVX, 0, 0},
{"vpcomequb", vpcom_insn, 1, SUF_Z, 0xEC, 0x04, 0, 0, CPU_XOP, 0, 0},
{"stgi", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDC, 0, CPU_SVM, 0, 0},
{"vpmovzxbd", sse4m32_insn, 4, SUF_Z, 0x31, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"psignb", ssse3_insn, 5, SUF_Z, 0x08, 0, 0, 0, CPU_SSSE3, 0, 0},
{"vpshlq", amd_vpshift_insn, 2, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0},
{"vpcomfalseuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x06, 0, 0, CPU_XOP, 0, 0},
{"mulxq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF6, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"jmpq", jmp_insn, 31, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"cvtsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0, ONLY_64, CPU_SSE2, 0, 0},
{"movhpd", movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0, 0, CPU_SSE2, 0, 0},
{"punpcklqdq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6C, 0, 0, CPU_SSE2, 0, 0},
{"verw", prot286_insn, 1, SUF_Z, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0},
{"cmpunordsd", ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"vzeroall", vzero_insn, 1, SUF_Z, 0xC4, 0, 0, 0, CPU_AVX, 0, 0},
{"vperm2i128", vperm2i128_avx2_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"jo", jcc_insn, 9, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0},
{"callq", call_insn, 30, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"cmovle", cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0},
{"sgdtq", twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"cmovnpq", cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0},
{"cvtpd2ps", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, 0, CPU_SSE2, 0, 0},
{"minss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0, 0, CPU_SSE, 0, 0},
{"loopw", loopw_insn, 4, SUF_Z, 0x02, 0x10, 0, NOT_64, 0, 0, 0},
{"inveptl", eptvpid_insn, 2, SUF_L, 0x00, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0},
{"bsr", bsfr_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_386, 0, 0},
{"vcmpgtss", ssecmp_32_insn, 4, SUF_Z, 0x0E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"negl", f6_insn, 4, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"psrlw", pshift_insn, 4, SUF_Z, 0xD1, 0x71, 0x02, 0, CPU_MMX, 0, 0},
{"vpmuludq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pext", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0},
{"rsm", twobyte_insn, 1, SUF_Z, 0x0F, 0xAA, 0, 0, CPU_586, CPU_SMM, 0},
{"addl", arith_insn, 22, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0},
{"vpermd", vperm_var_avx2_insn, 1, SUF_Z, 0x36, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"fxsave", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0},
{"vphadduwq", vphaddsub_insn, 1, SUF_Z, 0xD7, 0, 0, 0, CPU_XOP, 0, 0},
{"pminud", sse4_insn, 2, SUF_Z, 0x3B, 0, 0, 0, CPU_SSE41, 0, 0},
{"ldsw", ldes_insn, 2, SUF_W, 0xC5, 0, 0, NOT_64, 0, 0, 0},
{"movsw", onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0},
{"pmaxub", mmxsse2_insn, 2, SUF_Z, 0xDE, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vldmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vhsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vucomisd", avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovpow", cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0},
{"pmvgezb", cyrixmmx_insn, 1, SUF_Z, 0x5C, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"cvtsd2ss", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0, 0, CPU_SSE2, 0, 0},
{"vbroadcastf128", vbroadcastif128_insn, 1, SUF_Z, 0x1A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"lldt", prot286_insn, 1, SUF_Z, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot},
{"t1mskc", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0},
{"movsx", movszx_insn, 5, SUF_Z, 0xBE, 0, 0, 0, CPU_386, 0, 0},
{"vpmacsdd", vpma_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_XOP, 0, 0},
{"vcmplesd", ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"prefetchw", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x0D, 0, CPU_PRFCHW, 0, 0},
{"pextrd", pextrd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0},
{"vcmpfalse_osps", ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vptest", sse4_insn, 2, SUF_Z, 0x17, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"loopneq", loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0},
{"fucompp", twobyte_insn, 1, SUF_Z, 0xDA, 0xE9, 0, 0, CPU_286, CPU_FPU, 0},
{"vpextrq", pextrq_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"umov", umov_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Undoc, 0},
{"fcmovb", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC0, 0, 0, CPU_686, CPU_FPU, 0},
{"vinsertf128", vinsertif128_insn, 1, SUF_Z, 0x18, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"std", onebyte_insn, 1, SUF_Z, 0xFD, 0, 0, 0, 0, 0, 0},
{"cvtpd2dq", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, 0, CPU_SSE2, 0, 0},
{"vpcomned", vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0},
{"vpand", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"bswapq", bswap_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vpmacssdqh", vpma_insn, 1, SUF_Z, 0x8F, 0, 0, 0, CPU_XOP, 0, 0},
{"blcicl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0},
{"strq", str_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0},
{"vshufps", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"roll", shift_insn, 16, SUF_L, 0x00, 0, 0, 0, CPU_386, 0, 0},
{"cvttpd2dq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, 0, CPU_SSE2, 0, 0},
{"salq", shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0},
{"vpcomfalseq", vpcom_insn, 1, SUF_Z, 0xCF, 0x06, 0, 0, CPU_XOP, 0, 0},
{"leaq", lea_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vmovdqu", movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0},
{"vpmaddubsw", ssse3_insn, 5, SUF_Z, 0x04, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpltpd", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0, 0, CPU_SSE, 0, 0},
{"outw", out_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"cmovncq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0},
{"blcmskl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0},
{"vfmadd231ss", vfma_ss_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmpordsd", ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0, 0, CPU_SSE2, 0, 0},
{"setnle", setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0},
{"vfmadd231pd", vfma_pd_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vcmpneqsd", ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmptrst", vmxtwobytemem_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_P4, 0, 0},
{"cmovsl", cmovcc_insn, 3, SUF_L, 0x08, 0, 0, 0, CPU_686, 0, 0},
{"vpmovsxbw", sse4m64_insn, 4, SUF_Z, 0x20, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpneq_ossd", ssecmp_64_insn, 4, SUF_Z, 0x1C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"xgetbv", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD0, 0, CPU_386, CPU_XSAVE, 0},
{"addr32", NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0},
{"vcmpneq_osss", ssecmp_32_insn, 4, SUF_Z, 0x1C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vmulsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"maskmovdqu", maskmovdqu_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0},
{"vpslldq", pslrldq_insn, 4, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"maskmovq", maskmovq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vcmpeq_uspd", ssecmp_128_insn, 3, SUF_Z, 0x18, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pmulhriw", cyrixmmx_insn, 1, SUF_Z, 0x5D, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"vcvtps2dq", avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmsub231ss", vfma_ss_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"shrx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0},
{"psadbw", mmxsse2_insn, 2, SUF_Z, 0xF6, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"vmovd", vmovd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_AVX, 0},
{"pushfl", onebyte_insn, 1, SUF_Z, 0x9C, 0x20, 0, NOT_64, CPU_386, 0, 0},
{"vfnmadd132ps", vfma_ps_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"sqrtpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, 0, CPU_SSE2, 0, 0},
{"cvtss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0},
{"fyl2x", twobyte_insn, 1, SUF_Z, 0xD9, 0xF1, 0, 0, CPU_FPU, 0, 0},
{"btq", bittest_insn, 6, SUF_Q, 0xA3, 0x04, 0, ONLY_64, CPU_386, 0, 0},
{"vpslld", vpshift_insn, 8, SUF_Z, 0xF2, 0x72, 0x06, ONLY_AVX, CPU_AVX, 0, 0},
{"invlpga", invlpga_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0},
{"xorb", arith_insn, 22, SUF_B, 0x30, 0x06, 0, 0, 0, 0, 0},
{"fsubp", farithp_insn, 3, SUF_Z, 0xE0, 0, 0, 0, CPU_FPU, 0, 0},
{"vcvtps2pd", avx_cvt_xmm64_insn, 3, SUF_Z, 0x00, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmsub213pd", vfma_pd_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vcvttsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jp", jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0},
{"vsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"lesw", ldes_insn, 2, SUF_W, 0xC4, 0, 0, NOT_64, 0, 0, 0},
{"vxorps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"divb", div_insn, 8, SUF_B, 0x06, 0, 0, 0, 0, 0, 0},
{"movq", mov_insn, 69, SUF_Q, 0, 0, 0, 0, 0, 0, 0},
{"lfsl", lfgss_insn, 3, SUF_L, 0xB4, 0, 0, 0, CPU_386, 0, 0},
{"syscall", twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_686, CPU_AMD, 0},
{"btl", bittest_insn, 6, SUF_L, 0xA3, 0x04, 0, 0, CPU_386, 0, 0},
{"fucomip", fcom2_insn, 2, SUF_Z, 0xDF, 0xE8, 0, 0, CPU_686, CPU_FPU, 0},
{"setncb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"cmovnol", cmovcc_insn, 3, SUF_L, 0x01, 0, 0, 0, CPU_686, 0, 0},
{"xcryptcbc", padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0},
{"vcmplt_oqps", ssecmp_128_insn, 3, SUF_Z, 0x11, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"btrq", bittest_insn, 6, SUF_Q, 0xB3, 0x06, 0, ONLY_64, CPU_386, 0, 0},
{"paddw", mmxsse2_insn, 2, SUF_Z, 0xFD, 0, 0, 0, CPU_MMX, 0, 0},
{"pmovzxbq", sse4m16_insn, 4, SUF_Z, 0x32, 0, 0, 0, CPU_SSE41, 0, 0},
{"rorq", shift_insn, 16, SUF_Q, 0x01, 0, 0, ONLY_64, 0, 0, 0},
{"xrelease", NULL, X86_ACQREL>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0},
{"vpshld", amd_vpshift_insn, 2, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0},
{"fstp", fstp_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"movsbq", movszx_insn, 5, SUF_B, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0},
{"fucom", fcom2_insn, 2, SUF_Z, 0xDD, 0xE0, 0, 0, CPU_286, CPU_FPU, 0},
{"vpclmullqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"hsubpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7D, 0, 0, CPU_SSE3, 0, 0},
{"por", mmxsse2_insn, 2, SUF_Z, 0xEB, 0, 0, 0, CPU_MMX, 0, 0},
{"mulx", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0},
{"vpcomneqb", vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0},
{"movmskps", movmsk_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE, 0},
{"fucomi", fcom2_insn, 2, SUF_Z, 0xDB, 0xE8, 0, 0, CPU_686, CPU_FPU, 0},
{"ht", NULL, X86_SEGREG>>8, 0x3E, 0, 0, 0, 0, 0, 0, 0},
{"vroundps", avx_sse4imm_insn, 3, SUF_Z, 0x08, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0},
{"ud1", twobyte_insn, 1, SUF_Z, 0x0F, 0xB9, 0, 0, CPU_286, CPU_Undoc, 0},
{"insl", onebyte_insn, 1, SUF_Z, 0x6D, 0x20, 0, 0, CPU_386, 0, 0},
{"vcmpngt_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rex64y", NULL, X86_REX>>8, 0x4A, 0, 0, 0, ONLY_64, 0, 0, 0},
{"fldln2", twobyte_insn, 1, SUF_Z, 0xD9, 0xED, 0, 0, CPU_FPU, 0, 0},
{"ldsl", ldes_insn, 2, SUF_L, 0xC5, 0, 0, NOT_64, CPU_386, 0, 0},
{"tzmskl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0},
{"vcmppd", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sidtw", twobytemem_insn, 1, SUF_W, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vpextrwl", pextrw_insn, 7, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fldl2t", twobyte_insn, 1, SUF_Z, 0xD9, 0xE9, 0, 0, CPU_FPU, 0, 0},
{"insb", onebyte_insn, 1, SUF_Z, 0x6C, 0x00, 0, 0, 0, 0, 0},
{"bound", bound_insn, 2, SUF_Z, 0, 0, 0, NOT_64, CPU_186, 0, 0},
{"vmwrite", vmxmemwr_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0},
{"cmpxchgq", cmpxchgxadd_insn, 4, SUF_Q, 0xB0, 0, 0, ONLY_64, CPU_486, 0, 0},
{"fsts", fst_insn, 3, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"orps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x56, 0, 0, CPU_SSE, 0, 0},
{"vandnps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fdivrs", farith_insn, 7, SUF_S, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0},
{"fldcww", fldnstcw_insn, 1, SUF_W, 0x05, 0, 0, 0, CPU_FPU, 0, 0},
{"movl", mov_insn, 69, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"movq2dq", movq2dq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0},
{"cmpunordpd", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0, 0, CPU_SSE, 0, 0},
{"rdseed", rdrand_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_RDSEED, 0, 0},
{"cmovneq", cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0},
{"vpmovzxbq", sse4m16_insn, 4, SUF_Z, 0x32, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmpsb", onebyte_insn, 1, SUF_Z, 0xA6, 0x00, 0, 0, 0, 0, 0},
{"vfmadd213sd", vfma_sd_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"into", onebyte_insn, 1, SUF_Z, 0xCE, 0, 0, NOT_64, 0, 0, 0},
{"cmovzl", cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0},
{"imulb", imul_insn, 19, SUF_B, 0, 0, 0, 0, 0, 0, 0},
{"setc", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"vstmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"fldenv", onebytemem_insn, 1, SUF_Z, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0},
{"pmovsxwd", sse4m64_insn, 4, SUF_Z, 0x23, 0, 0, 0, CPU_SSE41, 0, 0},
{"vcmpnltss", ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movntpd", movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0, 0, CPU_SSE2, 0, 0},
{"pcmpeqw", mmxsse2_insn, 2, SUF_Z, 0x75, 0, 0, 0, CPU_MMX, 0, 0},
{"fcoms", fcom_insn, 6, SUF_S, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0},
{"vpaddb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sldt", sldtmsw_insn, 6, SUF_Z, 0x00, 0x00, 0, 0, CPU_286, 0, 0},
{"fisttpq", fildstp_insn, 4, SUF_Q, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0},
{"vpmacsww", vpma_insn, 1, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0},
{"jne", jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0},
{"shldl", shlrd_insn, 9, SUF_L, 0xA4, 0, 0, 0, CPU_386, 0, 0},
{"cmc", onebyte_insn, 1, SUF_Z, 0xF5, 0, 0, 0, 0, 0, 0},
{"cmovs", cmovcc_insn, 3, SUF_Z, 0x08, 0, 0, 0, CPU_686, 0, 0},
{"movlpd", movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0, 0, CPU_SSE2, 0, 0},
{"calll", call_insn, 30, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"subb", arith_insn, 22, SUF_B, 0x28, 0x05, 0, 0, 0, 0, 0},
{"lmsww", prot286_insn, 1, SUF_W, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0},
{"vmrun", svm_rax_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_SVM, 0, 0},
{"cmovna", cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0},
{"cmovnpw", cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0},
{"bextrq", bextr_insn, 4, SUF_Q, 0, 0, 0, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0},
{"vpmacssww", vpma_insn, 1, SUF_Z, 0x85, 0, 0, 0, CPU_XOP, 0, 0},
{"vdivss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movabsl", movabs_insn, 9, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0},
{"callw", call_insn, 30, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"vpcomlew", vpcom_insn, 1, SUF_Z, 0xCD, 0x01, 0, 0, CPU_XOP, 0, 0},
{"fninit", twobyte_insn, 1, SUF_Z, 0xDB, 0xE3, 0, 0, CPU_FPU, 0, 0},
{"vpavgw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpltpd", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cpuid", twobyte_insn, 1, SUF_Z, 0x0F, 0xA2, 0, 0, CPU_486, 0, 0},
{"pmovzxwq", sse4m32_insn, 4, SUF_Z, 0x34, 0, 0, 0, CPU_SSE41, 0, 0},
{"cmovnaew", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"comiss", xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2F, 0, 0, CPU_SSE, 0, 0},
{"cmovnoq", cmovcc_insn, 3, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_686, 0, 0},
{"negb", f6_insn, 4, SUF_B, 0x03, 0, 0, 0, 0, 0, 0},
{"vfnmadd231sd", vfma_sd_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"xchgw", xchg_insn, 16, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"rexz", NULL, X86_REX>>8, 0x41, 0, 0, 0, ONLY_64, 0, 0, 0},
{"sbb", arith_insn, 22, SUF_Z, 0x18, 0x03, 0, 0, 0, 0, 0},
{"lslw", larlsl_insn, 6, SUF_W, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"cmovnzw", cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0},
{"vfrczpd", vfrc_pdps_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0},
{"bsrw", bsfr_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_386, 0, 0},
{"fcomps", fcom_insn, 6, SUF_S, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0},
{"rorx", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Z, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0},
{"shufpd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC6, 0, 0, CPU_SSE2, 0, 0},
{"vpcomleq", vpcom_insn, 1, SUF_Z, 0xCF, 0x01, 0, 0, CPU_XOP, 0, 0},
{"vcmpunordsd", ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"minps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5D, 0, 0, CPU_SSE, 0, 0},
{"vaesimc", aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movhps", movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0, 0, CPU_SSE, 0, 0},
{"vdivps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"filds", fildstp_insn, 4, SUF_S, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0},
{"adc", arith_insn, 22, SUF_Z, 0x10, 0x02, 0, 0, 0, 0, 0},
{"vtestpd", sse4_insn, 2, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"pfpnacc", now3d_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0},
{"vmovsldup", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpbroadcastb", vpbroadcastb_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"sahf", onebyte_insn, 1, SUF_Z, 0x9E, 0, 0, 0, 0, 0, 0},
{"vmovhps", movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fpatan", twobyte_insn, 1, SUF_Z, 0xD9, 0xF3, 0, 0, CPU_FPU, 0, 0},
{"psubw", mmxsse2_insn, 2, SUF_Z, 0xF9, 0, 0, 0, CPU_MMX, 0, 0},
{"sqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0, 0, CPU_SSE, 0, 0},
{"vpminuw", ssse3_insn, 5, SUF_Z, 0x3A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"rex64z", NULL, X86_REX>>8, 0x49, 0, 0, 0, ONLY_64, 0, 0, 0},
{"cmovng", cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0},
{"cmovngq", cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0},
{"blcil", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0},
{"setob", setcc_insn, 1, SUF_B, 0x00, 0, 0, 0, CPU_386, 0, 0},
{"xbts", xbts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc},
{"loopne", loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0},
{"fxch", fxch_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"vfmsubadd132pd", vfma_pd_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vmovddup", vmovddup_insn, 3, SUF_Z, 0xF2, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"enterq", enter_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, CPU_186, 0, 0},
{"vpcomnequw", vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0},
{"vpunpckhdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fnstenvs", onebytemem_insn, 1, SUF_S, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0},
{"phaddd", ssse3_insn, 5, SUF_Z, 0x02, 0, 0, 0, CPU_SSSE3, 0, 0},
{"vmovups", movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomneuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0},
{"imul", imul_insn, 19, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"fimuls", fiarith_insn, 2, SUF_S, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"jg", jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0},
{"fcoml", fcom_insn, 6, SUF_L, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0},
{"vxorpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmaddsubps", fma_128_256_insn, 4, SUF_Z, 0x5C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"vpaddw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vbroadcasti128", vbroadcastif128_insn, 1, SUF_Z, 0x5A, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vcvttpd2dqy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"mov", mov_insn, 69, SUF_Z, 0, 0, 0, 0, 0, 0, 0},
{"fmull", farith_insn, 7, SUF_L, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0},
{"vpcomfalseub", vpcom_insn, 1, SUF_Z, 0xEC, 0x06, 0, 0, CPU_XOP, 0, 0},
{"xaddq", cmpxchgxadd_insn, 4, SUF_Q, 0xC0, 0, 0, ONLY_64, CPU_486, 0, 0},
{"inl", in_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"t1mskcl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0},
{"nop", onebyte_insn, 1, SUF_Z, 0x90, 0, 0, 0, 0, 0, 0},
{"rexx", NULL, X86_REX>>8, 0x44, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vperm2f128", vperm2f128_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"tzcnt", cnt_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0},
{"hlt", onebyte_insn, 1, SUF_Z, 0xF4, 0, 0, 0, CPU_Priv, 0, 0},
{"vcmpeq_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x08, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sgdt", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"cwtl", onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0},
{"xorl", arith_insn, 22, SUF_L, 0x30, 0x06, 0, 0, CPU_386, 0, 0},
{"movapd", movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, 0, CPU_SSE2, 0, 0},
{"vpmovsxwq", sse4m32_insn, 4, SUF_Z, 0x24, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfmsubadd231pd", vfma_pd_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cvttsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0},
{"cmpunordss", ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0, 0, CPU_SSE, 0, 0},
{"vpcomneq", vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0},
{"ffreep", ffree_insn, 1, SUF_Z, 0xDF, 0, 0, 0, CPU_686, CPU_FPU, CPU_Undoc},
{"vfnmsub213ss", vfma_ss_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"outsb", onebyte_insn, 1, SUF_Z, 0x6E, 0x00, 0, 0, 0, 0, 0},
{"psubsiw", cyrixmmx_insn, 1, SUF_Z, 0x55, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"jng", jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0},
{"vpcomltd", vpcom_insn, 1, SUF_Z, 0xCE, 0x00, 0, 0, CPU_XOP, 0, 0},
{"t1mskcq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x07, 0, ONLY_64, CPU_TBM, 0, 0},
{"rdmsr", twobyte_insn, 1, SUF_Z, 0x0F, 0x32, 0, 0, CPU_586, CPU_Priv, 0},
{"notb", f6_insn, 4, SUF_B, 0x02, 0, 0, 0, 0, 0, 0},
{"idiv", div_insn, 8, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0},
{"vpshuflw", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF2, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"paddd", mmxsse2_insn, 2, SUF_Z, 0xFE, 0, 0, 0, CPU_MMX, 0, 0},
{"tzcntw", cnt_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0},
{"pcmpgtd", mmxsse2_insn, 2, SUF_Z, 0x66, 0, 0, 0, CPU_MMX, 0, 0},
{"stosq", onebyte_insn, 1, SUF_Z, 0xAB, 0x40, 0, ONLY_64, 0, 0, 0},
{"arplw", arpl_insn, 1, SUF_W, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0},
{"vpermilps", vpermil_insn, 4, SUF_Z, 0x04, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vfnmadd231ps", vfma_ps_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"xadd", cmpxchgxadd_insn, 4, SUF_Z, 0xC0, 0, 0, 0, CPU_486, 0, 0},
{"shrdl", shlrd_insn, 9, SUF_L, 0xAC, 0, 0, 0, CPU_386, 0, 0},
{"fscale", twobyte_insn, 1, SUF_Z, 0xD9, 0xFD, 0, 0, CPU_FPU, 0, 0},
{"rdpmc", twobyte_insn, 1, SUF_Z, 0x0F, 0x33, 0, 0, CPU_686, 0, 0},
{"cvtpi2ps", cvt_xmm_mm_ps_insn, 1, SUF_Z, 0x2A, 0, 0, 0, CPU_SSE, 0, 0},
{"cmovgq", cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0},
{"vfnmsubps", fma_128_256_insn, 4, SUF_Z, 0x7C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"seto", setcc_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_386, 0, 0},
{"jnae", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0},
{"popcntw", cnt_insn, 3, SUF_W, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0},
{"vpgatherqd", gather_32x_32y_128_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"salc", onebyte_insn, 1, SUF_Z, 0xD6, 0, 0, NOT_64, CPU_Undoc, 0, 0},
{"vcmpngesd", ssecmp_64_insn, 4, SUF_Z, 0x09, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomgeud", vpcom_insn, 1, SUF_Z, 0xEE, 0x03, 0, 0, CPU_XOP, 0, 0},
{"blcicq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x05, 0, ONLY_64, CPU_TBM, 0, 0},
{"pcmpestri", sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0, 0, 0, CPU_SSE42, 0, 0},
{"sarxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"lddqu", lddqu_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE3, 0, 0},
{"vpcomtruew", vpcom_insn, 1, SUF_Z, 0xCD, 0x07, 0, 0, CPU_XOP, 0, 0},
{"fxam", twobyte_insn, 1, SUF_Z, 0xD9, 0xE5, 0, 0, CPU_FPU, 0, 0},
{"crc32b", crc32_insn, 5, SUF_B, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0},
{"vpinsrw", pinsrw_insn, 9, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vphsubdq", vphaddsub_insn, 1, SUF_Z, 0xE3, 0, 0, 0, CPU_XOP, 0, 0},
{"vfmsubaddps", fma_128_256_insn, 4, SUF_Z, 0x5E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"btw", bittest_insn, 6, SUF_W, 0xA3, 0x04, 0, 0, CPU_386, 0, 0},
{"pi2fw", now3d_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0},
{"movhlps", movhllhps_insn, 2, SUF_Z, 0x12, 0, 0, 0, CPU_SSE, 0, 0},
{"divsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0, 0, CPU_SSE2, 0, 0},
{"vcmpge_oqps", ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rexxyz", NULL, X86_REX>>8, 0x47, 0, 0, 0, ONLY_64, 0, 0, 0},
{"pf2id", now3d_insn, 1, SUF_Z, 0x1D, 0, 0, 0, CPU_3DNow, 0, 0},
{"andnps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x55, 0, 0, CPU_SSE, 0, 0},
{"cmovzq", cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0},
{"cwd", onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0},
{"blcsl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0},
{"maxps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5F, 0, 0, CPU_SSE, 0, 0},
{"comisd", xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2F, 0, 0, CPU_SSE2, 0, 0},
{"vcmpnle_uqps", ssecmp_128_insn, 3, SUF_Z, 0x16, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnzq", cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0},
{"ljmpw", ljmpcall_insn, 7, SUF_W, 0x05, 0xEA, 0, 0, 0, 0, 0},
{"cmpeqps", ssecmp_128_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_SSE, 0, 0},
{"orb", arith_insn, 22, SUF_B, 0x08, 0x01, 0, 0, 0, 0, 0},
{"fists", fiarith_insn, 2, SUF_S, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0},
{"vmaskmovps", vmaskmov_insn, 4, SUF_Z, 0x2C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"xend", tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD5, 0, 0, 0, CPU_TSX, 0, 0},
{"fiadd", fiarith_insn, 2, SUF_Z, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"jns", jcc_insn, 9, SUF_Z, 0x09, 0, 0, 0, 0, 0, 0},
{"vpcomfalseuw", vpcom_insn, 1, SUF_Z, 0xED, 0x06, 0, 0, CPU_XOP, 0, 0},
{"bsrl", bsfr_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_386, 0, 0},
{"pabsb", ssse3_insn, 5, SUF_Z, 0x1C, 0, 0, 0, CPU_SSSE3, 0, 0},
{"vcmptruess", ssecmp_32_insn, 4, SUF_Z, 0x0F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"sal", shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0},
{"movzbl", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0},
{"packssdw", mmxsse2_insn, 2, SUF_Z, 0x6B, 0, 0, 0, CPU_MMX, 0, 0},
{"fcmovbe", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD0, 0, 0, CPU_686, CPU_FPU, 0},
{"orq", arith_insn, 22, SUF_Q, 0x08, 0x01, 0, ONLY_64, 0, 0, 0},
{"blsicq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x06, 0, ONLY_64, CPU_TBM, 0, 0},
{"fiaddl", fiarith_insn, 2, SUF_L, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"fprem", twobyte_insn, 1, SUF_Z, 0xD9, 0xF8, 0, 0, CPU_FPU, 0, 0},
{"vpcomltw", vpcom_insn, 1, SUF_Z, 0xCD, 0x00, 0, 0, CPU_XOP, 0, 0},
{"sarl", shift_insn, 16, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0},
{"shr", shift_insn, 16, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0},
{"pushl", push_insn, 35, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"imull", imul_insn, 19, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"ftst", twobyte_insn, 1, SUF_Z, 0xD9, 0xE4, 0, 0, CPU_FPU, 0, 0},
{"vcmpeqps", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"lcalll", ljmpcall_insn, 7, SUF_L, 0x03, 0x9A, 0, 0, CPU_386, 0, 0},
{"lock", NULL, X86_LOCKREP>>8, 0xF0, 0, 0, 0, 0, 0, 0, 0},
{"cmovnbw", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"movzxw", movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0},
{"or", arith_insn, 22, SUF_Z, 0x08, 0x01, 0, 0, 0, 0, 0},
{"vcmpnle_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x16, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setl", setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0},
{"movntiq", movnti_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0},
{"lfs", lfgss_insn, 3, SUF_Z, 0xB4, 0, 0, 0, CPU_386, 0, 0},
{"vroundss", sse4m32imm_insn, 4, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"setzb", setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0},
{"pcmpistrm", sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0, 0, 0, CPU_SSE42, 0, 0},
{"je", jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0},
{"psraw", pshift_insn, 4, SUF_Z, 0xE1, 0x71, 0x04, 0, CPU_MMX, 0, 0},
{"shlx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0},
{"mfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF0, 0, CPU_P3, 0, 0},
{"vcvtsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vtestps", sse4_insn, 2, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"verww", prot286_insn, 1, SUF_W, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0},
{"vfmsubaddpd", fma_128_256_insn, 4, SUF_Z, 0x5F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"fyl2xp1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF9, 0, 0, CPU_FPU, 0, 0},
{"vunpckhpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"divss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0, 0, CPU_SSE, 0, 0},
{"blcfilll", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0},
{"vcmptrue_uspd", ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vorpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setgeb", setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0},
{"vmxon", vmxthreebytemem_insn, 1, SUF_Z, 0xF3, 0, 0, 0, CPU_P4, 0, 0},
{"vpmaskmovd", vmaskmov_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vfnmaddpd", fma_128_256_insn, 4, SUF_Z, 0x79, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0},
{"cmovpl", cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0},
{"pabsw", ssse3_insn, 5, SUF_Z, 0x1D, 0, 0, 0, CPU_SSSE3, 0, 0},
{"cmovnge", cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0},
{"aword", NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0},
{"sscaq", onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0},
{"fstenvs", twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0},
{"vpmovzxbw", sse4m64_insn, 4, SUF_Z, 0x30, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpsllw", vpshift_insn, 8, SUF_Z, 0xF1, 0x71, 0x06, ONLY_AVX, CPU_AVX, 0, 0},
{"vpabsw", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"popf", onebyte_insn, 1, SUF_Z, 0x9D, 0x00, 0x40, 0, 0, 0, 0},
{"vcmpunord_sss", ssecmp_32_insn, 4, SUF_Z, 0x13, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"bsf", bsfr_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_386, 0, 0},
{"cmovaw", cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0},
{"psrlq", pshift_insn, 4, SUF_Z, 0xD3, 0x73, 0x02, 0, CPU_MMX, 0, 0},
{"divw", div_insn, 8, SUF_W, 0x06, 0, 0, 0, 0, 0, 0},
{"cmovnal", cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0},
{"vpcmpeqq", ssse3_insn, 5, SUF_Z, 0x29, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnaq", cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0},
{"cmove", cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0},
{"popaw", onebyte_insn, 1, SUF_Z, 0x61, 0x10, 0, NOT_64, CPU_186, 0, 0},
{"invvpidq", eptvpid_insn, 2, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0},
{"vcvtdq2ps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vrcpps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"packsswb", mmxsse2_insn, 2, SUF_Z, 0x63, 0, 0, 0, CPU_MMX, 0, 0},
{"sarw", shift_insn, 16, SUF_W, 0x07, 0, 0, 0, 0, 0, 0},
{"pfrcpit1", now3d_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_3DNow, 0, 0},
{"btcl", bittest_insn, 6, SUF_L, 0xBB, 0x07, 0, 0, CPU_386, 0, 0},
{"rolb", shift_insn, 16, SUF_B, 0x00, 0, 0, 0, 0, 0, 0},
{"vphadddq", vphaddsub_insn, 1, SUF_Z, 0xCB, 0, 0, 0, CPU_XOP, 0, 0},
{"vpmaxsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpminsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jnz", jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0},
{"vphsubd", ssse3_insn, 5, SUF_Z, 0x06, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vblendvps", avx_sse4xmm0_insn, 2, SUF_Z, 0x4A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vhaddps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"lidtl", twobytemem_insn, 1, SUF_L, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"divq", div_insn, 8, SUF_Q, 0x06, 0, 0, ONLY_64, 0, 0, 0},
{"outb", out_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0},
{"setnsb", setcc_insn, 1, SUF_B, 0x09, 0, 0, 0, CPU_386, 0, 0},
{"vcmpfalse_ospd", ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jnb", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0},
{"vpmovsxdq", sse4m64_insn, 4, SUF_Z, 0x25, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"adcw", arith_insn, 22, SUF_W, 0x10, 0x02, 0, 0, 0, 0, 0},
{"cmovbel", cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0},
{"cmovaeq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0},
{"fcmovnu", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD8, 0, 0, CPU_686, CPU_FPU, 0},
{"idivb", div_insn, 8, SUF_B, 0x07, 0, 0, 0, 0, 0, 0},
{"sgdtl", twobytemem_insn, 1, SUF_L, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"jmpl", jmp_insn, 31, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"fisttp", fildstp_insn, 4, SUF_Z, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0},
{"vcmpord_sps", ssecmp_128_insn, 3, SUF_Z, 0x17, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"haddps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7C, 0, 0, CPU_SSE3, 0, 0},
{"rolw", shift_insn, 16, SUF_W, 0x00, 0, 0, 0, 0, 0, 0},
{"vcvtpd2dqy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"bt", bittest_insn, 6, SUF_Z, 0xA3, 0x04, 0, 0, CPU_386, 0, 0},
{"vcmpfalsepd", ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpleps", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vphaddubd", vphaddsub_insn, 1, SUF_Z, 0xD2, 0, 0, 0, CPU_XOP, 0, 0},
{"vfnmsub132ss", vfma_ss_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmovnow", cmovcc_insn, 3, SUF_W, 0x01, 0, 0, 0, CPU_686, 0, 0},
{"cvtps2dq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, 0, CPU_SSE2, 0, 0},
{"bsrq", bsfr_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_386, 0, 0},
{"vcmpord_spd", ssecmp_128_insn, 3, SUF_Z, 0x17, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpcomd", vpcom_imm_insn, 1, SUF_Z, 0xCE, 0, 0, 0, CPU_XOP, 0, 0},
{"jnle", jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0},
{"vhsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"jcxz", jcxz_insn, 2, SUF_Z, 0x10, 0, 0, 0, 0, 0, 0},
{"fsavel", twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0},
{"cmovnbq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0},
{"lidtw", twobytemem_insn, 1, SUF_W, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0},
{"vcvtss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"mulw", f6_insn, 4, SUF_W, 0x04, 0, 0, 0, 0, 0, 0},
{"vbroadcastsd", vbroadcastsd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovlel", cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0},
{"pmovmskbq", pmovmskb_insn, 6, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0},
{"frstorl", onebytemem_insn, 1, SUF_L, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0},
{"cvttss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0},
{"cmpnltpd", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0, 0, CPU_SSE, 0, 0},
{"vpcomgtw", vpcom_insn, 1, SUF_Z, 0xCD, 0x02, 0, 0, CPU_XOP, 0, 0},
{"xaddl", cmpxchgxadd_insn, 4, SUF_L, 0xC0, 0, 0, 0, CPU_486, 0, 0},
{"vpmulhw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"lgsq", lfgss_insn, 3, SUF_Q, 0xB5, 0, 0, ONLY_64, CPU_386, 0, 0},
{"boundl", bound_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0},
{"vmaxpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"movntdqa", movntdqa_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0},
{"xstorerng", padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0},
{"fxsaveq", twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0},
{"cmplepd", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0, 0, CPU_SSE, 0, 0},
{"vpunpckhwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x69, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fiadds", fiarith_insn, 2, SUF_S, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"bsfq", bsfr_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_386, 0, 0},
{"cvtss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0},
{"pushw", push_insn, 35, SUF_W, 0, 0, 0, 0, 0, 0, 0},
{"vphaddsw", ssse3_insn, 5, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"prefetcht2", twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x18, 0, CPU_P3, 0, 0},
{"setnae", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0},
{"xor", arith_insn, 22, SUF_Z, 0x30, 0x06, 0, 0, 0, 0, 0},
{"pshufw", pshufw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0},
{"div", div_insn, 8, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0},
{"xabort", tsx_xabort_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_TSX, 0, 0},
{"vmovntdq", movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"das", onebyte_insn, 1, SUF_Z, 0x2F, 0, 0, NOT_64, 0, 0, 0},
{"notw", f6_insn, 4, SUF_W, 0x02, 0, 0, 0, 0, 0, 0},
{"monitor", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC8, 0, CPU_SSE3, 0, 0},
{"pmuludq", mmxsse2_insn, 2, SUF_Z, 0xF4, 0, 0, 0, CPU_SSE2, 0, 0},
{"psignd", ssse3_insn, 5, SUF_Z, 0x0A, 0, 0, 0, CPU_SSSE3, 0, 0},
{"vpmaxuw", ssse3_insn, 5, SUF_Z, 0x3E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"rexxy", NULL, X86_REX>>8, 0x46, 0, 0, 0, ONLY_64, 0, 0, 0},
{"vcmpnlt_uqps", ssecmp_128_insn, 3, SUF_Z, 0x15, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"decq", incdec_insn, 6, SUF_Q, 0x48, 0x01, 0, ONLY_64, 0, 0, 0},
{"fsub", farith_insn, 7, SUF_Z, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0},
{"ficoms", fiarith_insn, 2, SUF_S, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"btrw", bittest_insn, 6, SUF_W, 0xB3, 0x06, 0, 0, CPU_386, 0, 0},
{"vfnmsub213sd", vfma_sd_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"setnob", setcc_insn, 1, SUF_B, 0x01, 0, 0, 0, CPU_386, 0, 0},
{"vpcomgeub", vpcom_insn, 1, SUF_Z, 0xEC, 0x03, 0, 0, CPU_XOP, 0, 0},
{"cmovz", cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0},
{"vpackuswb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x67, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cli", onebyte_insn, 1, SUF_Z, 0xFA, 0, 0, 0, 0, 0, 0},
{"pinsrd", pinsrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0},
{"vfmsubadd213pd", vfma_pd_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"setnab", setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0},
{"larw", larlsl_insn, 6, SUF_W, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"pusha", onebyte_insn, 1, SUF_Z, 0x60, 0x00, 0, NOT_64, CPU_186, 0, 0},
{"pfadd", now3d_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_3DNow, 0, 0},
{"bzhil", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0},
{"cmovpoq", cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0},
{"blsfill", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0},
{"cdq", onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0},
{"cvtss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0, ONLY_64, CPU_SSE, 0, 0},
{"cmovnb", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0},
{"vcvttsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"setae", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"movntps", movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0, 0, CPU_SSE, 0, 0},
{"vcmpneq_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"lssq", lfgss_insn, 3, SUF_Q, 0xB2, 0, 0, ONLY_64, CPU_386, 0, 0},
{"jpe", jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0},
{"fstcww", fstcw_insn, 1, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0},
{"fnsave", onebytemem_insn, 1, SUF_Z, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0},
{"movntsd", movntsd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0},
{"pblendvb", sse4xmm0_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_SSE41, 0, 0},
{"enterw", enter_insn, 3, SUF_W, 0, 0, 0, 0, CPU_186, 0, 0},
{"larl", larlsl_insn, 6, SUF_L, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0},
{"blendvps", sse4xmm0_insn, 2, SUF_Z, 0x14, 0, 0, 0, CPU_SSE41, 0, 0},
{"pdepl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0},
{"jecxz", jcxz_insn, 2, SUF_Z, 0x20, 0, 0, 0, CPU_386, 0, 0},
{"blcmsk", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0},
{"vpshad", amd_vpshift_insn, 2, SUF_Z, 0x9A, 0, 0, 0, CPU_XOP, 0, 0},
{"smsw", sldtmsw_insn, 6, SUF_Z, 0x04, 0x01, 0, 0, CPU_286, 0, 0},
{"vcvttps2dq", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcvttss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovcw", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"vpsubsb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pfsubr", now3d_insn, 1, SUF_Z, 0xAA, 0, 0, 0, CPU_3DNow, 0, 0},
{"dpps", sse4imm_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0},
{"pmulhrwc", cyrixmmx_insn, 1, SUF_Z, 0x59, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0},
{"fdecstp", twobyte_insn, 1, SUF_Z, 0xD9, 0xF6, 0, 0, CPU_FPU, 0, 0},
{"fld1", twobyte_insn, 1, SUF_Z, 0xD9, 0xE8, 0, 0, CPU_FPU, 0, 0},
{"lslq", larlsl_insn, 6, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0},
{"movsldup", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, 0, CPU_SSE3, 0, 0},
{"vfnmadd213ps", vfma_ps_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vorps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fxtract", twobyte_insn, 1, SUF_Z, 0xD9, 0xF4, 0, 0, CPU_FPU, 0, 0},
{"xrstor", twobytemem_insn, 1, SUF_Z, 0x05, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0},
{"vfnmadd132pd", vfma_pd_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"cmovsw", cmovcc_insn, 3, SUF_W, 0x08, 0, 0, 0, CPU_686, 0, 0},
{"vpcomnew", vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0},
{"cmovc", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"cmpxchg8bq", cmpxchg8b_insn, 1, SUF_Q, 0, 0, 0, 0, CPU_586, 0, 0},
{"roundss", sse4m32imm_insn, 4, SUF_Z, 0x0A, 0, 0, 0, CPU_SSE41, 0, 0},
{"vsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"rcrb", shift_insn, 16, SUF_B, 0x03, 0, 0, 0, 0, 0, 0},
{"vmptrld", vmxtwobytemem_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_P4, 0, 0},
{"popal", onebyte_insn, 1, SUF_Z, 0x61, 0x20, 0, NOT_64, CPU_386, 0, 0},
{"sysretq", twobyte_insn, 1, SUF_Q, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv},
{"setle", setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0},
{"jnl", jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0},
{"ucomisd", xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2E, 0, 0, CPU_SSE2, 0, 0},
{"sbbw", arith_insn, 22, SUF_W, 0x18, 0x03, 0, 0, 0, 0, 0},
{"fbstp", fbldstp_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_FPU, 0, 0},
{"vpcomtrueub", vpcom_insn, 1, SUF_Z, 0xEC, 0x07, 0, 0, CPU_XOP, 0, 0},
{"paddb", mmxsse2_insn, 2, SUF_Z, 0xFC, 0, 0, 0, CPU_MMX, 0, 0},
{"cmovnll", cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0},
{"cvtss2sd", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0, 0, CPU_SSE2, 0, 0},
{"vpcmpeqd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x76, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovnl", cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0},
{"vpcomltb", vpcom_insn, 1, SUF_Z, 0xCC, 0x00, 0, 0, CPU_XOP, 0, 0},
{"setngb", setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0},
{"vphaddudq", vphaddsub_insn, 1, SUF_Z, 0xDB, 0, 0, 0, CPU_XOP, 0, 0},
{"vpmovsxbd", sse4m32_insn, 4, SUF_Z, 0x21, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"loopzq", loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0},
{"cmovnle", cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0},
{"vcmpgepd", ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"btcq", bittest_insn, 6, SUF_Q, 0xBB, 0x07, 0, ONLY_64, CPU_386, 0, 0},
{"rcrl", shift_insn, 16, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0},
{"vmovntdqa", movntdqa_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"cmovcl", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0},
{"vcmpeq_ospd", ssecmp_128_insn, 3, SUF_Z, 0x10, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"f2xm1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF0, 0, 0, CPU_FPU, 0, 0},
{"vpmacssdd", vpma_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_XOP, 0, 0},
{"leal", lea_insn, 3, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0},
{"vpcomeqd", vpcom_insn, 1, SUF_Z, 0xCE, 0x04, 0, 0, CPU_XOP, 0, 0},
{"ljmpq", ljmpcall_insn, 7, SUF_Q, 0x05, 0xEA, 0, ONLY_64, 0, 0, 0},
{"vpbroadcastd", vpbroadcastd_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"jnp", jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0},
{"vpcomgeuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x03, 0, 0, CPU_XOP, 0, 0},
{"prefetchnta", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x18, 0, CPU_P3, 0, 0},
{"bswapl", bswap_insn, 2, SUF_L, 0, 0, 0, 0, CPU_486, 0, 0},
{"pmovsxbd", sse4m32_insn, 4, SUF_Z, 0x21, 0, 0, 0, CPU_SSE41, 0, 0},
{"lzcnt", cnt_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0},
{"sha256msg1", intel_SHA256MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0},
{"cmovnaw", cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0},
{"ficom", fiarith_insn, 2, SUF_Z, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vmovntpd", movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vcmpngess", ssecmp_32_insn, 4, SUF_Z, 0x09, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"fisubr", fiarith_insn, 2, SUF_Z, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vfmaddsub132ps", vfma_ps_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"vaddsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"vpbroadcastq", vpbroadcastq_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"cmovlq", cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0},
{"inveptq", eptvpid_insn, 2, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0},
{"vmulps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"pclmulqdq", pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0, 0, CPU_AVX, 0, 0},
{"vfmsub213ps", vfma_ps_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0},
{"phsubd", ssse3_insn, 5, SUF_Z, 0x06, 0, 0, 0, CPU_SSSE3, 0, 0},
{"fmulp", farithp_insn, 3, SUF_Z, 0xC8, 0, 0, 0, CPU_FPU, 0, 0},
{"lcallw", ljmpcall_insn, 7, SUF_W, 0x03, 0x9A, 0, 0, 0, 0, 0},
{"fisub", fiarith_insn, 2, SUF_Z, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0},
{"vpackusdw", ssse3_insn, 5, SUF_Z, 0x2B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0},
{"smintold", twobyte_insn, 1, SUF_Z, 0x0F, 0x7E, 0, 0, CPU_486, CPU_Cyrix, CPU_Obs},
{"vpgatherqq", gather_64x_64y_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"vcmpneq_uspd", ssecmp_128_insn, 3, SUF_Z, 0x14, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0},
{"blsiq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x03, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0},
{"ltr", prot286_insn, 1, SUF_Z, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot},
{"fild", fildstp_insn, 4, SUF_Z, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0},
{"fldenvs", onebytemem_insn, 1, SUF_S, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0},
{"vmovdqa", movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0},
{"shrxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0},
{"fcmove", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC8, 0, 0, CPU_686, CPU_FPU, 0},
{"shrl", shift_insn, 16, SUF_L, 0x05, 0, 0, 0, CPU_386, 0, 0},
{"rclq", shift_insn, 16, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0},
{"fnsavel", onebytemem_insn, 1, SUF_L, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0},
{"vgatherdpd", gather_64x_64x_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0},
{"pushaw", onebyte_insn, 1, SUF_Z, 0x60, 0x10, 0, NOT_64, CPU_186, 0, 0}
};
static const unsigned short tab[] = {
555,1559,555,108,108,1495,0,108,0,0,2332,555,1208,0,108,1317,
1317,1732,0,0,1495,555,463,517,1636,1317,988,0,1317,0,555,555,
1929,108,1325,0,274,555,1633,1633,555,555,1325,555,2040,274,1325,1383,
555,1383,0,555,1317,988,1732,555,274,1636,1633,1602,1325,1383,0,0,
1325,1929,2332,1514,1383,108,0,0,1383,0,0,988,1317,274,1325,1633,
1325,517,1383,0,0,1633,108,274,1325,555,108,0,939,0,1636,274,
0,1995,274,1929,1383,0,0,1317,1929,555,0,0,0,555,0,0,
0,0,0,1514,1383,1633,1325,0,1633,0,1325,274,0,274,1317,0,
1602,1317,0,2260,555,1633,1633,0,555,1325,0,1732,1325,988,1325,0,
1383,1495,1636,555,901,274,1495,555,1208,1912,1602,1325,1633,0,1325,2403,
108,1383,1317,108,0,0,517,0,673,0,0,0,1495,1325,1208,0,
555,1317,1317,2332,1325,0,1514,555,555,555,1732,1602,0,0,274,0,
517,939,0,2242,1633,0,1633,555,0,1732,555,517,2040,1633,1633,0,
1602,0,1317,274,1383,0,1633,517,0,673,1995,1732,1912,1636,1602,1732,
673,0,1732,108,1325,555,555,1633,1317,0,1732,555,555,555,939,0,
517,1602,0,0,1929,555,901,0,108,108,1325,517,108,1325,1317,0,
1325,0,1208,0,0,0,108,274,555,0,1383,1325,555,1325,1633,0,
1383,1602,1383,0,0,517,274,0,591,0,1455,555,555,1317,1325,555,
555,1317,0,108,555,0,0,108,1633,555,1602,0,1732,555,0,108,
0,1636,1633,1633,517,555,555,0,274,1317,0,1912,1325,1208,1325,555,
1383,1633,108,1317,0,1325,1495,1929,1633,673,1633,463,1317,0,0,517,
0,1317,1929,0,455,1633,0,0,1602,1929,0,1929,2332,1317,555,238,
0,274,517,1325,1317,0,274,0,555,1317,555,555,0,1192,1325,463,
555,939,1633,0,0,0,1929,1325,1359,555,1317,1317,274,1732,555,0,
555,1929,0,1325,448,0,1636,555,988,1208,108,274,555,1325,1317,555,
1929,1929,1317,1325,108,902,555,0,555,988,1325,901,1325,1317,1732,1101,
1208,1633,1732,108,1317,1317,108,555,1929,555,1995,1317,1929,1383,517,0,
0,1633,1602,1912,1929,274,2464,0,555,1929,1317,0,0,555,1317,2180,
1327,0,517,555,1633,1732,1636,1602,517,1208,555,555,1383,1317,1633,0,
988,1192,0,0,1495,673,673,0,555,1495,1325,517,1732,1633,555,1325,
108,1929,1732,1325,988,555,1325,1208,1929,274,0,673,555,1732,1633,134,
108,1929,673,1208,555,1208,0,0,2464,0,1633,1929,0,913,673,0,
108,1317,1383,1633,0,555,0,0,1995,1317,0,2040,1317,1633,2332,108,
1633,1495,555,0,0,2040,926,673,1929,1325,1732,1929,1342,1633,1636,517,
0,0,517,182,1359,108,274,2040,108,108,0,0,555,988,517,1633,
1633,1325,1929,673,1633,1912,1288,555,1732,1325,0,1325,517,1325,1325,555,
0,0,2055,108,0,1732,517,274,901,1359,1929,1417,1636,926,555,0,
2040,0,1633,591,1929,1325,274,926,1325,517,0,765,108,0,2040,1383,
1514,901,1809,666,1732,1732,555,1732,555,0,0,1912,555,555,555,1929,
1317,0,517,673,555,274,673,2398,1208,555,1853,1633,1325,555,0,555,
0,1383,1325,1317,1929,108,2037,1383,108,1728,673,555,1835,591,1732,1995,
0,0,939,555,666,1325,1011,555,0,1929,108,1602,2332,0,1325,1633,
1732,1602,555,429,2040,1633,0,555,2040,1633,0,0,1325,1929,0,1912,
2040,1011,0,1732,517,1732,0,0,1633,1325,555,108,517,469,1636,108,
1011,0,0,0,1912,926,1929,988,1636,1633,274,182,1317,108,1325,0,
555,988,0,0,0,1771,1633,939,1732,1995,0,858,0,555,1633,0,
939,0,555,108,555,1633,1995,555,2510,0,516,939,1208,1912,858,1205,
0,785,0,988,1495,274,1011,902,0,0,184,0,1514,108,0,0,
1732,1633,469,1005,455,555,0,0,1455,428,1929,0,926,1633,1317,555,
939,0,1317,939,0,1327,1929,0,1668,1732,555,0,1929,1633,1929,555,
0,0,0,555,1607,1011,1325,1495,400,1011,1924,1383,901,469,1929,1835,
2040,1602,227,1342,1325,1192,0,1728,2040,1343,517,227,1929,1591,1912,429,
988,1559,1929,1325,0,1732,1317,0,902,0,555,0,1912,988,1633,1547,
200,1618,1636,926,0,1636,274,999,274,1809,1929,673,902,555,1624,591,
1636,591,0,517,555,1383,1633,0,1809,1679,0,673,1011,555,0,108,
1929,1495,1111,0,988,0,108,0,1995,2403,238,514,0,1995,1317,0,
1343,517,913,673,988,1614,1912,1325,673,816,1212,1325,1732,1929,1835,1602,
0,1636,108,455,1912,555,0,816,555,274,1633,0,1325,0,1929,1111,
634,1636,555,1636,1559,0,1636,0,1514,2040,657,1034,1771,1853,258,1633,
901,555,1208,1912,1959,816,440,0,1807,1924,1514,316,182,1732,1383,1618,
988,1591,1559,274,274,0,858,0,1383,1929,1602,1633,1514,1005,1617,0,
2060,517,1715,988,1542,1732,820,1633,1011,1383,1851,0,1650,1633,108,1912,
1995,916,1636,1995,1208,0,0,1325,274,1645,108,0,0,0,0,440,
1670,2060,676,1602,1942,1420,1317,939,729,274,0,0,1965,274,975,238,
};
const struct insnprefix_parse_data *ret;
unsigned long rsl, val = phash_lookup(key, len, 0xbc1b868fUL);
rsl = ((val>>23)^tab[val&0x3ff]);
if (rsl >= 2070) return NULL;
ret = &pd[rsl];
if (strcmp(key, ret->name) != 0) return NULL;
return ret;
}
|