diff options
Diffstat (limited to 'capstone/arch/X86/X86GenAsmWriter1_reduce.inc')
-rw-r--r-- | capstone/arch/X86/X86GenAsmWriter1_reduce.inc | 2531 |
1 files changed, 2531 insertions, 0 deletions
diff --git a/capstone/arch/X86/X86GenAsmWriter1_reduce.inc b/capstone/arch/X86/X86GenAsmWriter1_reduce.inc new file mode 100644 index 000000000..801dd289d --- /dev/null +++ b/capstone/arch/X86/X86GenAsmWriter1_reduce.inc @@ -0,0 +1,2531 @@ +/* Capstone Disassembly Engine, http://www.capstone-engine.org */ +/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2019 */ + +/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ +|* *| +|* Assembly Writer Source Fragment *| +|* *| +|* Automatically generated file, do not edit! *| +|* *| +\*===----------------------------------------------------------------------===*/ + +/// printInstruction - This method is automatically generated by tablegen +/// from the instruction set description. +static void printInstruction(MCInst *MI, SStream *O) +{ +#ifndef CAPSTONE_DIET + static const char AsmStrs[] = { + /* 0 */ 'x', 's', 'a', 'v', 'e', 'c', '6', '4', 9, 0, + /* 10 */ 'x', 's', 'a', 'v', 'e', '6', '4', 9, 0, + /* 19 */ 'x', 'r', 's', 't', 'o', 'r', '6', '4', 9, 0, + /* 29 */ 'x', 's', 'a', 'v', 'e', 's', '6', '4', 9, 0, + /* 39 */ 'x', 'r', 's', 't', 'o', 'r', 's', '6', '4', 9, 0, + /* 50 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', '6', '4', 9, 0, + /* 62 */ 'l', 'e', 'a', 9, 0, + /* 67 */ 'j', 'a', 9, 0, + /* 71 */ 's', 'e', 't', 'a', 9, 0, + /* 77 */ 'c', 'm', 'o', 'v', 'a', 9, 0, + /* 84 */ 'm', 'o', 'v', 'd', 'i', 'r', '6', '4', 'b', 9, 0, + /* 95 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '1', '6', 'b', 9, 0, + /* 107 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '8', 'b', 9, 0, + /* 118 */ 's', 'b', 'b', 9, 0, + /* 123 */ 'l', 'l', 'w', 'p', 'c', 'b', 9, 0, + /* 131 */ 's', 'l', 'w', 'p', 'c', 'b', 9, 0, + /* 139 */ 'j', 'b', 9, 0, + /* 143 */ 'i', 'n', 's', 'b', 9, 0, + /* 149 */ 's', 't', 'o', 's', 'b', 9, 0, + /* 156 */ 'c', 'm', 'p', 's', 'b', 9, 0, + /* 163 */ 'm', 'o', 'v', 's', 'b', 9, 0, + /* 170 */ 's', 'e', 't', 'b', 9, 0, + /* 176 */ 's', 'u', 'b', 9, 0, + /* 181 */ 'c', 'm', 'o', 'v', 'b', 9, 0, + /* 188 */ 'c', 'l', 'w', 'b', 9, 0, + /* 194 */ 'a', 'd', 'c', 9, 0, + /* 199 */ 'd', 'e', 'c', 9, 0, + /* 204 */ 'x', 's', 'a', 'v', 'e', 'c', 9, 0, + /* 212 */ 'b', 'l', 'c', 'i', 'c', 9, 0, + /* 219 */ 'b', 'l', 's', 'i', 'c', 9, 0, + /* 226 */ 't', '1', 'm', 's', 'k', 'c', 9, 0, + /* 234 */ 'i', 'n', 'c', 9, 0, + /* 239 */ 'b', 't', 'c', 9, 0, + /* 244 */ 'a', 'a', 'd', 9, 0, + /* 249 */ 'v', 'm', 'r', 'e', 'a', 'd', 9, 0, + /* 257 */ 'x', 'a', 'd', 'd', 9, 0, + /* 263 */ 'r', 'd', 's', 'e', 'e', 'd', 9, 0, + /* 271 */ 'i', 'n', 'v', 'p', 'c', 'i', 'd', 9, 0, + /* 280 */ 'r', 'd', 'p', 'i', 'd', 9, 0, + /* 287 */ 'i', 'n', 'v', 'v', 'p', 'i', 'd', 9, 0, + /* 296 */ 's', 'h', 'l', 'd', 9, 0, + /* 302 */ 'v', 'm', 'p', 't', 'r', 'l', 'd', 9, 0, + /* 311 */ 'r', 'd', 'r', 'a', 'n', 'd', 9, 0, + /* 319 */ 'b', 'o', 'u', 'n', 'd', 9, 0, + /* 326 */ 'i', 'n', 'c', 's', 's', 'p', 'd', 9, 0, + /* 335 */ 'r', 'd', 's', 's', 'p', 'd', 9, 0, + /* 343 */ 's', 'h', 'r', 'd', 9, 0, + /* 349 */ 'i', 'n', 's', 'd', 9, 0, + /* 355 */ 's', 't', 'o', 's', 'd', 9, 0, + /* 362 */ 'c', 'm', 'p', 's', 'd', 9, 0, + /* 369 */ 'w', 'r', 's', 's', 'd', 9, 0, + /* 376 */ 'w', 'r', 'u', 's', 's', 'd', 9, 0, + /* 384 */ 'm', 'o', 'v', 's', 'd', 9, 0, + /* 391 */ 'm', 'o', 'v', 's', 'x', 'd', 9, 0, + /* 399 */ 'j', 'a', 'e', 9, 0, + /* 404 */ 's', 'e', 't', 'a', 'e', 9, 0, + /* 411 */ 'c', 'm', 'o', 'v', 'a', 'e', 9, 0, + /* 419 */ 'j', 'b', 'e', 9, 0, + /* 424 */ 's', 'e', 't', 'b', 'e', 9, 0, + /* 431 */ 'c', 'm', 'o', 'v', 'b', 'e', 9, 0, + /* 439 */ 'j', 'g', 'e', 9, 0, + /* 444 */ 's', 'e', 't', 'g', 'e', 9, 0, + /* 451 */ 'c', 'm', 'o', 'v', 'g', 'e', 9, 0, + /* 459 */ 'j', 'e', 9, 0, + /* 463 */ 'j', 'l', 'e', 9, 0, + /* 468 */ 's', 'e', 't', 'l', 'e', 9, 0, + /* 475 */ 'c', 'm', 'o', 'v', 'l', 'e', 9, 0, + /* 483 */ 'j', 'n', 'e', 9, 0, + /* 488 */ 'l', 'o', 'o', 'p', 'n', 'e', 9, 0, + /* 496 */ 's', 'e', 't', 'n', 'e', 9, 0, + /* 503 */ 'c', 'm', 'o', 'v', 'n', 'e', 9, 0, + /* 511 */ 'l', 'o', 'o', 'p', 'e', 9, 0, + /* 518 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 9, 0, + /* 528 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 9, 0, + /* 538 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 9, 0, + /* 548 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 9, 0, + /* 558 */ 't', 'p', 'a', 'u', 's', 'e', 9, 0, + /* 566 */ 's', 'e', 't', 'e', 9, 0, + /* 572 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 9, 0, + /* 581 */ 'p', 't', 'w', 'r', 'i', 't', 'e', 9, 0, + /* 590 */ 'c', 'l', 'd', 'e', 'm', 'o', 't', 'e', 9, 0, + /* 600 */ 'x', 's', 'a', 'v', 'e', 9, 0, + /* 607 */ 'c', 'm', 'o', 'v', 'e', 9, 0, + /* 614 */ 'b', 's', 'f', 9, 0, + /* 619 */ 'r', 'e', 't', 'f', 9, 0, + /* 625 */ 'n', 'e', 'g', 9, 0, + /* 630 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 9, 0, + /* 639 */ 'j', 'g', 9, 0, + /* 643 */ 'i', 'n', 'v', 'l', 'p', 'g', 9, 0, + /* 651 */ 's', 'e', 't', 'g', 9, 0, + /* 657 */ 'c', 'm', 'o', 'v', 'g', 9, 0, + /* 664 */ 'p', 'u', 's', 'h', 9, 0, + /* 670 */ 'b', 'l', 'c', 'i', 9, 0, + /* 676 */ 'b', 'z', 'h', 'i', 9, 0, + /* 682 */ 'm', 'o', 'v', 'd', 'i', 'r', 'i', 9, 0, + /* 691 */ 'b', 'l', 's', 'i', 9, 0, + /* 697 */ 'b', 'l', 'c', 'm', 's', 'k', 9, 0, + /* 705 */ 'b', 'l', 's', 'm', 's', 'k', 9, 0, + /* 713 */ 't', 'z', 'm', 's', 'k', 9, 0, + /* 720 */ 's', 'a', 'l', 9, 0, + /* 725 */ 'l', 'w', 'p', 'v', 'a', 'l', 9, 0, + /* 733 */ 'r', 'c', 'l', 9, 0, + /* 738 */ 's', 'h', 'l', 9, 0, + /* 743 */ 'j', 'l', 9, 0, + /* 747 */ 'l', 'c', 'a', 'l', 'l', 9, 0, + /* 754 */ 'b', 'l', 'c', 'f', 'i', 'l', 'l', 9, 0, + /* 763 */ 'b', 'l', 's', 'f', 'i', 'l', 'l', 9, 0, + /* 772 */ 'r', 'o', 'l', 9, 0, + /* 777 */ 'a', 'r', 'p', 'l', 9, 0, + /* 783 */ 'l', 's', 'l', 9, 0, + /* 788 */ 's', 'e', 't', 'l', 9, 0, + /* 794 */ 'i', 'm', 'u', 'l', 9, 0, + /* 800 */ 'c', 'm', 'o', 'v', 'l', 9, 0, + /* 807 */ 'a', 'a', 'm', 9, 0, + /* 812 */ 'a', 'n', 'd', 'n', 9, 0, + /* 818 */ 'v', 'm', 'x', 'o', 'n', 9, 0, + /* 825 */ 'j', 'o', 9, 0, + /* 829 */ 'j', 'n', 'o', 9, 0, + /* 834 */ 's', 'e', 't', 'n', 'o', 9, 0, + /* 841 */ 'c', 'm', 'o', 'v', 'n', 'o', 9, 0, + /* 849 */ 's', 'e', 't', 'o', 9, 0, + /* 855 */ 'c', 'm', 'o', 'v', 'o', 9, 0, + /* 862 */ 'b', 's', 'w', 'a', 'p', 9, 0, + /* 869 */ 'p', 'd', 'e', 'p', 9, 0, + /* 875 */ 'j', 'p', 9, 0, + /* 879 */ 'c', 'm', 'p', 9, 0, + /* 884 */ 'l', 'j', 'm', 'p', 9, 0, + /* 890 */ 'j', 'n', 'p', 9, 0, + /* 895 */ 's', 'e', 't', 'n', 'p', 9, 0, + /* 902 */ 'c', 'm', 'o', 'v', 'n', 'p', 9, 0, + /* 910 */ 'n', 'o', 'p', 9, 0, + /* 915 */ 'l', 'o', 'o', 'p', 9, 0, + /* 921 */ 'p', 'o', 'p', 9, 0, + /* 926 */ 'r', 's', 't', 'o', 'r', 's', 's', 'p', 9, 0, + /* 936 */ 's', 'e', 't', 'p', 9, 0, + /* 942 */ 'c', 'm', 'o', 'v', 'p', 9, 0, + /* 949 */ 'r', 'e', 't', 'f', 'q', 9, 0, + /* 956 */ 'i', 'n', 'c', 's', 's', 'p', 'q', 9, 0, + /* 965 */ 'r', 'd', 's', 's', 'p', 'q', 9, 0, + /* 973 */ 's', 't', 'o', 's', 'q', 9, 0, + /* 980 */ 'c', 'm', 'p', 's', 'q', 9, 0, + /* 987 */ 'w', 'r', 's', 's', 'q', 9, 0, + /* 994 */ 'w', 'r', 'u', 's', 's', 'q', 9, 0, + /* 1002 */ 'm', 'o', 'v', 's', 'q', 9, 0, + /* 1009 */ 'v', 'm', 'c', 'l', 'e', 'a', 'r', 9, 0, + /* 1018 */ 'l', 'a', 'r', 9, 0, + /* 1023 */ 's', 'a', 'r', 9, 0, + /* 1028 */ 'r', 'c', 'r', 9, 0, + /* 1033 */ 'e', 'n', 't', 'e', 'r', 9, 0, + /* 1040 */ 's', 'h', 'r', 9, 0, + /* 1045 */ 'r', 'o', 'r', 9, 0, + /* 1050 */ 'u', 'm', 'o', 'n', 'i', 't', 'o', 'r', 9, 0, + /* 1060 */ 'x', 'r', 's', 't', 'o', 'r', 9, 0, + /* 1068 */ 'x', 'o', 'r', 9, 0, + /* 1073 */ 'v', 'e', 'r', 'r', 9, 0, + /* 1079 */ 'b', 's', 'r', 9, 0, + /* 1084 */ 'b', 'l', 's', 'r', 9, 0, + /* 1090 */ 'b', 't', 'r', 9, 0, + /* 1095 */ 'l', 't', 'r', 9, 0, + /* 1100 */ 's', 't', 'r', 9, 0, + /* 1105 */ 'b', 'e', 'x', 't', 'r', 9, 0, + /* 1112 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 0, + /* 1120 */ 'b', 'l', 'c', 's', 9, 0, + /* 1126 */ 'l', 'd', 's', 9, 0, + /* 1131 */ 'l', 'e', 's', 9, 0, + /* 1136 */ 'x', 's', 'a', 'v', 'e', 's', 9, 0, + /* 1144 */ 'l', 'f', 's', 9, 0, + /* 1149 */ 'l', 'g', 's', 9, 0, + /* 1154 */ 'j', 's', 9, 0, + /* 1158 */ 'l', 'w', 'p', 'i', 'n', 's', 9, 0, + /* 1166 */ 'j', 'n', 's', 9, 0, + /* 1171 */ 's', 'e', 't', 'n', 's', 9, 0, + /* 1178 */ 'c', 'm', 'o', 'v', 'n', 's', 9, 0, + /* 1186 */ 'x', 'r', 's', 't', 'o', 'r', 's', 9, 0, + /* 1195 */ 'l', 's', 's', 9, 0, + /* 1200 */ 'b', 't', 's', 9, 0, + /* 1205 */ 's', 'e', 't', 's', 9, 0, + /* 1211 */ 'c', 'm', 'o', 'v', 's', 9, 0, + /* 1218 */ 'b', 't', 9, 0, + /* 1222 */ 'l', 'g', 'd', 't', 9, 0, + /* 1228 */ 's', 'g', 'd', 't', 9, 0, + /* 1234 */ 'l', 'i', 'd', 't', 9, 0, + /* 1240 */ 's', 'i', 'd', 't', 9, 0, + /* 1246 */ 'l', 'l', 'd', 't', 9, 0, + /* 1252 */ 's', 'l', 'd', 't', 9, 0, + /* 1258 */ 'r', 'e', 't', 9, 0, + /* 1263 */ 'u', 'm', 'w', 'a', 'i', 't', 9, 0, + /* 1271 */ 'l', 'z', 'c', 'n', 't', 9, 0, + /* 1278 */ 't', 'z', 'c', 'n', 't', 9, 0, + /* 1285 */ 'i', 'n', 't', 9, 0, + /* 1290 */ 'n', 'o', 't', 9, 0, + /* 1295 */ 'i', 'n', 'v', 'e', 'p', 't', 9, 0, + /* 1303 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 9, 0, + /* 1313 */ 'c', 'l', 'f', 'l', 'u', 's', 'h', 'o', 'p', 't', 9, 0, + /* 1325 */ 't', 'e', 's', 't', 9, 0, + /* 1331 */ 'v', 'm', 'p', 't', 'r', 's', 't', 9, 0, + /* 1340 */ 'o', 'u', 't', 9, 0, + /* 1345 */ 'p', 'e', 'x', 't', 9, 0, + /* 1351 */ 'i', 'd', 'i', 'v', 9, 0, + /* 1357 */ 'm', 'o', 'v', 9, 0, + /* 1362 */ 'v', 'e', 'r', 'w', 9, 0, + /* 1368 */ 'l', 'm', 's', 'w', 9, 0, + /* 1374 */ 's', 'm', 's', 'w', 9, 0, + /* 1380 */ 'i', 'n', 's', 'w', 9, 0, + /* 1386 */ 's', 't', 'o', 's', 'w', 9, 0, + /* 1393 */ 'c', 'm', 'p', 's', 'w', 9, 0, + /* 1400 */ 'm', 'o', 'v', 's', 'w', 9, 0, + /* 1407 */ 'a', 'd', 'c', 'x', 9, 0, + /* 1413 */ 's', 'h', 'l', 'x', 9, 0, + /* 1419 */ 'm', 'u', 'l', 'x', 9, 0, + /* 1425 */ 'a', 'd', 'o', 'x', 9, 0, + /* 1431 */ 's', 'a', 'r', 'x', 9, 0, + /* 1437 */ 's', 'h', 'r', 'x', 9, 0, + /* 1443 */ 'r', 'o', 'r', 'x', 9, 0, + /* 1449 */ 'm', 'o', 'v', 's', 'x', 9, 0, + /* 1456 */ 'm', 'o', 'v', 'z', 'x', 9, 0, + /* 1463 */ 'c', 'l', 'r', 's', 's', 'b', 's', 'y', 9, 0, + /* 1473 */ 'j', 'e', 'c', 'x', 'z', 9, 0, + /* 1480 */ 'j', 'c', 'x', 'z', 9, 0, + /* 1486 */ 'j', 'r', 'c', 'x', 'z', 9, 0, + /* 1493 */ 's', 'b', 'b', 9, 'a', 'l', ',', 32, 0, + /* 1502 */ 's', 'c', 'a', 's', 'b', 9, 'a', 'l', ',', 32, 0, + /* 1513 */ 'l', 'o', 'd', 's', 'b', 9, 'a', 'l', ',', 32, 0, + /* 1524 */ 's', 'u', 'b', 9, 'a', 'l', ',', 32, 0, + /* 1533 */ 'a', 'd', 'c', 9, 'a', 'l', ',', 32, 0, + /* 1542 */ 'a', 'd', 'd', 9, 'a', 'l', ',', 32, 0, + /* 1551 */ 'a', 'n', 'd', 9, 'a', 'l', ',', 32, 0, + /* 1560 */ 'i', 'n', 9, 'a', 'l', ',', 32, 0, + /* 1568 */ 'c', 'm', 'p', 9, 'a', 'l', ',', 32, 0, + /* 1577 */ 'x', 'o', 'r', 9, 'a', 'l', ',', 32, 0, + /* 1586 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'a', 'l', ',', 32, 0, + /* 1598 */ 't', 'e', 's', 't', 9, 'a', 'l', ',', 32, 0, + /* 1608 */ 'm', 'o', 'v', 9, 'a', 'l', ',', 32, 0, + /* 1617 */ 's', 'b', 'b', 9, 'a', 'x', ',', 32, 0, + /* 1626 */ 's', 'u', 'b', 9, 'a', 'x', ',', 32, 0, + /* 1635 */ 'a', 'd', 'c', 9, 'a', 'x', ',', 32, 0, + /* 1644 */ 'a', 'd', 'd', 9, 'a', 'x', ',', 32, 0, + /* 1653 */ 'a', 'n', 'd', 9, 'a', 'x', ',', 32, 0, + /* 1662 */ 'i', 'n', 9, 'a', 'x', ',', 32, 0, + /* 1670 */ 'c', 'm', 'p', 9, 'a', 'x', ',', 32, 0, + /* 1679 */ 'x', 'o', 'r', 9, 'a', 'x', ',', 32, 0, + /* 1688 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'a', 'x', ',', 32, 0, + /* 1700 */ 't', 'e', 's', 't', 9, 'a', 'x', ',', 32, 0, + /* 1710 */ 'm', 'o', 'v', 9, 'a', 'x', ',', 32, 0, + /* 1719 */ 's', 'c', 'a', 's', 'w', 9, 'a', 'x', ',', 32, 0, + /* 1730 */ 'l', 'o', 'd', 's', 'w', 9, 'a', 'x', ',', 32, 0, + /* 1741 */ 's', 'b', 'b', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1751 */ 's', 'u', 'b', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1761 */ 'a', 'd', 'c', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1771 */ 'a', 'd', 'd', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1781 */ 'a', 'n', 'd', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1791 */ 's', 'c', 'a', 's', 'd', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1803 */ 'l', 'o', 'd', 's', 'd', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1815 */ 'i', 'n', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1824 */ 'c', 'm', 'p', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1834 */ 'x', 'o', 'r', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1844 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1857 */ 't', 'e', 's', 't', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1868 */ 'm', 'o', 'v', 9, 'e', 'a', 'x', ',', 32, 0, + /* 1878 */ 's', 'b', 'b', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1888 */ 's', 'u', 'b', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1898 */ 'a', 'd', 'c', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1908 */ 'a', 'd', 'd', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1918 */ 'a', 'n', 'd', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1928 */ 'c', 'm', 'p', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1938 */ 's', 'c', 'a', 's', 'q', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1950 */ 'l', 'o', 'd', 's', 'q', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1962 */ 'x', 'o', 'r', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1972 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1985 */ 't', 'e', 's', 't', 9, 'r', 'a', 'x', ',', 32, 0, + /* 1996 */ 'm', 'o', 'v', 9, 'r', 'a', 'x', ',', 32, 0, + /* 2006 */ 'o', 'u', 't', 's', 'b', 9, 'd', 'x', ',', 32, 0, + /* 2017 */ 'o', 'u', 't', 's', 'd', 9, 'd', 'x', ',', 32, 0, + /* 2028 */ 'o', 'u', 't', 's', 'w', 9, 'd', 'x', ',', 32, 0, + /* 2039 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'P', 'a', 't', 'c', 'h', 'a', 'b', 'l', 'e', 32, 'R', 'E', 'T', '.', 0, + /* 2070 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'y', 'p', 'e', 'd', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0, + /* 2094 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'C', 'u', 's', 't', 'o', 'm', 32, 'E', 'v', 'e', 'n', 't', 32, 'L', 'o', 'g', '.', 0, + /* 2119 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'n', 't', 'e', 'r', '.', 0, + /* 2142 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'T', 'a', 'i', 'l', 32, 'C', 'a', 'l', 'l', 32, 'E', 'x', 'i', 't', '.', 0, + /* 2165 */ '#', 32, 'X', 'R', 'a', 'y', 32, 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 32, 'E', 'x', 'i', 't', '.', 0, + /* 2187 */ 'u', 'd', '0', 0, + /* 2191 */ 'x', 's', 'h', 'a', '1', 0, + /* 2197 */ 'u', 'd', '1', 0, + /* 2201 */ 'i', 'n', 't', '1', 0, + /* 2206 */ 'e', 'n', 'd', 'b', 'r', '3', '2', 0, + /* 2214 */ 'u', 'd', '2', 0, + /* 2218 */ 'i', 'n', 't', '3', 0, + /* 2223 */ 'e', 'n', 'd', 'b', 'r', '6', '4', 0, + /* 2231 */ 'r', 'e', 'x', '6', '4', 0, + /* 2237 */ 'd', 'a', 't', 'a', '1', '6', 0, + /* 2244 */ 'x', 's', 'h', 'a', '2', '5', '6', 0, + /* 2252 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0, + /* 2265 */ 'B', 'U', 'N', 'D', 'L', 'E', 0, + /* 2272 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0, + /* 2282 */ 'D', 'B', 'G', '_', 'L', 'A', 'B', 'E', 'L', 0, + /* 2292 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0, + /* 2307 */ 'a', 'a', 'a', 0, + /* 2311 */ 'd', 'a', 'a', 0, + /* 2315 */ 'x', 'c', 'r', 'y', 'p', 't', 'e', 'c', 'b', 0, + /* 2325 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'f', 'b', 0, + /* 2335 */ 'x', 'c', 'r', 'y', 'p', 't', 'o', 'f', 'b', 0, + /* 2345 */ 'x', 'l', 'a', 't', 'b', 0, + /* 2351 */ 'c', 'l', 'a', 'c', 0, + /* 2356 */ 's', 't', 'a', 'c', 0, + /* 2361 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'b', 'c', 0, + /* 2371 */ 'g', 'e', 't', 's', 'e', 'c', 0, + /* 2378 */ 's', 'a', 'l', 'c', 0, + /* 2383 */ 'c', 'l', 'c', 0, + /* 2387 */ 'c', 'm', 'c', 0, + /* 2391 */ 'r', 'd', 'p', 'm', 'c', 0, + /* 2397 */ 'v', 'm', 'f', 'u', 'n', 'c', 0, + /* 2404 */ 'r', 'd', 't', 's', 'c', 0, + /* 2410 */ 's', 't', 'c', 0, + /* 2414 */ 'p', 'u', 's', 'h', 'f', 'd', 0, + /* 2421 */ 'p', 'o', 'p', 'f', 'd', 0, + /* 2427 */ 'c', 'p', 'u', 'i', 'd', 0, + /* 2433 */ 'c', 'l', 'd', 0, + /* 2437 */ 'i', 'r', 'e', 't', 'd', 0, + /* 2443 */ 's', 't', 'd', 0, + /* 2447 */ 'w', 'b', 'i', 'n', 'v', 'd', 0, + /* 2454 */ 'w', 'b', 'n', 'o', 'i', 'n', 'v', 'd', 0, + /* 2463 */ 'c', 'w', 'd', 0, + /* 2467 */ 'c', 'w', 'd', 'e', 0, + /* 2472 */ 'v', 'm', 'r', 'e', 's', 'u', 'm', 'e', 0, + /* 2481 */ 'r', 'e', 'p', 'n', 'e', 0, + /* 2487 */ 'c', 'd', 'q', 'e', 0, + /* 2492 */ 'x', 's', 't', 'o', 'r', 'e', 0, + /* 2499 */ 'l', 'e', 'a', 'v', 'e', 0, + /* 2505 */ 'v', 'm', 'x', 'o', 'f', 'f', 0, + /* 2512 */ 'l', 'a', 'h', 'f', 0, + /* 2517 */ 's', 'a', 'h', 'f', 0, + /* 2522 */ 'p', 'u', 's', 'h', 'f', 0, + /* 2528 */ 'p', 'o', 'p', 'f', 0, + /* 2533 */ 'r', 'e', 't', 'f', 0, + /* 2538 */ 'p', 'c', 'o', 'n', 'f', 'i', 'g', 0, + /* 2546 */ 'v', 'm', 'l', 'a', 'u', 'n', 'c', 'h', 0, + /* 2555 */ 'c', 'l', 'g', 'i', 0, + /* 2560 */ 's', 't', 'g', 'i', 0, + /* 2565 */ 'c', 'l', 'i', 0, + /* 2569 */ 's', 't', 'i', 0, + /* 2573 */ 'l', 'o', 'c', 'k', 0, + /* 2578 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'a', 'l', 0, + /* 2589 */ 'p', 'u', 's', 'h', 'a', 'l', 0, + /* 2596 */ 'p', 'o', 'p', 'a', 'l', 0, + /* 2602 */ '#', 32, 'F', 'E', 'n', 't', 'r', 'y', 32, 'c', 'a', 'l', 'l', 0, + /* 2616 */ 'v', 'm', 'm', 'c', 'a', 'l', 'l', 0, + /* 2624 */ 'v', 'm', 'c', 'a', 'l', 'l', 0, + /* 2631 */ 's', 'y', 's', 'c', 'a', 'l', 'l', 0, + /* 2639 */ 'm', 'o', 'n', 't', 'm', 'u', 'l', 0, + /* 2647 */ 'f', 's', 'e', 't', 'p', 'm', 0, + /* 2654 */ 'r', 's', 'm', 0, + /* 2658 */ 'c', 'q', 'o', 0, + /* 2662 */ 'c', 'l', 'z', 'e', 'r', 'o', 0, + /* 2669 */ 'i', 'n', 't', 'o', 0, + /* 2674 */ 'r', 'd', 't', 's', 'c', 'p', 0, + /* 2681 */ 'r', 'e', 'p', 0, + /* 2685 */ 'n', 'o', 'p', 0, + /* 2689 */ 's', 'a', 'v', 'e', 'p', 'r', 'e', 'v', 's', 's', 'p', 0, + /* 2701 */ 'c', 'd', 'q', 0, + /* 2705 */ 'p', 'u', 's', 'h', 'f', 'q', 0, + /* 2712 */ 'p', 'o', 'p', 'f', 'q', 0, + /* 2718 */ 'r', 'e', 't', 'f', 'q', 0, + /* 2724 */ 'i', 'r', 'e', 't', 'q', 0, + /* 2730 */ 's', 'y', 's', 'r', 'e', 't', 'q', 0, + /* 2738 */ 's', 'y', 's', 'e', 'x', 'i', 't', 'q', 0, + /* 2747 */ 's', 'y', 's', 'e', 'n', 't', 'e', 'r', 0, + /* 2756 */ 'r', 'd', 'm', 's', 'r', 0, + /* 2762 */ 'w', 'r', 'm', 's', 'r', 0, + /* 2768 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 't', 'r', 0, + /* 2778 */ 'a', 'a', 's', 0, + /* 2782 */ 'd', 'a', 's', 0, + /* 2786 */ 'p', 'u', 's', 'h', 9, 'c', 's', 0, + /* 2794 */ 'p', 'u', 's', 'h', 9, 'd', 's', 0, + /* 2802 */ 'p', 'o', 'p', 9, 'd', 's', 0, + /* 2809 */ 'p', 'u', 's', 'h', 9, 'e', 's', 0, + /* 2817 */ 'p', 'o', 'p', 9, 'e', 's', 0, + /* 2824 */ 'p', 'u', 's', 'h', 9, 'f', 's', 0, + /* 2832 */ 'p', 'o', 'p', 9, 'f', 's', 0, + /* 2839 */ 'p', 'u', 's', 'h', 9, 'g', 's', 0, + /* 2847 */ 'p', 'o', 'p', 9, 'g', 's', 0, + /* 2854 */ 's', 'w', 'a', 'p', 'g', 's', 0, + /* 2861 */ 'p', 'u', 's', 'h', 9, 's', 's', 0, + /* 2869 */ 'p', 'o', 'p', 9, 's', 's', 0, + /* 2876 */ 'c', 'l', 't', 's', 0, + /* 2881 */ 'i', 'r', 'e', 't', 0, + /* 2886 */ 's', 'y', 's', 'r', 'e', 't', 0, + /* 2893 */ 's', 'y', 's', 'e', 'x', 'i', 't', 0, + /* 2901 */ 'h', 'l', 't', 0, + /* 2905 */ 'r', 'd', 'p', 'k', 'r', 'u', 0, + /* 2912 */ 'w', 'r', 'p', 'k', 'r', 'u', 0, + /* 2919 */ 'x', 'g', 'e', 't', 'b', 'v', 0, + /* 2926 */ 'x', 's', 'e', 't', 'b', 'v', 0, + /* 2933 */ 'p', 'u', 's', 'h', 'a', 'w', 0, + /* 2940 */ 'p', 'o', 'p', 'a', 'w', 0, + /* 2946 */ 'c', 'b', 'w', 0, + /* 2950 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'a', 'x', 0, + /* 2961 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, 'e', 'a', 'x', 0, + /* 2972 */ 'v', 'm', 's', 'a', 'v', 'e', 9, 'e', 'a', 'x', 0, + /* 2983 */ 'v', 'm', 'r', 'u', 'n', 9, 'e', 'a', 'x', 0, + /* 2993 */ 's', 'k', 'i', 'n', 'i', 't', 9, 'e', 'a', 'x', 0, + /* 3004 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'e', 'a', 'x', 0, + /* 3016 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, 'r', 'a', 'x', 0, + /* 3027 */ 'v', 'm', 's', 'a', 'v', 'e', 9, 'r', 'a', 'x', 0, + /* 3038 */ 'v', 'm', 'r', 'u', 'n', 9, 'r', 'a', 'x', 0, + /* 3048 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, 'e', 'a', 'x', ',', 32, 'e', 'c', 'x', 0, + /* 3065 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, 'r', 'a', 'x', ',', 32, 'e', 'c', 'x', 0, + /* 3082 */ 'i', 'n', 9, 'a', 'l', ',', 32, 'd', 'x', 0, + /* 3092 */ 'i', 'n', 9, 'a', 'x', ',', 32, 'd', 'x', 0, + /* 3102 */ 'i', 'n', 9, 'e', 'a', 'x', ',', 32, 'd', 'x', 0, + /* 3113 */ 'm', 'o', 'n', 'i', 't', 'o', 'r', 'x', 0, + /* 3122 */ 'm', 'w', 'a', 'i', 't', 'x', 0, + /* 3129 */ 's', 'e', 't', 's', 's', 'b', 's', 'y', 0, + }; +#endif + + static const uint32_t OpInfo0[] = { + 0U, // PHI + 0U, // INLINEASM + 0U, // CFI_INSTRUCTION + 0U, // EH_LABEL + 0U, // GC_LABEL + 0U, // ANNOTATION_LABEL + 0U, // KILL + 0U, // EXTRACT_SUBREG + 0U, // INSERT_SUBREG + 0U, // IMPLICIT_DEF + 0U, // SUBREG_TO_REG + 0U, // COPY_TO_REGCLASS + 2273U, // DBG_VALUE + 2283U, // DBG_LABEL + 0U, // REG_SEQUENCE + 0U, // COPY + 2266U, // BUNDLE + 2293U, // LIFETIME_START + 2253U, // LIFETIME_END + 0U, // STACKMAP + 2603U, // FENTRY_CALL + 0U, // PATCHPOINT + 0U, // LOAD_STACK_GUARD + 0U, // STATEPOINT + 0U, // LOCAL_ESCAPE + 0U, // FAULTING_OP + 0U, // PATCHABLE_OP + 2120U, // PATCHABLE_FUNCTION_ENTER + 2040U, // PATCHABLE_RET + 2166U, // PATCHABLE_FUNCTION_EXIT + 2143U, // PATCHABLE_TAIL_CALL + 2095U, // PATCHABLE_EVENT_CALL + 2071U, // PATCHABLE_TYPED_EVENT_CALL + 0U, // ICALL_BRANCH_FUNNEL + 0U, // G_ADD + 0U, // G_SUB + 0U, // G_MUL + 0U, // G_SDIV + 0U, // G_UDIV + 0U, // G_SREM + 0U, // G_UREM + 0U, // G_AND + 0U, // G_OR + 0U, // G_XOR + 0U, // G_IMPLICIT_DEF + 0U, // G_PHI + 0U, // G_FRAME_INDEX + 0U, // G_GLOBAL_VALUE + 0U, // G_EXTRACT + 0U, // G_UNMERGE_VALUES + 0U, // G_INSERT + 0U, // G_MERGE_VALUES + 0U, // G_PTRTOINT + 0U, // G_INTTOPTR + 0U, // G_BITCAST + 0U, // G_LOAD + 0U, // G_SEXTLOAD + 0U, // G_ZEXTLOAD + 0U, // G_STORE + 0U, // G_ATOMIC_CMPXCHG_WITH_SUCCESS + 0U, // G_ATOMIC_CMPXCHG + 0U, // G_ATOMICRMW_XCHG + 0U, // G_ATOMICRMW_ADD + 0U, // G_ATOMICRMW_SUB + 0U, // G_ATOMICRMW_AND + 0U, // G_ATOMICRMW_NAND + 0U, // G_ATOMICRMW_OR + 0U, // G_ATOMICRMW_XOR + 0U, // G_ATOMICRMW_MAX + 0U, // G_ATOMICRMW_MIN + 0U, // G_ATOMICRMW_UMAX + 0U, // G_ATOMICRMW_UMIN + 0U, // G_BRCOND + 0U, // G_BRINDIRECT + 0U, // G_INTRINSIC + 0U, // G_INTRINSIC_W_SIDE_EFFECTS + 0U, // G_ANYEXT + 0U, // G_TRUNC + 0U, // G_CONSTANT + 0U, // G_FCONSTANT + 0U, // G_VASTART + 0U, // G_VAARG + 0U, // G_SEXT + 0U, // G_ZEXT + 0U, // G_SHL + 0U, // G_LSHR + 0U, // G_ASHR + 0U, // G_ICMP + 0U, // G_FCMP + 0U, // G_SELECT + 0U, // G_UADDE + 0U, // G_USUBE + 0U, // G_SADDO + 0U, // G_SSUBO + 0U, // G_UMULO + 0U, // G_SMULO + 0U, // G_UMULH + 0U, // G_SMULH + 0U, // G_FADD + 0U, // G_FSUB + 0U, // G_FMUL + 0U, // G_FMA + 0U, // G_FDIV + 0U, // G_FREM + 0U, // G_FPOW + 0U, // G_FEXP + 0U, // G_FEXP2 + 0U, // G_FLOG + 0U, // G_FLOG2 + 0U, // G_FNEG + 0U, // G_FPEXT + 0U, // G_FPTRUNC + 0U, // G_FPTOSI + 0U, // G_FPTOUI + 0U, // G_SITOFP + 0U, // G_UITOFP + 0U, // G_FABS + 0U, // G_GEP + 0U, // G_PTR_MASK + 0U, // G_BR + 0U, // G_INSERT_VECTOR_ELT + 0U, // G_EXTRACT_VECTOR_ELT + 0U, // G_SHUFFLE_VECTOR + 0U, // G_BSWAP + 0U, // G_ADDRSPACE_CAST + 0U, // G_BLOCK_ADDR + 2308U, // AAA + 4341U, // AAD8i8 + 4904U, // AAM8i8 + 2779U, // AAS + 5732U, // ADC16i16 + 270531U, // ADC16mi + 270531U, // ADC16mi8 + 270531U, // ADC16mr + 4468931U, // ADC16ri + 4468931U, // ADC16ri8 + 8663235U, // ADC16rm + 4468931U, // ADC16rr + 4460739U, // ADC16rr_REV + 5858U, // ADC32i32 + 278723U, // ADC32mi + 278723U, // ADC32mi8 + 278723U, // ADC32mr + 4468931U, // ADC32ri + 4468931U, // ADC32ri8 + 12857539U, // ADC32rm + 4468931U, // ADC32rr + 4460739U, // ADC32rr_REV + 5995U, // ADC64i32 + 282819U, // ADC64mi32 + 282819U, // ADC64mi8 + 282819U, // ADC64mr + 4468931U, // ADC64ri32 + 4468931U, // ADC64ri8 + 17051843U, // ADC64rm + 4468931U, // ADC64rr + 4460739U, // ADC64rr_REV + 5630U, // ADC8i8 + 286915U, // ADC8mi + 286915U, // ADC8mi8 + 286915U, // ADC8mr + 4468931U, // ADC8ri + 4468931U, // ADC8ri8 + 21246147U, // ADC8rm + 4468931U, // ADC8rr + 4460739U, // ADC8rr_REV + 12850560U, // ADCX32rm + 4461952U, // ADCX32rr + 17044864U, // ADCX64rm + 4461952U, // ADCX64rr + 5741U, // ADD16i16 + 270595U, // ADD16mi + 270595U, // ADD16mi8 + 270595U, // ADD16mr + 4468995U, // ADD16ri + 4468995U, // ADD16ri8 + 8663299U, // ADD16rm + 4468995U, // ADD16rr + 4460803U, // ADD16rr_REV + 5868U, // ADD32i32 + 278787U, // ADD32mi + 278787U, // ADD32mi8 + 278787U, // ADD32mr + 4468995U, // ADD32ri + 4468995U, // ADD32ri8 + 12857603U, // ADD32rm + 4468995U, // ADD32rr + 4460803U, // ADD32rr_REV + 6005U, // ADD64i32 + 282883U, // ADD64mi32 + 282883U, // ADD64mi8 + 282883U, // ADD64mr + 4468995U, // ADD64ri32 + 4468995U, // ADD64ri8 + 17051907U, // ADD64rm + 4468995U, // ADD64rr + 4460803U, // ADD64rr_REV + 5639U, // ADD8i8 + 286979U, // ADD8mi + 286979U, // ADD8mi8 + 286979U, // ADD8mr + 4468995U, // ADD8ri + 4468995U, // ADD8ri8 + 21246211U, // ADD8rm + 4468995U, // ADD8rr + 4460803U, // ADD8rr_REV + 12850578U, // ADOX32rm + 4461970U, // ADOX32rr + 17044882U, // ADOX64rm + 4461970U, // ADOX64rr + 5750U, // AND16i16 + 270651U, // AND16mi + 270651U, // AND16mi8 + 270651U, // AND16mr + 4469051U, // AND16ri + 4469051U, // AND16ri8 + 8663355U, // AND16rm + 4469051U, // AND16rr + 4460859U, // AND16rr_REV + 5878U, // AND32i32 + 278843U, // AND32mi + 278843U, // AND32mi8 + 278843U, // AND32mr + 4469051U, // AND32ri + 4469051U, // AND32ri8 + 12857659U, // AND32rm + 4469051U, // AND32rr + 4460859U, // AND32rr_REV + 6015U, // AND64i32 + 282939U, // AND64mi32 + 282939U, // AND64mi8 + 282939U, // AND64mr + 4469051U, // AND64ri32 + 4469051U, // AND64ri8 + 17051963U, // AND64rm + 4469051U, // AND64rr + 4460859U, // AND64rr_REV + 5648U, // AND8i8 + 287035U, // AND8mi + 287035U, // AND8mi8 + 287035U, // AND8mr + 4469051U, // AND8ri + 4469051U, // AND8ri8 + 21246267U, // AND8rm + 4469051U, // AND8rr + 4460859U, // AND8rr_REV + 159650605U, // ANDN32rm + 696521517U, // ANDN32rr + 1233392429U, // ANDN64rm + 696521517U, // ANDN64rr + 271114U, // ARPL16mr + 25432842U, // ARPL16rr + 1774457938U, // BEXTR32rm + 696521810U, // BEXTR32rr + 1778652242U, // BEXTR64rm + 696521810U, // BEXTR64rr + 1774457938U, // BEXTRI32mi + 696521810U, // BEXTRI32ri + 1778652242U, // BEXTRI64mi + 696521810U, // BEXTRI64ri + 29627123U, // BLCFILL32rm + 25432819U, // BLCFILL32rr + 33821427U, // BLCFILL64rm + 25432819U, // BLCFILL64rr + 29627039U, // BLCI32rm + 25432735U, // BLCI32rr + 33821343U, // BLCI64rm + 25432735U, // BLCI64rr + 29626581U, // BLCIC32rm + 25432277U, // BLCIC32rr + 33820885U, // BLCIC64rm + 25432277U, // BLCIC64rr + 29627066U, // BLCMSK32rm + 25432762U, // BLCMSK32rr + 33821370U, // BLCMSK64rm + 25432762U, // BLCMSK64rr + 29627489U, // BLCS32rm + 25433185U, // BLCS32rr + 33821793U, // BLCS64rm + 25433185U, // BLCS64rr + 29627132U, // BLSFILL32rm + 25432828U, // BLSFILL32rr + 33821436U, // BLSFILL64rm + 25432828U, // BLSFILL64rr + 29627060U, // BLSI32rm + 25432756U, // BLSI32rr + 33821364U, // BLSI64rm + 25432756U, // BLSI64rr + 29626588U, // BLSIC32rm + 25432284U, // BLSIC32rr + 33820892U, // BLSIC64rm + 25432284U, // BLSIC64rr + 29627074U, // BLSMSK32rm + 25432770U, // BLSMSK32rr + 33821378U, // BLSMSK64rm + 25432770U, // BLSMSK64rr + 29627453U, // BLSR32rm + 25433149U, // BLSR32rr + 33821757U, // BLSR64rm + 25433149U, // BLSR64rr + 29626688U, // BOUNDS16rm + 33820992U, // BOUNDS32rm + 38015591U, // BSF16rm + 25432679U, // BSF16rr + 29626983U, // BSF32rm + 25432679U, // BSF32rr + 33821287U, // BSF64rm + 25432679U, // BSF64rr + 38016056U, // BSR16rm + 25433144U, // BSR16rr + 29627448U, // BSR32rm + 25433144U, // BSR32rr + 33821752U, // BSR64rm + 25433144U, // BSR64rr + 4959U, // BSWAP16r_BAD + 4959U, // BSWAP32r + 4959U, // BSWAP64r + 271555U, // BT16mi8 + 271555U, // BT16mr + 25433283U, // BT16ri8 + 25433283U, // BT16rr + 279747U, // BT32mi8 + 279747U, // BT32mr + 25433283U, // BT32ri8 + 25433283U, // BT32rr + 283843U, // BT64mi8 + 283843U, // BT64mr + 25433283U, // BT64ri8 + 25433283U, // BT64rr + 270576U, // BTC16mi8 + 270576U, // BTC16mr + 4468976U, // BTC16ri8 + 4468976U, // BTC16rr + 278768U, // BTC32mi8 + 278768U, // BTC32mr + 4468976U, // BTC32ri8 + 4468976U, // BTC32rr + 282864U, // BTC64mi8 + 282864U, // BTC64mr + 4468976U, // BTC64ri8 + 4468976U, // BTC64rr + 271427U, // BTR16mi8 + 271427U, // BTR16mr + 4469827U, // BTR16ri8 + 4469827U, // BTR16rr + 279619U, // BTR32mi8 + 279619U, // BTR32mr + 4469827U, // BTR32ri8 + 4469827U, // BTR32rr + 283715U, // BTR64mi8 + 283715U, // BTR64mr + 4469827U, // BTR64ri8 + 4469827U, // BTR64rr + 271537U, // BTS16mi8 + 271537U, // BTS16mr + 4469937U, // BTS16ri8 + 4469937U, // BTS16rr + 279729U, // BTS32mi8 + 279729U, // BTS32mr + 4469937U, // BTS32ri8 + 4469937U, // BTS32rr + 283825U, // BTS64mi8 + 283825U, // BTS64mr + 4469937U, // BTS64ri8 + 4469937U, // BTS64rr + 1774457509U, // BZHI32rm + 696521381U, // BZHI32rr + 1778651813U, // BZHI64rm + 696521381U, // BZHI64rr + 8941U, // CALL16m + 8941U, // CALL16m_NT + 4845U, // CALL16r + 4845U, // CALL16r_NT + 17133U, // CALL32m + 17133U, // CALL32m_NT + 4845U, // CALL32r + 4845U, // CALL32r_NT + 21229U, // CALL64m + 21229U, // CALL64m_NT + 29421U, // CALL64pcrel32 + 4845U, // CALL64r + 4845U, // CALL64r_NT + 29421U, // CALLpcrel16 + 29421U, // CALLpcrel32 + 2947U, // CBW + 2702U, // CDQ + 2488U, // CDQE + 2352U, // CLAC + 2384U, // CLC + 2434U, // CLD + 25167U, // CLDEMOTE + 25890U, // CLFLUSHOPT + 2556U, // CLGI + 2566U, // CLI + 17848U, // CLRSSBSY + 2877U, // CLTS + 24765U, // CLWB + 2663U, // CLZEROr + 2388U, // CMC + 8654926U, // CMOVA16rm + 4460622U, // CMOVA16rr + 12849230U, // CMOVA32rm + 4460622U, // CMOVA32rr + 17043534U, // CMOVA64rm + 4460622U, // CMOVA64rr + 8655260U, // CMOVAE16rm + 4460956U, // CMOVAE16rr + 12849564U, // CMOVAE32rm + 4460956U, // CMOVAE32rr + 17043868U, // CMOVAE64rm + 4460956U, // CMOVAE64rr + 8655030U, // CMOVB16rm + 4460726U, // CMOVB16rr + 12849334U, // CMOVB32rm + 4460726U, // CMOVB32rr + 17043638U, // CMOVB64rm + 4460726U, // CMOVB64rr + 8655280U, // CMOVBE16rm + 4460976U, // CMOVBE16rr + 12849584U, // CMOVBE32rm + 4460976U, // CMOVBE32rr + 17043888U, // CMOVBE64rm + 4460976U, // CMOVBE64rr + 8655456U, // CMOVE16rm + 4461152U, // CMOVE16rr + 12849760U, // CMOVE32rm + 4461152U, // CMOVE32rr + 17044064U, // CMOVE64rm + 4461152U, // CMOVE64rr + 8655506U, // CMOVG16rm + 4461202U, // CMOVG16rr + 12849810U, // CMOVG32rm + 4461202U, // CMOVG32rr + 17044114U, // CMOVG64rm + 4461202U, // CMOVG64rr + 8655300U, // CMOVGE16rm + 4460996U, // CMOVGE16rr + 12849604U, // CMOVGE32rm + 4460996U, // CMOVGE32rr + 17043908U, // CMOVGE64rm + 4460996U, // CMOVGE64rr + 8655649U, // CMOVL16rm + 4461345U, // CMOVL16rr + 12849953U, // CMOVL32rm + 4461345U, // CMOVL32rr + 17044257U, // CMOVL64rm + 4461345U, // CMOVL64rr + 8655324U, // CMOVLE16rm + 4461020U, // CMOVLE16rr + 12849628U, // CMOVLE32rm + 4461020U, // CMOVLE32rr + 17043932U, // CMOVLE64rm + 4461020U, // CMOVLE64rr + 8655352U, // CMOVNE16rm + 4461048U, // CMOVNE16rr + 12849656U, // CMOVNE32rm + 4461048U, // CMOVNE32rr + 17043960U, // CMOVNE64rm + 4461048U, // CMOVNE64rr + 8655690U, // CMOVNO16rm + 4461386U, // CMOVNO16rr + 12849994U, // CMOVNO32rm + 4461386U, // CMOVNO32rr + 17044298U, // CMOVNO64rm + 4461386U, // CMOVNO64rr + 8655751U, // CMOVNP16rm + 4461447U, // CMOVNP16rr + 12850055U, // CMOVNP32rm + 4461447U, // CMOVNP32rr + 17044359U, // CMOVNP64rm + 4461447U, // CMOVNP64rr + 8656027U, // CMOVNS16rm + 4461723U, // CMOVNS16rr + 12850331U, // CMOVNS32rm + 4461723U, // CMOVNS32rr + 17044635U, // CMOVNS64rm + 4461723U, // CMOVNS64rr + 8655704U, // CMOVO16rm + 4461400U, // CMOVO16rr + 12850008U, // CMOVO32rm + 4461400U, // CMOVO32rr + 17044312U, // CMOVO64rm + 4461400U, // CMOVO64rr + 8655791U, // CMOVP16rm + 4461487U, // CMOVP16rr + 12850095U, // CMOVP32rm + 4461487U, // CMOVP32rr + 17044399U, // CMOVP64rm + 4461487U, // CMOVP64rr + 8656060U, // CMOVS16rm + 4461756U, // CMOVS16rr + 12850364U, // CMOVS32rm + 4461756U, // CMOVS32rr + 17044668U, // CMOVS64rm + 4461756U, // CMOVS64rr + 5767U, // CMP16i16 + 271216U, // CMP16mi + 271216U, // CMP16mi8 + 271216U, // CMP16mr + 25432944U, // CMP16ri + 25432944U, // CMP16ri8 + 38015856U, // CMP16rm + 25432944U, // CMP16rr + 25432944U, // CMP16rr_REV + 5921U, // CMP32i32 + 279408U, // CMP32mi + 279408U, // CMP32mi8 + 279408U, // CMP32mr + 25432944U, // CMP32ri + 25432944U, // CMP32ri8 + 29627248U, // CMP32rm + 25432944U, // CMP32rr + 25432944U, // CMP32rr_REV + 6025U, // CMP64i32 + 283504U, // CMP64mi32 + 283504U, // CMP64mi8 + 283504U, // CMP64mr + 25432944U, // CMP64ri32 + 25432944U, // CMP64ri8 + 33821552U, // CMP64rm + 25432944U, // CMP64rr + 25432944U, // CMP64rr_REV + 5665U, // CMP8i8 + 287600U, // CMP8mi + 287600U, // CMP8mi8 + 287600U, // CMP8mr + 25432944U, // CMP8ri + 25432944U, // CMP8ri8 + 42210160U, // CMP8rm + 25432944U, // CMP8rr + 25432944U, // CMP8rr_REV + 32925U, // CMPSB + 37227U, // CMPSL + 41941U, // CMPSQ + 46450U, // CMPSW + 49248U, // CMPXCHG16B + 270967U, // CMPXCHG16rm + 25432695U, // CMPXCHG16rr + 279159U, // CMPXCHG32rm + 25432695U, // CMPXCHG32rr + 283255U, // CMPXCHG64rm + 25432695U, // CMPXCHG64rr + 20588U, // CMPXCHG8B + 287351U, // CMPXCHG8rm + 25432695U, // CMPXCHG8rr + 2428U, // CPUID + 2659U, // CQO + 2464U, // CWD + 2468U, // CWDE + 2312U, // DAA + 2783U, // DAS + 2238U, // DATA16_PREFIX + 8392U, // DEC16m + 4296U, // DEC16r + 4296U, // DEC16r_alt + 16584U, // DEC32m + 4296U, // DEC32r + 4296U, // DEC32r_alt + 20680U, // DEC64m + 4296U, // DEC64r + 24776U, // DEC8m + 4296U, // DEC8r + 9545U, // DIV16m + 5449U, // DIV16r + 17737U, // DIV32m + 5449U, // DIV32r + 21833U, // DIV64m + 5449U, // DIV64r + 25929U, // DIV8m + 5449U, // DIV8r + 2207U, // ENDBR32 + 2224U, // ENDBR64 + 25433098U, // ENTER + 46412524U, // FARCALL16i + 53996U, // FARCALL16m + 46412524U, // FARCALL32i + 53997U, // FARCALL32m + 53996U, // FARCALL64 + 537461U, // FARJMP16i + 54133U, // FARJMP16m + 537461U, // FARJMP32i + 54134U, // FARJMP32m + 54133U, // FARJMP64 + 2648U, // FSETPM + 2372U, // GETSEC + 2902U, // HLT + 9544U, // IDIV16m + 5448U, // IDIV16r + 17736U, // IDIV32m + 5448U, // IDIV32r + 21832U, // IDIV64m + 5448U, // IDIV64r + 25928U, // IDIV8m + 5448U, // IDIV8r + 8987U, // IMUL16m + 4891U, // IMUL16r + 8655643U, // IMUL16rm + 1782846235U, // IMUL16rmi + 1782846235U, // IMUL16rmi8 + 4461339U, // IMUL16rr + 696521499U, // IMUL16rri + 696521499U, // IMUL16rri8 + 17179U, // IMUL32m + 4891U, // IMUL32r + 12849947U, // IMUL32rm + 1774457627U, // IMUL32rmi + 1774457627U, // IMUL32rmi8 + 4461339U, // IMUL32rr + 696521499U, // IMUL32rri + 696521499U, // IMUL32rri8 + 21275U, // IMUL64m + 4891U, // IMUL64r + 17044251U, // IMUL64rm + 1778651931U, // IMUL64rmi32 + 1778651931U, // IMUL64rmi8 + 4461339U, // IMUL64rr + 696521499U, // IMUL64rri32 + 696521499U, // IMUL64rri8 + 25371U, // IMUL8m + 4891U, // IMUL8r + 59007U, // IN16ri + 3093U, // IN16rr + 59160U, // IN32ri + 3103U, // IN32rr + 58905U, // IN8ri + 3083U, // IN8rr + 8427U, // INC16m + 4331U, // INC16r + 4331U, // INC16r_alt + 16619U, // INC32m + 4331U, // INC32r + 4331U, // INC32r_alt + 20715U, // INC64m + 4331U, // INC64r + 24811U, // INC8m + 4331U, // INC8r + 4423U, // INCSSPD + 5053U, // INCSSPQ + 848016U, // INSB + 852318U, // INSL + 857445U, // INSW + 58630U, // INT + 2202U, // INT1 + 2219U, // INT3 + 2670U, // INTO + 2450U, // INVD + 50599184U, // INVEPT32 + 50599184U, // INVEPT64 + 25220U, // INVLPG + 3049U, // INVLPGA32 + 3066U, // INVLPGA64 + 50598160U, // INVPCID32 + 50598160U, // INVPCID64 + 50598176U, // INVVPID32 + 50598176U, // INVVPID64 + 2882U, // IRET16 + 2438U, // IRET32 + 2725U, // IRET64 + 29072U, // JAE_1 + 29072U, // JAE_2 + 29072U, // JAE_4 + 28740U, // JA_1 + 28740U, // JA_2 + 28740U, // JA_4 + 29092U, // JBE_1 + 29092U, // JBE_2 + 29092U, // JBE_4 + 28812U, // JB_1 + 28812U, // JB_2 + 28812U, // JB_4 + 30153U, // JCXZ + 30146U, // JECXZ + 29132U, // JE_1 + 29132U, // JE_2 + 29132U, // JE_4 + 29112U, // JGE_1 + 29112U, // JGE_2 + 29112U, // JGE_4 + 29312U, // JG_1 + 29312U, // JG_2 + 29312U, // JG_4 + 29136U, // JLE_1 + 29136U, // JLE_2 + 29136U, // JLE_4 + 29416U, // JL_1 + 29416U, // JL_2 + 29416U, // JL_4 + 9078U, // JMP16m + 9078U, // JMP16m_NT + 4982U, // JMP16r + 4982U, // JMP16r_NT + 17270U, // JMP32m + 17270U, // JMP32m_NT + 4982U, // JMP32r + 4982U, // JMP32r_NT + 21366U, // JMP64m + 21366U, // JMP64m_NT + 4982U, // JMP64r + 4982U, // JMP64r_NT + 29558U, // JMP_1 + 29558U, // JMP_2 + 29558U, // JMP_4 + 29156U, // JNE_1 + 29156U, // JNE_2 + 29156U, // JNE_4 + 29502U, // JNO_1 + 29502U, // JNO_2 + 29502U, // JNO_4 + 29563U, // JNP_1 + 29563U, // JNP_2 + 29563U, // JNP_4 + 29839U, // JNS_1 + 29839U, // JNS_2 + 29839U, // JNS_4 + 29498U, // JO_1 + 29498U, // JO_2 + 29498U, // JO_4 + 29548U, // JP_1 + 29548U, // JP_2 + 29548U, // JP_4 + 30159U, // JRCXZ + 29827U, // JS_1 + 29827U, // JS_2 + 29827U, // JS_4 + 2513U, // LAHF + 38015995U, // LAR16rm + 25433083U, // LAR16rr + 38015995U, // LAR32rm + 25433083U, // LAR32rr + 38015995U, // LAR64rm + 25433083U, // LAR64rr + 54793319U, // LDS16rm + 54793319U, // LDS32rm + 58986559U, // LEA16r + 58986559U, // LEA32r + 58986559U, // LEA64_32r + 58986559U, // LEA64r + 2500U, // LEAVE + 2500U, // LEAVE64 + 54793324U, // LES16rm + 54793324U, // LES32rm + 54793337U, // LFS16rm + 54793337U, // LFS32rm + 54793337U, // LFS64rm + 54471U, // LGDT16m + 54471U, // LGDT32m + 54471U, // LGDT64m + 54793342U, // LGS16rm + 54793342U, // LGS32rm + 54793342U, // LGS64rm + 54483U, // LIDT16m + 54483U, // LIDT32m + 54483U, // LIDT64m + 9439U, // LLDT16m + 5343U, // LLDT16r + 4220U, // LLWPCB + 4220U, // LLWPCB64 + 9561U, // LMSW16m + 5465U, // LMSW16r + 2574U, // LOCK_PREFIX + 75242U, // LODSB + 79628U, // LODSL + 83871U, // LODSQ + 87747U, // LODSW + 29588U, // LOOP + 29184U, // LOOPE + 29161U, // LOOPNE + 4716U, // LRETIL + 5046U, // LRETIQ + 4716U, // LRETIW + 2534U, // LRETL + 2719U, // LRETQ + 2534U, // LRETW + 38015760U, // LSL16rm + 25432848U, // LSL16rr + 38015760U, // LSL32rm + 25432848U, // LSL32rr + 38015760U, // LSL64rm + 25432848U, // LSL64rr + 54793388U, // LSS16rm + 54793388U, // LSS32rm + 54793388U, // LSS64rm + 9288U, // LTRm + 5192U, // LTRr + 1774457991U, // LWPINS32rmi + 696521863U, // LWPINS32rri + 1774457991U, // LWPINS64rmi + 696521863U, // LWPINS64rri + 1774457558U, // LWPVAL32rmi + 696521430U, // LWPVAL32rri + 1774457558U, // LWPVAL64rmi + 696521430U, // LWPVAL64rri + 38016248U, // LZCNT16rm + 25433336U, // LZCNT16rr + 29627640U, // LZCNT32rm + 25433336U, // LZCNT32rr + 33821944U, // LZCNT64rm + 25433336U, // LZCNT64rr + 3114U, // MONITORXrrr + 2640U, // MONTMUL + 91823U, // MOV16ao16 + 91823U, // MOV16ao32 + 91801U, // MOV16ao64 + 271694U, // MOV16mi + 271694U, // MOV16mr + 271694U, // MOV16ms + 1140046U, // MOV16o16a + 1140046U, // MOV16o32a + 1139801U, // MOV16o64a + 25433422U, // MOV16ri + 25433422U, // MOV16ri_alt + 38016334U, // MOV16rm + 25433422U, // MOV16rr + 25433422U, // MOV16rr_REV + 25433422U, // MOV16rs + 38016334U, // MOV16sm + 25433422U, // MOV16sr + 96077U, // MOV32ao16 + 96077U, // MOV32ao32 + 96053U, // MOV32ao64 + 25433422U, // MOV32cr + 25433422U, // MOV32dr + 279886U, // MOV32mi + 279886U, // MOV32mr + 1406286U, // MOV32o16a + 1406286U, // MOV32o32a + 1406041U, // MOV32o64a + 25433422U, // MOV32rc + 25433422U, // MOV32rd + 25433422U, // MOV32ri + 25433422U, // MOV32ri_alt + 29627726U, // MOV32rm + 25433422U, // MOV32rr + 25433422U, // MOV32rr_REV + 25433422U, // MOV32rs + 25433422U, // MOV32sr + 100301U, // MOV64ao32 + 100277U, // MOV64ao64 + 25433422U, // MOV64cr + 25433422U, // MOV64dr + 283982U, // MOV64mi32 + 283982U, // MOV64mr + 1672526U, // MOV64o32a + 1672281U, // MOV64o64a + 25433422U, // MOV64rc + 25433422U, // MOV64rd + 25433177U, // MOV64ri + 25433422U, // MOV64ri32 + 33822030U, // MOV64rm + 25433422U, // MOV64rr + 25433422U, // MOV64rr_REV + 25433422U, // MOV64rs + 25433422U, // MOV64sr + 104009U, // MOV8ao16 + 104009U, // MOV8ao32 + 103987U, // MOV8ao64 + 288078U, // MOV8mi + 288078U, // MOV8mr + 288078U, // MOV8mr_NOREX + 1938766U, // MOV8o16a + 1938766U, // MOV8o32a + 1938521U, // MOV8o64a + 25433422U, // MOV8ri + 25433422U, // MOV8ri_alt + 42210638U, // MOV8rm + 42210638U, // MOV8rm_NOREX + 25433422U, // MOV8rr + 25433422U, // MOV8rr_NOREX + 25433422U, // MOV8rr_REV + 270769U, // MOVBE16mr + 38015409U, // MOVBE16rm + 278961U, // MOVBE32mr + 29626801U, // MOVBE32rm + 283057U, // MOVBE64mr + 33821105U, // MOVBE64rm + 63180885U, // MOVDIR64B16 + 63180885U, // MOVDIR64B32 + 63180885U, // MOVDIR64B64 + 279211U, // MOVDIRI32 + 283307U, // MOVDIRI64 + 67432612U, // MOVSB + 71631233U, // MOVSL + 75867115U, // MOVSQ + 80024953U, // MOVSW + 38016426U, // MOVSX16rm16 + 42210730U, // MOVSX16rm8 + 25433514U, // MOVSX16rr16 + 25433514U, // MOVSX16rr8 + 38016426U, // MOVSX32rm16 + 42210730U, // MOVSX32rm8 + 42210730U, // MOVSX32rm8_NOREX + 25433514U, // MOVSX32rr16 + 25433514U, // MOVSX32rr8 + 25433514U, // MOVSX32rr8_NOREX + 38016426U, // MOVSX64rm16 + 29626760U, // MOVSX64rm32 + 42210730U, // MOVSX64rm8 + 25433514U, // MOVSX64rr16 + 25432456U, // MOVSX64rr32 + 25433514U, // MOVSX64rr8 + 38016433U, // MOVZX16rm16 + 42210737U, // MOVZX16rm8 + 25433521U, // MOVZX16rr16 + 25433521U, // MOVZX16rr8 + 38016433U, // MOVZX32rm16 + 42210737U, // MOVZX32rm8 + 42210737U, // MOVZX32rm8_NOREX + 25433521U, // MOVZX32rr16 + 25433521U, // MOVZX32rr8 + 25433521U, // MOVZX32rr8_NOREX + 38016433U, // MOVZX64rm16 + 42210737U, // MOVZX64rm8 + 25433521U, // MOVZX64rr16 + 25433521U, // MOVZX64rr8 + 8988U, // MUL16m + 4892U, // MUL16r + 17180U, // MUL32m + 4892U, // MUL32r + 21276U, // MUL64m + 4892U, // MUL64r + 25372U, // MUL8m + 4892U, // MUL8r + 159651212U, // MULX32rm + 696522124U, // MULX32rr + 1233393036U, // MULX64rm + 696522124U, // MULX64rr + 3123U, // MWAITXrrr + 8818U, // NEG16m + 4722U, // NEG16r + 17010U, // NEG32m + 4722U, // NEG32r + 21106U, // NEG64m + 4722U, // NEG64r + 25202U, // NEG8m + 4722U, // NEG8r + 2686U, // NOOP + 9103U, // NOOP18_16m4 + 9103U, // NOOP18_16m5 + 9103U, // NOOP18_16m6 + 9103U, // NOOP18_16m7 + 5007U, // NOOP18_16r4 + 5007U, // NOOP18_16r5 + 5007U, // NOOP18_16r6 + 5007U, // NOOP18_16r7 + 17295U, // NOOP18_m4 + 17295U, // NOOP18_m5 + 17295U, // NOOP18_m6 + 17295U, // NOOP18_m7 + 5007U, // NOOP18_r4 + 5007U, // NOOP18_r5 + 5007U, // NOOP18_r6 + 5007U, // NOOP18_r7 + 46412687U, // NOOP19rr + 17295U, // NOOPL + 17295U, // NOOPL_19 + 17295U, // NOOPL_1d + 17295U, // NOOPL_1e + 5007U, // NOOPLr + 21391U, // NOOPQ + 5007U, // NOOPQr + 9103U, // NOOPW + 9103U, // NOOPW_19 + 9103U, // NOOPW_1c + 9103U, // NOOPW_1d + 9103U, // NOOPW_1e + 5007U, // NOOPWr + 9483U, // NOT16m + 5387U, // NOT16r + 17675U, // NOT32m + 5387U, // NOT32r + 21771U, // NOT64m + 5387U, // NOT64r + 25867U, // NOT8m + 5387U, // NOT8r + 5777U, // OR16i16 + 271383U, // OR16mi + 271383U, // OR16mi8 + 271383U, // OR16mr + 4469783U, // OR16ri + 4469783U, // OR16ri8 + 8664087U, // OR16rm + 4469783U, // OR16rr + 4461591U, // OR16rr_REV + 5932U, // OR32i32 + 279575U, // OR32mi + 279575U, // OR32mi8 + 279575U, // OR32mr + 4469783U, // OR32ri + 4469783U, // OR32ri8 + 12858391U, // OR32rm + 4469783U, // OR32rr + 4461591U, // OR32rr_REV + 6060U, // OR64i32 + 283671U, // OR64mi32 + 283671U, // OR64mi8 + 283671U, // OR64mr + 4469783U, // OR64ri32 + 4469783U, // OR64ri8 + 17052695U, // OR64rm + 4469783U, // OR64rr + 4461591U, // OR64rr_REV + 5675U, // OR8i8 + 287767U, // OR8mi + 287767U, // OR8mi8 + 287767U, // OR8mr + 4469783U, // OR8ri + 4469783U, // OR8ri8 + 21246999U, // OR8rm + 4469783U, // OR8rr + 4461591U, // OR8rr_REV + 1107261U, // OUT16ir + 2951U, // OUT16rr + 1369405U, // OUT32ir + 3005U, // OUT32rr + 1893693U, // OUT8ir + 2579U, // OUT8rr + 75735U, // OUTSB + 79842U, // OUTSL + 88045U, // OUTSW + 2539U, // PCONFIG + 159650662U, // PDEP32rm + 696521574U, // PDEP32rr + 1233392486U, // PDEP64rm + 696521574U, // PDEP64rr + 159651138U, // PEXT32rm + 696522050U, // PEXT32rr + 1233392962U, // PEXT64rm + 696522050U, // PEXT64rr + 5018U, // POP16r + 9114U, // POP16rmm + 5018U, // POP16rmr + 5018U, // POP32r + 17306U, // POP32rmm + 5018U, // POP32rmr + 5018U, // POP64r + 21402U, // POP64rmm + 5018U, // POP64rmr + 2941U, // POPA16 + 2597U, // POPA32 + 2803U, // POPDS16 + 2803U, // POPDS32 + 2818U, // POPES16 + 2818U, // POPES32 + 2529U, // POPF16 + 2422U, // POPF32 + 2713U, // POPF64 + 2833U, // POPFS16 + 2833U, // POPFS32 + 2833U, // POPFS64 + 2848U, // POPGS16 + 2848U, // POPGS32 + 2848U, // POPGS64 + 2870U, // POPSS16 + 2870U, // POPSS32 + 21062U, // PTWRITE64m + 4678U, // PTWRITE64r + 16966U, // PTWRITEm + 4678U, // PTWRITEr + 4761U, // PUSH16i8 + 4761U, // PUSH16r + 8857U, // PUSH16rmm + 4761U, // PUSH16rmr + 4761U, // PUSH32i8 + 4761U, // PUSH32r + 17049U, // PUSH32rmm + 4761U, // PUSH32rmr + 4761U, // PUSH64i32 + 4761U, // PUSH64i8 + 4761U, // PUSH64r + 21145U, // PUSH64rmm + 4761U, // PUSH64rmr + 2934U, // PUSHA16 + 2590U, // PUSHA32 + 2787U, // PUSHCS16 + 2787U, // PUSHCS32 + 2795U, // PUSHDS16 + 2795U, // PUSHDS32 + 2810U, // PUSHES16 + 2810U, // PUSHES32 + 2523U, // PUSHF16 + 2415U, // PUSHF32 + 2706U, // PUSHF64 + 2825U, // PUSHFS16 + 2825U, // PUSHFS32 + 2825U, // PUSHFS64 + 2840U, // PUSHGS16 + 2840U, // PUSHGS32 + 2840U, // PUSHGS64 + 2862U, // PUSHSS16 + 2862U, // PUSHSS32 + 4761U, // PUSHi16 + 4761U, // PUSHi32 + 8926U, // RCL16m1 + 2106078U, // RCL16mCL + 84157150U, // RCL16mi + 2364126U, // RCL16r1 + 2101982U, // RCL16rCL + 88347358U, // RCL16ri + 17118U, // RCL32m1 + 2114270U, // RCL32mCL + 84165342U, // RCL32mi + 2364126U, // RCL32r1 + 2101982U, // RCL32rCL + 88347358U, // RCL32ri + 21214U, // RCL64m1 + 2118366U, // RCL64mCL + 84169438U, // RCL64mi + 2364126U, // RCL64r1 + 2101982U, // RCL64rCL + 88347358U, // RCL64ri + 25310U, // RCL8m1 + 2122462U, // RCL8mCL + 84173534U, // RCL8mi + 2364126U, // RCL8r1 + 2101982U, // RCL8rCL + 88347358U, // RCL8ri + 2368517U, // RCR16m1 + 2106373U, // RCR16mCL + 84157445U, // RCR16mi + 2364421U, // RCR16r1 + 2102277U, // RCR16rCL + 88347653U, // RCR16ri + 2376709U, // RCR32m1 + 2114565U, // RCR32mCL + 84165637U, // RCR32mi + 2364421U, // RCR32r1 + 2102277U, // RCR32rCL + 88347653U, // RCR32ri + 2380805U, // RCR64m1 + 2118661U, // RCR64mCL + 84169733U, // RCR64mi + 2364421U, // RCR64r1 + 2102277U, // RCR64rCL + 88347653U, // RCR64ri + 2384901U, // RCR8m1 + 2122757U, // RCR8mCL + 84173829U, // RCR8mi + 2364421U, // RCR8r1 + 2102277U, // RCR8rCL + 88347653U, // RCR8ri + 4615U, // RDFSBASE + 4615U, // RDFSBASE64 + 4635U, // RDGSBASE + 4635U, // RDGSBASE64 + 2757U, // RDMSR + 4377U, // RDPID32 + 4377U, // RDPID64 + 2906U, // RDPKRUr + 2392U, // RDPMC + 4408U, // RDRAND16r + 4408U, // RDRAND32r + 4408U, // RDRAND64r + 4360U, // RDSEED16r + 4360U, // RDSEED32r + 4360U, // RDSEED64r + 4432U, // RDSSPD + 5062U, // RDSSPQ + 2405U, // RDTSC + 2675U, // RDTSCP + 2482U, // REPNE_PREFIX + 2682U, // REP_PREFIX + 5355U, // RETIL + 5355U, // RETIQ + 5355U, // RETIW + 2883U, // RETL + 2883U, // RETQ + 2883U, // RETW + 2232U, // REX64_PREFIX + 2368261U, // ROL16m1 + 2106117U, // ROL16mCL + 84157189U, // ROL16mi + 2364165U, // ROL16r1 + 2102021U, // ROL16rCL + 88347397U, // ROL16ri + 2376453U, // ROL32m1 + 2114309U, // ROL32mCL + 84165381U, // ROL32mi + 2364165U, // ROL32r1 + 2102021U, // ROL32rCL + 88347397U, // ROL32ri + 2380549U, // ROL64m1 + 2118405U, // ROL64mCL + 84169477U, // ROL64mi + 2364165U, // ROL64r1 + 2102021U, // ROL64rCL + 88347397U, // ROL64ri + 2384645U, // ROL8m1 + 2122501U, // ROL8mCL + 84173573U, // ROL8mi + 2364165U, // ROL8r1 + 2102021U, // ROL8rCL + 88347397U, // ROL8ri + 2368534U, // ROR16m1 + 2106390U, // ROR16mCL + 84157462U, // ROR16mi + 2364438U, // ROR16r1 + 2102294U, // ROR16rCL + 88347670U, // ROR16ri + 2376726U, // ROR32m1 + 2114582U, // ROR32mCL + 84165654U, // ROR32mi + 2364438U, // ROR32r1 + 2102294U, // ROR32rCL + 88347670U, // ROR32ri + 2380822U, // ROR64m1 + 2118678U, // ROR64mCL + 84169750U, // ROR64mi + 2364438U, // ROR64r1 + 2102294U, // ROR64rCL + 88347670U, // ROR64ri + 2384918U, // ROR8m1 + 2122774U, // ROR8mCL + 84173846U, // ROR8mi + 2364438U, // ROR8r1 + 2102294U, // ROR8rCL + 88347670U, // ROR8ri + 2311329188U, // RORX32mi + 2844005796U, // RORX32ri + 2315523492U, // RORX64mi + 2844005796U, // RORX64ri + 2655U, // RSM + 17311U, // RSTORSSP + 2518U, // SAHF + 2368209U, // SAL16m1 + 2106065U, // SAL16mCL + 271057U, // SAL16mi + 2364113U, // SAL16r1 + 2101969U, // SAL16rCL + 4461265U, // SAL16ri + 2376401U, // SAL32m1 + 2114257U, // SAL32mCL + 279249U, // SAL32mi + 2364113U, // SAL32r1 + 2101969U, // SAL32rCL + 4461265U, // SAL32ri + 2380497U, // SAL64m1 + 2118353U, // SAL64mCL + 283345U, // SAL64mi + 2364113U, // SAL64r1 + 2101969U, // SAL64rCL + 4461265U, // SAL64ri + 2384593U, // SAL8m1 + 2122449U, // SAL8mCL + 287441U, // SAL8mi + 2364113U, // SAL8r1 + 2101969U, // SAL8rCL + 4461265U, // SAL8ri + 2379U, // SALC + 2368512U, // SAR16m1 + 2106368U, // SAR16mCL + 84157440U, // SAR16mi + 2364416U, // SAR16r1 + 2102272U, // SAR16rCL + 88347648U, // SAR16ri + 2376704U, // SAR32m1 + 2114560U, // SAR32mCL + 84165632U, // SAR32mi + 2364416U, // SAR32r1 + 2102272U, // SAR32rCL + 88347648U, // SAR32ri + 2380800U, // SAR64m1 + 2118656U, // SAR64mCL + 84169728U, // SAR64mi + 2364416U, // SAR64r1 + 2102272U, // SAR64rCL + 88347648U, // SAR64ri + 2384896U, // SAR8m1 + 2122752U, // SAR8mCL + 84173824U, // SAR8mi + 2364416U, // SAR8r1 + 2102272U, // SAR8rCL + 88347648U, // SAR8ri + 1774458264U, // SARX32rm + 696522136U, // SARX32rr + 1778652568U, // SARX64rm + 696522136U, // SARX64rr + 2690U, // SAVEPREVSSP + 5714U, // SBB16i16 + 270455U, // SBB16mi + 270455U, // SBB16mi8 + 270455U, // SBB16mr + 4468855U, // SBB16ri + 4468855U, // SBB16ri8 + 8663159U, // SBB16rm + 4468855U, // SBB16rr + 4460663U, // SBB16rr_REV + 5838U, // SBB32i32 + 278647U, // SBB32mi + 278647U, // SBB32mi8 + 278647U, // SBB32mr + 4468855U, // SBB32ri + 4468855U, // SBB32ri8 + 12857463U, // SBB32rm + 4468855U, // SBB32rr + 4460663U, // SBB32rr_REV + 5975U, // SBB64i32 + 282743U, // SBB64mi32 + 282743U, // SBB64mi8 + 282743U, // SBB64mr + 4468855U, // SBB64ri32 + 4468855U, // SBB64ri8 + 17051767U, // SBB64rm + 4468855U, // SBB64rr + 4460663U, // SBB64rr_REV + 5590U, // SBB8i8 + 286839U, // SBB8mi + 286839U, // SBB8mi8 + 286839U, // SBB8mr + 4468855U, // SBB8ri + 4468855U, // SBB8ri8 + 21246071U, // SBB8rm + 4468855U, // SBB8rr + 4460663U, // SBB8rr_REV + 62943U, // SCASB + 67328U, // SCASL + 108435U, // SCASQ + 71352U, // SCASW + 24981U, // SETAEm + 4501U, // SETAEr + 24648U, // SETAm + 4168U, // SETAr + 25001U, // SETBEm + 4521U, // SETBEr + 24747U, // SETBm + 4267U, // SETBr + 25143U, // SETEm + 4663U, // SETEr + 25021U, // SETGEm + 4541U, // SETGEr + 25228U, // SETGm + 4748U, // SETGr + 25045U, // SETLEm + 4565U, // SETLEr + 25365U, // SETLm + 4885U, // SETLr + 25073U, // SETNEm + 4593U, // SETNEr + 25411U, // SETNOm + 4931U, // SETNOr + 25472U, // SETNPm + 4992U, // SETNPr + 25748U, // SETNSm + 5268U, // SETNSr + 25426U, // SETOm + 4946U, // SETOr + 25513U, // SETPm + 5033U, // SETPr + 3130U, // SETSSBSY + 25782U, // SETSm + 5302U, // SETSr + 54477U, // SGDT16m + 54477U, // SGDT32m + 54477U, // SGDT64m + 2368227U, // SHL16m1 + 2106083U, // SHL16mCL + 84157155U, // SHL16mi + 2364131U, // SHL16r1 + 2101987U, // SHL16rCL + 88347363U, // SHL16ri + 2376419U, // SHL32m1 + 2114275U, // SHL32mCL + 84165347U, // SHL32mi + 2364131U, // SHL32r1 + 2101987U, // SHL32rCL + 88347363U, // SHL32ri + 2380515U, // SHL64m1 + 2118371U, // SHL64mCL + 84169443U, // SHL64mi + 2364131U, // SHL64r1 + 2101987U, // SHL64rCL + 88347363U, // SHL64ri + 2384611U, // SHL8m1 + 2122467U, // SHL8mCL + 84173539U, // SHL8mi + 2364131U, // SHL8r1 + 2101987U, // SHL8rCL + 88347363U, // SHL8ri + 268706089U, // SHLD16mrCL + 2281972009U, // SHLD16mri8 + 272896297U, // SHLD16rrCL + 3359904041U, // SHLD16rri8 + 268714281U, // SHLD32mrCL + 2281980201U, // SHLD32mri8 + 272896297U, // SHLD32rrCL + 3359904041U, // SHLD32rri8 + 268718377U, // SHLD64mrCL + 2281984297U, // SHLD64mri8 + 272896297U, // SHLD64rrCL + 3359904041U, // SHLD64rri8 + 1774458246U, // SHLX32rm + 696522118U, // SHLX32rr + 1778652550U, // SHLX64rm + 696522118U, // SHLX64rr + 2368529U, // SHR16m1 + 2106385U, // SHR16mCL + 84157457U, // SHR16mi + 2364433U, // SHR16r1 + 2102289U, // SHR16rCL + 88347665U, // SHR16ri + 2376721U, // SHR32m1 + 2114577U, // SHR32mCL + 84165649U, // SHR32mi + 2364433U, // SHR32r1 + 2102289U, // SHR32rCL + 88347665U, // SHR32ri + 2380817U, // SHR64m1 + 2118673U, // SHR64mCL + 84169745U, // SHR64mi + 2364433U, // SHR64r1 + 2102289U, // SHR64rCL + 88347665U, // SHR64ri + 2384913U, // SHR8m1 + 2122769U, // SHR8mCL + 84173841U, // SHR8mi + 2364433U, // SHR8r1 + 2102289U, // SHR8rCL + 88347665U, // SHR8ri + 268706136U, // SHRD16mrCL + 2281972056U, // SHRD16mri8 + 272896344U, // SHRD16rrCL + 3359904088U, // SHRD16rri8 + 268714328U, // SHRD32mrCL + 2281980248U, // SHRD32mri8 + 272896344U, // SHRD32rrCL + 3359904088U, // SHRD32rri8 + 268718424U, // SHRD64mrCL + 2281984344U, // SHRD64mri8 + 272896344U, // SHRD64rrCL + 3359904088U, // SHRD64rri8 + 1774458270U, // SHRX32rm + 696522142U, // SHRX32rr + 1778652574U, // SHRX64rm + 696522142U, // SHRX64rr + 54489U, // SIDT16m + 54489U, // SIDT32m + 54489U, // SIDT64m + 2994U, // SKINIT + 9445U, // SLDT16m + 5349U, // SLDT16r + 5349U, // SLDT32r + 5349U, // SLDT64r + 4228U, // SLWPCB + 4228U, // SLWPCB64 + 9567U, // SMSW16m + 5471U, // SMSW16r + 5471U, // SMSW32r + 5471U, // SMSW64r + 2357U, // STAC + 2411U, // STC + 2444U, // STD + 2561U, // STGI + 2570U, // STI + 1896598U, // STOSB + 1376612U, // STOSL + 1680334U, // STOSQ + 1119595U, // STOSW + 5197U, // STR16r + 5197U, // STR32r + 5197U, // STR64r + 9293U, // STRm + 5723U, // SUB16i16 + 270513U, // SUB16mi + 270513U, // SUB16mi8 + 270513U, // SUB16mr + 4468913U, // SUB16ri + 4468913U, // SUB16ri8 + 8663217U, // SUB16rm + 4468913U, // SUB16rr + 4460721U, // SUB16rr_REV + 5848U, // SUB32i32 + 278705U, // SUB32mi + 278705U, // SUB32mi8 + 278705U, // SUB32mr + 4468913U, // SUB32ri + 4468913U, // SUB32ri8 + 12857521U, // SUB32rm + 4468913U, // SUB32rr + 4460721U, // SUB32rr_REV + 5985U, // SUB64i32 + 282801U, // SUB64mi32 + 282801U, // SUB64mi8 + 282801U, // SUB64mr + 4468913U, // SUB64ri32 + 4468913U, // SUB64ri8 + 17051825U, // SUB64rm + 4468913U, // SUB64rr + 4460721U, // SUB64rr_REV + 5621U, // SUB8i8 + 286897U, // SUB8mi + 286897U, // SUB8mi8 + 286897U, // SUB8mr + 4468913U, // SUB8ri + 4468913U, // SUB8ri8 + 21246129U, // SUB8rm + 4468913U, // SUB8rr + 4460721U, // SUB8rr_REV + 2855U, // SWAPGS + 2632U, // SYSCALL + 2748U, // SYSENTER + 2894U, // SYSEXIT + 2739U, // SYSEXIT64 + 2887U, // SYSRET + 2731U, // SYSRET64 + 29626595U, // T1MSKC32rm + 25432291U, // T1MSKC32rr + 33820899U, // T1MSKC64rm + 25432291U, // T1MSKC64rr + 5797U, // TEST16i16 + 271662U, // TEST16mi + 271662U, // TEST16mi_alt + 271662U, // TEST16mr + 25433390U, // TEST16ri + 25433390U, // TEST16ri_alt + 25433390U, // TEST16rr + 5954U, // TEST32i32 + 279854U, // TEST32mi + 279854U, // TEST32mi_alt + 279854U, // TEST32mr + 25433390U, // TEST32ri + 25433390U, // TEST32ri_alt + 25433390U, // TEST32rr + 6082U, // TEST64i32 + 283950U, // TEST64mi32 + 283950U, // TEST64mi32_alt + 283950U, // TEST64mr + 25433390U, // TEST64ri32 + 25433390U, // TEST64ri32_alt + 25433390U, // TEST64rr + 5695U, // TEST8i8 + 288046U, // TEST8mi + 288046U, // TEST8mi_alt + 288046U, // TEST8mr + 25433390U, // TEST8ri + 25433390U, // TEST8ri_alt + 25433390U, // TEST8rr + 4655U, // TPAUSE + 38016255U, // TZCNT16rm + 25433343U, // TZCNT16rr + 29627647U, // TZCNT32rm + 25433343U, // TZCNT32rr + 33821951U, // TZCNT64rm + 25433343U, // TZCNT64rr + 29627082U, // TZMSK32rm + 25432778U, // TZMSK32rr + 33821386U, // TZMSK64rm + 25432778U, // TZMSK64rr + 2188U, // UD0 + 2198U, // UD1 + 2215U, // UD2 + 5147U, // UMONITOR16 + 5147U, // UMONITOR32 + 5147U, // UMONITOR64 + 5360U, // UMWAIT + 9266U, // VERRm + 5170U, // VERRr + 9555U, // VERWm + 5459U, // VERWr + 2625U, // VMCALL + 21490U, // VMCLEARm + 2398U, // VMFUNC + 2547U, // VMLAUNCH + 2962U, // VMLOAD32 + 3017U, // VMLOAD64 + 2617U, // VMMCALL + 20783U, // VMPTRLDm + 21812U, // VMPTRSTm + 278778U, // VMREAD32mr + 25432314U, // VMREAD32rr + 282874U, // VMREAD64mr + 25432314U, // VMREAD64rr + 2473U, // VMRESUME + 2984U, // VMRUN32 + 3039U, // VMRUN64 + 2973U, // VMSAVE32 + 3028U, // VMSAVE64 + 29626941U, // VMWRITE32rm + 25432637U, // VMWRITE32rr + 33821245U, // VMWRITE64rm + 25432637U, // VMWRITE64rr + 2506U, // VMXOFF + 21299U, // VMXON + 2448U, // WBINVD + 2455U, // WBNOINVD + 4625U, // WRFSBASE + 4625U, // WRFSBASE64 + 4645U, // WRGSBASE + 4645U, // WRGSBASE64 + 2763U, // WRMSR + 2913U, // WRPKRUr + 278898U, // WRSSD + 283612U, // WRSSQ + 278905U, // WRUSSD + 283619U, // WRUSSQ + 110850U, // XADD16rm + 114946U, // XADD16rr + 119042U, // XADD32rm + 114946U, // XADD32rr + 123138U, // XADD64rm + 114946U, // XADD64rr + 127234U, // XADD8rm + 114946U, // XADD8rr + 1061498U, // XCHG16ar + 111226U, // XCHG16rm + 131706U, // XCHG16rr + 1323642U, // XCHG32ar + 119418U, // XCHG32rm + 131706U, // XCHG32rr + 1585786U, // XCHG64ar + 123514U, // XCHG64rm + 131706U, // XCHG64rr + 127610U, // XCHG8rm + 131706U, // XCHG8rr + 2362U, // XCRYPTCBC + 2326U, // XCRYPTCFB + 2769U, // XCRYPTCTR + 2316U, // XCRYPTECB + 2336U, // XCRYPTOFB + 2920U, // XGETBV + 2346U, // XLAT + 5776U, // XOR16i16 + 271405U, // XOR16mi + 271405U, // XOR16mi8 + 271405U, // XOR16mr + 4469805U, // XOR16ri + 4469805U, // XOR16ri8 + 8664109U, // XOR16rm + 4469805U, // XOR16rr + 4461613U, // XOR16rr_REV + 5931U, // XOR32i32 + 279597U, // XOR32mi + 279597U, // XOR32mi8 + 279597U, // XOR32mr + 4469805U, // XOR32ri + 4469805U, // XOR32ri8 + 12858413U, // XOR32rm + 4469805U, // XOR32rr + 4461613U, // XOR32rr_REV + 6059U, // XOR64i32 + 283693U, // XOR64mi32 + 283693U, // XOR64mi8 + 283693U, // XOR64mr + 4469805U, // XOR64ri32 + 4469805U, // XOR64ri8 + 17052717U, // XOR64rm + 4469805U, // XOR64rr + 4461613U, // XOR64rr_REV + 5674U, // XOR8i8 + 287789U, // XOR8mi + 287789U, // XOR8mi8 + 287789U, // XOR8mr + 4469805U, // XOR8ri + 4469805U, // XOR8ri8 + 21247021U, // XOR8rm + 4469805U, // XOR8rr + 4461613U, // XOR8rr_REV + 54309U, // XRSTOR + 53268U, // XRSTOR64 + 54435U, // XRSTORS + 53288U, // XRSTORS64 + 53849U, // XSAVE + 53259U, // XSAVE64 + 53453U, // XSAVEC + 53249U, // XSAVEC64 + 54552U, // XSAVEOPT + 53299U, // XSAVEOPT64 + 54385U, // XSAVES + 53278U, // XSAVES64 + 2927U, // XSETBV + 2192U, // XSHA1 + 2245U, // XSHA256 + 2493U, // XSTORE + }; + + unsigned int opcode = MCInst_getOpcode(MI); + // printf("opcode = %u\n", opcode); + + // Emit the opcode for the instruction. + uint32_t Bits = 0; + Bits |= OpInfo0[opcode] << 0; + SStream_concat0(O, AsmStrs+(Bits & 4095)-1); + + + // Fragment 0 encoded into 6 bits for 33 unique commands. + // printf("Fragment 0: %"PRIu64"\n", ((Bits >> 12) & 63)); + switch ((Bits >> 12) & 63) { + default: // unreachable + case 0: + // DBG_VALUE, DBG_LABEL, BUNDLE, LIFETIME_START, LIFETIME_END, FENTRY_CAL... + return; + break; + case 1: + // AAD8i8, AAM8i8, ADC16i16, ADC16rr_REV, ADC32i32, ADC32rr_REV, ADC64i32... + printOperand(MI, 0, O); + break; + case 2: + // ADC16mi, ADC16mi8, ADC16mr, ADD16mi, ADD16mi8, ADD16mr, AND16mi, AND16... + printi16mem(MI, 0, O); + break; + case 3: + // ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32... + printOperand(MI, 1, O); + break; + case 4: + // ADC32mi, ADC32mi8, ADC32mr, ADD32mi, ADD32mi8, ADD32mr, AND32mi, AND32... + printi32mem(MI, 0, O); + break; + case 5: + // ADC64mi32, ADC64mi8, ADC64mr, ADD64mi32, ADD64mi8, ADD64mr, AND64mi32,... + printi64mem(MI, 0, O); + break; + case 6: + // ADC8mi, ADC8mi8, ADC8mr, ADD8mi, ADD8mi8, ADD8mr, AND8mi, AND8mi8, AND... + printi8mem(MI, 0, O); + break; + case 7: + // CALL64pcrel32, CALLpcrel16, CALLpcrel32, JAE_1, JAE_2, JAE_4, JA_1, JA... + printPCRelImm(MI, 0, O); + return; + break; + case 8: + // CMPSB + printSrcIdx8(MI, 1, O); + SStream_concat0(O, ", "); + printDstIdx8(MI, 0, O); + return; + break; + case 9: + // CMPSL + printSrcIdx32(MI, 1, O); + SStream_concat0(O, ", "); + printDstIdx32(MI, 0, O); + return; + break; + case 10: + // CMPSQ + printSrcIdx64(MI, 1, O); + SStream_concat0(O, ", "); + printDstIdx64(MI, 0, O); + return; + break; + case 11: + // CMPSW + printSrcIdx16(MI, 1, O); + SStream_concat0(O, ", "); + printDstIdx16(MI, 0, O); + return; + break; + case 12: + // CMPXCHG16B + printi128mem(MI, 0, O); + return; + break; + case 13: + // FARCALL16m, FARCALL32m, FARCALL64, FARJMP16m, FARJMP32m, FARJMP64, LGD... + printopaquemem(MI, 0, O); + return; + break; + case 14: + // IN16ri, IN32ri, IN8ri, INT, OUT16ir, OUT32ir, OUT8ir + printU8Imm(MI, 0, O); + break; + case 15: + // INSB, MOVSB, SCASB, STOSB + printDstIdx8(MI, 0, O); + break; + case 16: + // INSL, MOVSL, SCASL, STOSL + printDstIdx32(MI, 0, O); + break; + case 17: + // INSW, MOVSW, SCASW, STOSW + printDstIdx16(MI, 0, O); + break; + case 18: + // LODSB, OUTSB + printSrcIdx8(MI, 0, O); + return; + break; + case 19: + // LODSL, OUTSL + printSrcIdx32(MI, 0, O); + return; + break; + case 20: + // LODSQ + printSrcIdx64(MI, 0, O); + return; + break; + case 21: + // LODSW, OUTSW + printSrcIdx16(MI, 0, O); + return; + break; + case 22: + // MOV16ao16, MOV16ao32, MOV16ao64, MOV16o16a, MOV16o32a, MOV16o64a + printMemOffs16(MI, 0, O); + break; + case 23: + // MOV32ao16, MOV32ao32, MOV32ao64, MOV32o16a, MOV32o32a, MOV32o64a + printMemOffs32(MI, 0, O); + break; + case 24: + // MOV64ao32, MOV64ao64, MOV64o32a, MOV64o64a + printMemOffs64(MI, 0, O); + break; + case 25: + // MOV8ao16, MOV8ao32, MOV8ao64, MOV8o16a, MOV8o32a, MOV8o64a + printMemOffs8(MI, 0, O); + break; + case 26: + // MOVSQ, SCASQ, STOSQ + printDstIdx64(MI, 0, O); + break; + case 27: + // XADD16rm, XCHG16rm + printi16mem(MI, 2, O); + SStream_concat0(O, ", "); + printOperand(MI, 1, O); + return; + break; + case 28: + // XADD16rr, XADD32rr, XADD64rr, XADD8rr + printOperand(MI, 2, O); + SStream_concat0(O, ", "); + printOperand(MI, 3, O); + return; + break; + case 29: + // XADD32rm, XCHG32rm + printi32mem(MI, 2, O); + SStream_concat0(O, ", "); + printOperand(MI, 1, O); + return; + break; + case 30: + // XADD64rm, XCHG64rm + printi64mem(MI, 2, O); + SStream_concat0(O, ", "); + printOperand(MI, 1, O); + return; + break; + case 31: + // XADD8rm, XCHG8rm + printi8mem(MI, 2, O); + SStream_concat0(O, ", "); + printOperand(MI, 1, O); + return; + break; + case 32: + // XCHG16rr, XCHG32rr, XCHG64rr, XCHG8rr + printOperand(MI, 3, O); + SStream_concat0(O, ", "); + printOperand(MI, 2, O); + return; + break; + } + + + // Fragment 1 encoded into 4 bits for 10 unique commands. + // printf("Fragment 1: %"PRIu64"\n", ((Bits >> 18) & 15)); + switch ((Bits >> 18) & 15) { + default: // unreachable + case 0: + // AAD8i8, AAM8i8, ADC16i16, ADC32i32, ADC64i32, ADC8i8, ADD16i16, ADD32i... + return; + break; + case 1: + // ADC16mi, ADC16mi8, ADC16mr, ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC16... + SStream_concat0(O, ", "); + break; + case 2: + // FARJMP16i, FARJMP32i + SStream_concat0(O, ":"); + printOperand(MI, 0, O); + return; + break; + case 3: + // INSB, INSL, INSW + SStream_concat0(O, ", dx"); + op_addReg(MI, X86_REG_DX); + return; + break; + case 4: + // MOV16o16a, MOV16o32a, MOV16o64a, OUT16ir, STOSW, XCHG16ar + SStream_concat0(O, ", ax"); + op_addReg(MI, X86_REG_AX); + return; + break; + case 5: + // MOV32o16a, MOV32o32a, MOV32o64a, OUT32ir, STOSL, XCHG32ar + SStream_concat0(O, ", eax"); + op_addReg(MI, X86_REG_EAX); + return; + break; + case 6: + // MOV64o32a, MOV64o64a, STOSQ, XCHG64ar + SStream_concat0(O, ", rax"); + op_addReg(MI, X86_REG_RAX); + return; + break; + case 7: + // MOV8o16a, MOV8o32a, MOV8o64a, OUT8ir, STOSB + SStream_concat0(O, ", al"); + op_addReg(MI, X86_REG_AL); + return; + break; + case 8: + // RCL16mCL, RCL16rCL, RCL32mCL, RCL32rCL, RCL64mCL, RCL64rCL, RCL8mCL, R... + SStream_concat0(O, ", cl"); + op_addReg(MI, X86_REG_CL); + return; + break; + case 9: + // RCL16r1, RCL32r1, RCL64r1, RCL8r1, RCR16m1, RCR16r1, RCR32m1, RCR32r1,... + SStream_concat0(O, ", 1"); + op_addImm(MI, 1); + return; + break; + } + + + // Fragment 2 encoded into 5 bits for 22 unique commands. + // printf("Fragment 2: %"PRIu64"\n", ((Bits >> 22) & 31)); + switch ((Bits >> 22) & 31) { + default: // unreachable + case 0: + // ADC16mi, ADC16mi8, ADC16mr, ADC32mi, ADC32mi8, ADC32mr, ADC64mi32, ADC... + printOperand(MI, 5, O); + break; + case 1: + // ADC16ri, ADC16ri8, ADC16rr, ADC16rr_REV, ADC32ri, ADC32ri8, ADC32rr, A... + printOperand(MI, 2, O); + break; + case 2: + // ADC16rm, ADD16rm, AND16rm, CMOVA16rm, CMOVAE16rm, CMOVB16rm, CMOVBE16r... + printi16mem(MI, 2, O); + return; + break; + case 3: + // ADC32rm, ADCX32rm, ADD32rm, ADOX32rm, AND32rm, CMOVA32rm, CMOVAE32rm, ... + printi32mem(MI, 2, O); + return; + break; + case 4: + // ADC64rm, ADCX64rm, ADD64rm, ADOX64rm, AND64rm, CMOVA64rm, CMOVAE64rm, ... + printi64mem(MI, 2, O); + return; + break; + case 5: + // ADC8rm, ADD8rm, AND8rm, OR8rm, SBB8rm, SUB8rm, XOR8rm + printi8mem(MI, 2, O); + return; + break; + case 6: + // ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, ARPL16rr, BEXTR32rr, BEXTR64rr... + printOperand(MI, 1, O); + break; + case 7: + // BEXTR32rm, BEXTRI32mi, BLCFILL32rm, BLCI32rm, BLCIC32rm, BLCMSK32rm, B... + printi32mem(MI, 1, O); + break; + case 8: + // BEXTR64rm, BEXTRI64mi, BLCFILL64rm, BLCI64rm, BLCIC64rm, BLCMSK64rm, B... + printi64mem(MI, 1, O); + break; + case 9: + // BSF16rm, BSR16rm, CMP16rm, IMUL16rmi, IMUL16rmi8, LAR16rm, LAR32rm, LA... + printi16mem(MI, 1, O); + break; + case 10: + // CMP8rm, MOV8rm, MOV8rm_NOREX, MOVSX16rm8, MOVSX32rm8, MOVSX32rm8_NOREX... + printi8mem(MI, 1, O); + return; + break; + case 11: + // FARCALL16i, FARCALL32i, NOOP19rr + printOperand(MI, 0, O); + return; + break; + case 12: + // INVEPT32, INVEPT64, INVPCID32, INVPCID64, INVVPID32, INVVPID64 + printi128mem(MI, 1, O); + return; + break; + case 13: + // LDS16rm, LDS32rm, LES16rm, LES32rm, LFS16rm, LFS32rm, LFS64rm, LGS16rm... + printopaquemem(MI, 1, O); + return; + break; + case 14: + // LEA16r, LEA32r, LEA64_32r, LEA64r + printanymem(MI, 1, O); + return; + break; + case 15: + // MOVDIR64B16, MOVDIR64B32, MOVDIR64B64 + printi512mem(MI, 1, O); + return; + break; + case 16: + // MOVSB + printSrcIdx8(MI, 1, O); + return; + break; + case 17: + // MOVSL + printSrcIdx32(MI, 1, O); + return; + break; + case 18: + // MOVSQ + printSrcIdx64(MI, 1, O); + return; + break; + case 19: + // MOVSW + printSrcIdx16(MI, 1, O); + return; + break; + case 20: + // RCL16mi, RCL32mi, RCL64mi, RCL8mi, RCR16mi, RCR32mi, RCR64mi, RCR8mi, ... + printU8Imm(MI, 5, O); + return; + break; + case 21: + // RCL16ri, RCL32ri, RCL64ri, RCL8ri, RCR16ri, RCR32ri, RCR64ri, RCR8ri, ... + printU8Imm(MI, 2, O); + return; + break; + } + + + // Fragment 3 encoded into 2 bits for 3 unique commands. + // printf("Fragment 3: %"PRIu64"\n", ((Bits >> 27) & 3)); + switch ((Bits >> 27) & 3) { + default: // unreachable + case 0: + // ADC16mi, ADC16mi8, ADC16mr, ADC16ri, ADC16ri8, ADC16rr, ADC16rr_REV, A... + return; + break; + case 1: + // ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, BEXTR32rm, BEXTR32rr, BEXTR64r... + SStream_concat0(O, ", "); + break; + case 2: + // SHLD16mrCL, SHLD16rrCL, SHLD32mrCL, SHLD32rrCL, SHLD64mrCL, SHLD64rrCL... + SStream_concat0(O, ", cl"); + op_addReg(MI, X86_REG_CL); + return; + break; + } + + + // Fragment 4 encoded into 3 bits for 7 unique commands. + // printf("Fragment 4: %"PRIu64"\n", ((Bits >> 29) & 7)); + switch ((Bits >> 29) & 7) { + default: // unreachable + case 0: + // ANDN32rm, MULX32rm, PDEP32rm, PEXT32rm + printi32mem(MI, 2, O); + return; + break; + case 1: + // ANDN32rr, ANDN64rr, BEXTR32rr, BEXTR64rr, BEXTRI32ri, BEXTRI64ri, BZHI... + printOperand(MI, 2, O); + return; + break; + case 2: + // ANDN64rm, MULX64rm, PDEP64rm, PEXT64rm + printi64mem(MI, 2, O); + return; + break; + case 3: + // BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL... + printOperand(MI, 6, O); + return; + break; + case 4: + // RORX32mi, RORX64mi, SHLD16mri8, SHLD32mri8, SHLD64mri8, SHRD16mri8, SH... + printU8Imm(MI, 6, O); + return; + break; + case 5: + // RORX32ri, RORX64ri + printU8Imm(MI, 2, O); + return; + break; + case 6: + // SHLD16rri8, SHLD32rri8, SHLD64rri8, SHRD16rri8, SHRD32rri8, SHRD64rri8 + printU8Imm(MI, 3, O); + return; + break; + } + +} + + + |