/*
 * This file is generated from insns.dat, regs.dat and token.dat
 * by tokhash.pl; do not edit.
 */

#include "compiler.h"
#include <string.h>
#include "nasm.h"
#include "hashtbl.h"
#include "insns.h"

struct tokendata {
    const char *string;
    int16_t tokentype;
    int16_t aux;
    int32_t num;
};

int nasm_token_hash(const char *token, struct tokenval *tv)
{
#define UNUSED 16383
    static const int16_t hash1[2048] = {
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        0,
        3054,
        UNUSED,
        907,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        765,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        950,
        3609,
        0,
        332,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        253,
        740,
        1180,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        -329,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -1314,
        1067,
        0,
        UNUSED,
        2954,
        0,
        125,
        0,
        -370,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -4,
        UNUSED,
        UNUSED,
        198,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        -194,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        351,
        553,
        0,
        UNUSED,
        910,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -1928,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        2643,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1071,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        812,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        1859,
        -159,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        1616,
        UNUSED,
        UNUSED,
        UNUSED,
        1,
        UNUSED,
        UNUSED,
        402,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        805,
        UNUSED,
        UNUSED,
        985,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        0,
        560,
        363,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1067,
        0,
        UNUSED,
        -848,
        0,
        1516,
        103,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1798,
        184,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -1712,
        1207,
        UNUSED,
        UNUSED,
        UNUSED,
        762,
        239,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        -189,
        UNUSED,
        UNUSED,
        UNUSED,
        3566,
        UNUSED,
        0,
        UNUSED,
        0,
        550,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -313,
        -2555,
        0,
        UNUSED,
        0,
        0,
        972,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        1089,
        UNUSED,
        178,
        0,
        0,
        UNUSED,
        0,
        765,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        1225,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        165,
        1379,
        -275,
        UNUSED,
        105,
        UNUSED,
        3076,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1191,
        0,
        UNUSED,
        0,
        217,
        UNUSED,
        1017,
        UNUSED,
        17,
        -1938,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1106,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -249,
        UNUSED,
        UNUSED,
        UNUSED,
        1398,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        1401,
        UNUSED,
        UNUSED,
        70,
        1259,
        UNUSED,
        0,
        UNUSED,
        75,
        1502,
        1399,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        2024,
        0,
        UNUSED,
        1180,
        0,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        1501,
        47,
        UNUSED,
        0,
        -334,
        UNUSED,
        -1802,
        0,
        UNUSED,
        0,
        810,
        UNUSED,
        0,
        1253,
        UNUSED,
        96,
        UNUSED,
        0,
        -431,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        272,
        0,
        0,
        464,
        -1895,
        1975,
        -785,
        895,
        0,
        1352,
        1445,
        UNUSED,
        0,
        0,
        -357,
        UNUSED,
        322,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        714,
        458,
        -914,
        1003,
        1946,
        UNUSED,
        0,
        26,
        663,
        UNUSED,
        1337,
        0,
        1155,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        326,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        391,
        924,
        0,
        -378,
        451,
        3736,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1164,
        416,
        UNUSED,
        UNUSED,
        -916,
        UNUSED,
        UNUSED,
        UNUSED,
        1513,
        UNUSED,
        808,
        1000,
        UNUSED,
        -654,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        957,
        2024,
        UNUSED,
        UNUSED,
        -43,
        UNUSED,
        UNUSED,
        630,
        886,
        1595,
        2552,
        1146,
        UNUSED,
        0,
        UNUSED,
        0,
        206,
        UNUSED,
        UNUSED,
        0,
        941,
        UNUSED,
        610,
        1438,
        UNUSED,
        1110,
        UNUSED,
        0,
        1260,
        2270,
        0,
        527,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -692,
        0,
        0,
        11,
        -124,
        -147,
        UNUSED,
        0,
        UNUSED,
        -39,
        -1675,
        0,
        0,
        605,
        UNUSED,
        0,
        68,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        -1564,
        0,
        -657,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -9,
        UNUSED,
        1801,
        907,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -1143,
        UNUSED,
        95,
        UNUSED,
        UNUSED,
        1358,
        -260,
        UNUSED,
        0,
        0,
        0,
        -1771,
        UNUSED,
        2003,
        0,
        UNUSED,
        1013,
        1270,
        0,
        1734,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        105,
        0,
        UNUSED,
        596,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2584,
        0,
        447,
        UNUSED,
        2158,
        UNUSED,
        UNUSED,
        0,
        0,
        543,
        UNUSED,
        324,
        3271,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -880,
        425,
        343,
        2017,
        0,
        UNUSED,
        UNUSED,
        904,
        0,
        UNUSED,
        0,
        1226,
        0,
        0,
        UNUSED,
        UNUSED,
        254,
        0,
        1487,
        -1902,
        227,
        1394,
        -1953,
        324,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        744,
        1122,
        1965,
        -196,
        726,
        582,
        1004,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1192,
        957,
        0,
        1517,
        724,
        UNUSED,
        UNUSED,
        1386,
        UNUSED,
        UNUSED,
        2297,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -629,
        UNUSED,
        UNUSED,
        UNUSED,
        2804,
        UNUSED,
        UNUSED,
        55,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -152,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        362,
        0,
        UNUSED,
        -316,
        UNUSED,
        1278,
        UNUSED,
        136,
        UNUSED,
        9,
        1551,
        UNUSED,
        UNUSED,
        953,
        1417,
        UNUSED,
        418,
        UNUSED,
        -249,
        -908,
        UNUSED,
        1192,
        217,
        -325,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        77,
        -194,
        UNUSED,
        UNUSED,
        0,
        -20,
        UNUSED,
        179,
        -681,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -548,
        1776,
        665,
        UNUSED,
        UNUSED,
        0,
        403,
        -174,
        1134,
        UNUSED,
        53,
        2680,
        175,
        1458,
        UNUSED,
        UNUSED,
        -692,
        0,
        0,
        2322,
        UNUSED,
        0,
        1173,
        -195,
        998,
        -196,
        -359,
        UNUSED,
        1166,
        676,
        UNUSED,
        -17,
        UNUSED,
        UNUSED,
        219,
        UNUSED,
        UNUSED,
        1462,
        710,
        UNUSED,
        809,
        1264,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1422,
        UNUSED,
        UNUSED,
        1666,
        UNUSED,
        1195,
        UNUSED,
        0,
        99,
        707,
        UNUSED,
        0,
        1709,
        0,
        UNUSED,
        829,
        UNUSED,
        267,
        3783,
        UNUSED,
        UNUSED,
        869,
        0,
        3520,
        908,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -866,
        UNUSED,
        725,
        UNUSED,
        10,
        1463,
        UNUSED,
        1865,
        929,
        717,
        818,
        -358,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        281,
        787,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        859,
        UNUSED,
        -1831,
        UNUSED,
        -847,
        UNUSED,
        0,
        751,
        3729,
        439,
        -159,
        UNUSED,
        -283,
        1477,
        UNUSED,
        UNUSED,
        UNUSED,
        1200,
        0,
        382,
        -375,
        641,
        241,
        1508,
        675,
        2893,
        -1087,
        UNUSED,
        UNUSED,
        318,
        UNUSED,
        411,
        148,
        UNUSED,
        1047,
        UNUSED,
        557,
        UNUSED,
        -531,
        UNUSED,
        0,
        UNUSED,
        1430,
        UNUSED,
        UNUSED,
        681,
        856,
        2001,
        UNUSED,
        UNUSED,
        -754,
        245,
        UNUSED,
        UNUSED,
        1146,
        UNUSED,
        291,
        -559,
        -535,
        -700,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        1518,
        UNUSED,
        UNUSED,
        1625,
        -346,
        899,
        UNUSED,
        UNUSED,
        45,
        1124,
        UNUSED,
        1686,
        0,
        1006,
        UNUSED,
        UNUSED,
        0,
        -1060,
        566,
        0,
        252,
        44,
        200,
        81,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        370,
        0,
        UNUSED,
        -989,
        -544,
        -1211,
        -61,
        0,
        470,
        1780,
        0,
        706,
        309,
        UNUSED,
        UNUSED,
        -407,
        979,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        273,
        UNUSED,
        620,
        -435,
        835,
        UNUSED,
        276,
        3149,
        UNUSED,
        UNUSED,
        427,
        -200,
        UNUSED,
        1012,
        25,
        0,
        1420,
        UNUSED,
        -432,
        245,
        UNUSED,
        UNUSED,
        652,
        UNUSED,
        -1208,
        UNUSED,
        445,
        UNUSED,
        290,
        UNUSED,
        UNUSED,
        UNUSED,
        -503,
        UNUSED,
        564,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        32,
        -7,
        UNUSED,
        1697,
        558,
        0,
        UNUSED,
        0,
        UNUSED,
        490,
        UNUSED,
        UNUSED,
        UNUSED,
        857,
        -1336,
        199,
        1406,
        1120,
        322,
        UNUSED,
        1756,
        UNUSED,
        402,
        UNUSED,
        1212,
        UNUSED,
        UNUSED,
        UNUSED,
        1648,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1687,
        0,
        UNUSED,
        UNUSED,
        1531,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -263,
        UNUSED,
        -58,
        1455,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1165,
        -257,
        152,
        -329,
        UNUSED,
        903,
        731,
        168,
        1495,
        943,
        277,
        -411,
        UNUSED,
        2431,
        742,
        UNUSED,
        UNUSED,
        UNUSED,
        668,
        UNUSED,
        0,
        0,
        82,
        UNUSED,
        -170,
        UNUSED,
        1056,
        UNUSED,
        UNUSED,
        UNUSED,
        697,
        UNUSED,
        UNUSED,
        -284,
        1237,
        414,
        UNUSED,
        3024,
        1499,
        -271,
        -778,
        UNUSED,
        UNUSED,
        -472,
        UNUSED,
        836,
        -160,
        475,
        UNUSED,
        UNUSED,
        UNUSED,
        1121,
        -2322,
        UNUSED,
        871,
        1065,
        UNUSED,
        0,
        1125,
        UNUSED,
        UNUSED,
        UNUSED,
        -2115,
        UNUSED,
        1055,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1129,
        1084,
        0,
        408,
        UNUSED,
        1676,
        1137,
        -261,
        0,
        511,
        UNUSED,
        1142,
        UNUSED,
        233,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        496,
        1248,
        UNUSED,
        0,
        UNUSED,
        -495,
        UNUSED,
        UNUSED,
        UNUSED,
        1119,
        -210,
        UNUSED,
        UNUSED,
        UNUSED,
        2097,
        2401,
        UNUSED,
        0,
        166,
        1437,
        UNUSED,
        UNUSED,
        UNUSED,
        704,
        UNUSED,
        478,
        -401,
        637,
        -1356,
        1718,
        -678,
        1297,
        UNUSED,
        UNUSED,
        19,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1920,
        60,
        UNUSED,
        UNUSED,
        UNUSED,
        368,
        UNUSED,
        UNUSED,
        644,
        UNUSED,
        0,
        86,
        254,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1348,
        1392,
        UNUSED,
        UNUSED,
        749,
        UNUSED,
        UNUSED,
        1567,
        UNUSED,
        UNUSED,
        395,
        979,
        1652,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1538,
        694,
        UNUSED,
        52,
        401,
        829,
        615,
        UNUSED,
        328,
        -931,
        UNUSED,
        UNUSED,
        0,
        1442,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        1671,
        0,
        0,
        992,
        0,
        UNUSED,
        UNUSED,
        1769,
        258,
        UNUSED,
        -112,
        UNUSED,
        -62,
        399,
        951,
        UNUSED,
        1940,
        UNUSED,
        UNUSED,
        205,
        281,
        UNUSED,
        UNUSED,
        UNUSED,
        -2553,
        812,
        UNUSED,
        4154,
        33,
        UNUSED,
        UNUSED,
        UNUSED,
        182,
        213,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        1606,
        UNUSED,
        1775,
        292,
        -498,
        UNUSED,
        -2435,
        935,
        1432,
        UNUSED,
        -984,
        4160,
        -69,
        -240,
        UNUSED,
        1281,
        UNUSED,
        145,
        UNUSED,
        UNUSED,
        1502,
        763,
        UNUSED,
        364,
        1091,
        344,
        UNUSED,
        -1663,
        -217,
        UNUSED,
        UNUSED,
        1144,
        369,
        1746,
        UNUSED,
        UNUSED,
        UNUSED,
        -805,
        1428,
        1343,
        919,
        UNUSED,
        1056,
        1281,
        -177,
        UNUSED,
        650,
        UNUSED,
        UNUSED,
        UNUSED,
        1631,
        1686,
        UNUSED,
        977,
        UNUSED,
        1336,
        UNUSED,
        844,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1649,
        1647,
        2019,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        84,
        UNUSED,
        UNUSED,
        485,
        941,
        UNUSED,
        1614,
        UNUSED,
        755,
        -980,
        -1737,
        418,
        3011,
        889,
        1087,
        UNUSED,
        -619,
        -53,
        209,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1555,
        433,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -451,
        UNUSED,
        0,
        UNUSED,
        1254,
        1702,
        UNUSED,
        175,
        UNUSED,
        UNUSED,
        3451,
        1522,
        1135,
        969,
        534,
        UNUSED,
        1129,
        UNUSED,
        UNUSED,
        1416,
        903,
        UNUSED,
        825,
        35,
        634,
        UNUSED,
        UNUSED,
        UNUSED,
        301,
        1098,
        UNUSED,
        2070,
        -565,
        UNUSED,
        -16,
        457,
        583,
        UNUSED,
        1510,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -550,
        824,
        UNUSED,
        849,
        1967,
        UNUSED,
        0,
        0,
        1109,
        UNUSED,
        1592,
        UNUSED,
        1122,
        -437,
        UNUSED,
        -510,
        UNUSED,
        UNUSED,
        949,
        747,
        842,
        UNUSED,
        -341,
        1028,
        1702,
        1568,
        UNUSED,
        1719,
        UNUSED,
        1537,
        3295,
        UNUSED,
        -583,
        UNUSED,
        58,
        UNUSED,
        UNUSED,
        352,
        838,
        601,
        UNUSED,
        387,
        942,
        505,
        0,
        UNUSED,
        UNUSED,
        126,
        1097,
        UNUSED,
        159,
        UNUSED,
        UNUSED,
        1413,
        UNUSED,
        UNUSED,
        1130,
        UNUSED,
        507,
        1152,
        1003,
        UNUSED,
        UNUSED,
        0,
        302,
        1341,
        867,
        0,
        UNUSED,
        UNUSED,
        580,
        476,
        UNUSED,
        UNUSED,
        278,
        UNUSED,
        -184,
        1070,
        1182,
        UNUSED,
        UNUSED,
        1590,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        885,
        1673,
        874,
        1239,
        UNUSED,
        1623,
        21,
        UNUSED,
        627,
        887,
        UNUSED,
        UNUSED,
        -124,
        1247,
        0,
        28,
        287,
        UNUSED,
        UNUSED,
        UNUSED,
        1880,
        5,
        UNUSED,
        -491,
        1007,
        UNUSED,
        UNUSED,
        UNUSED,
        845,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1063,
        118,
        989,
        571,
        1304,
        2422,
        536,
        UNUSED,
        815,
        UNUSED,
        582,
        2073,
        UNUSED,
        UNUSED,
        549,
        UNUSED,
        UNUSED,
        480,
        1374,
        UNUSED,
        0,
        709,
        UNUSED,
        1493,
        UNUSED,
        429,
        531,
        1534,
        -624,
        2709,
        UNUSED,
        -324,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        618,
        UNUSED,
        56,
        UNUSED,
        -67,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        308,
        -713,
        UNUSED,
        173,
        1391,
        735,
        191,
        -561,
        -150,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -469,
        751,
        699,
        481,
        UNUSED,
        1108,
        UNUSED,
        UNUSED,
        263,
        646,
        932,
        UNUSED,
        UNUSED,
        -190,
        UNUSED,
        1051,
        1610,
        UNUSED,
        -846,
        UNUSED,
        UNUSED,
        UNUSED,
        -608,
        0,
        -437,
        UNUSED,
        UNUSED,
        1019,
        0,
        930,
        -625,
        2958,
        135,
        697,
        UNUSED,
        UNUSED,
        585,
        UNUSED,
        -641,
        679,
        UNUSED,
        468,
        122,
        UNUSED,
        -135,
        747,
        UNUSED,
        UNUSED,
        1497,
        UNUSED,
        2077,
        1333,
        383,
        851,
        782,
        319,
        1412,
        1243,
        UNUSED,
        UNUSED,
        566,
        UNUSED,
        1405,
        209,
        444,
        UNUSED,
        -618,
        379,
        UNUSED,
        UNUSED,
        48,
        UNUSED,
        UNUSED,
        76,
        UNUSED,
        UNUSED,
        241,
        95,
        2693,
        UNUSED,
        UNUSED,
        -177,
        UNUSED,
        UNUSED,
        19,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        896,
        1269,
        -147,
        UNUSED,
        UNUSED,
        UNUSED,
        2083,
        529,
        297,
        989,
        UNUSED,
        UNUSED,
        14,
        336,
        UNUSED,
        1198,
        1227,
        941,
        UNUSED,
        UNUSED,
        UNUSED,
        1264,
        -1483,
        1703,
        1179,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -105,
        1650,
        0,
        UNUSED,
        911,
        1482,
        264,
        138,
        UNUSED,
        UNUSED,
        1529,
        1265,
        0,
        818,
        -438,
        380,
        9,
        1371,
        UNUSED,
        UNUSED,
        212,
        UNUSED,
        UNUSED,
        -187,
        882,
        UNUSED,
        1751,
        1287,
        910,
        UNUSED,
        UNUSED,
        825,
        UNUSED,
        UNUSED,
        899,
        UNUSED,
        1699,
        834,
        UNUSED,
        UNUSED,
        -122,
        1305,
        1731,
        -733,
        392,
        541,
        1068,
        353,
        UNUSED,
        578,
        UNUSED,
        346,
        1150,
        UNUSED,
        818,
        UNUSED,
        -2201,
        1118,
        UNUSED,
        857,
        -343,
        2079,
        UNUSED,
        56,
        -276,
        UNUSED,
        1573,
        384,
        UNUSED,
        UNUSED,
        UNUSED,
        518,
        UNUSED,
        4824,
        UNUSED,
        955,
        UNUSED,
        270,
        UNUSED,
        167,
        248,
        -746,
        UNUSED,
        UNUSED,
        715,
        870,
        UNUSED,
        261,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        407,
        UNUSED,
        UNUSED,
        -865,
        1069,
        0,
        1137,
        508,
        793,
        UNUSED,
        1717,
        UNUSED,
        482,
        938,
        1293,
        1029,
        2998,
        UNUSED,
        -353,
        UNUSED,
        462,
        1004,
        888,
        UNUSED,
        -411,
        UNUSED,
        -1003,
        UNUSED,
        342,
        UNUSED,
        UNUSED,
        UNUSED,
        1929,
        UNUSED,
        1584,
        770,
        1038,
        223,
        UNUSED,
        2040,
        UNUSED,
        UNUSED,
        842,
        1532,
        UNUSED,
        571,
        UNUSED,
        1053,
        UNUSED,
        300,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        720,
        UNUSED,
        1342,
        -802,
        UNUSED,
        0,
        741,
        799,
        UNUSED,
        726,
        UNUSED,
        1791,
        UNUSED,
        993,
        UNUSED,
        1749,
        UNUSED,
        1178,
        -674,
        UNUSED,
        1063,
        1559,
        -519,
        -765,
        997,
        UNUSED,
        -398,
        UNUSED,
        -112,
        UNUSED,
        3714,
        1563,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        148,
        678,
        1262,
        UNUSED,
        UNUSED,
        1236,
        UNUSED,
        341,
        UNUSED,
        1351,
        1047,
        1307,
        UNUSED,
        -106,
        643,
        UNUSED,
        1713,
        419,
        40,
        347,
        626,
        1892,
        758,
        UNUSED,
        -948,
        UNUSED,
        171,
        1230,
        UNUSED,
        2,
        10,
        UNUSED,
        652,
        -423,
        2053,
        2123,
        51,
        UNUSED,
        UNUSED,
        1462,
        UNUSED,
        UNUSED,
        -602,
        UNUSED,
        849,
        UNUSED,
        951,
        UNUSED,
        1217,
        1633,
        332,
        43,
        1436,
        388,
        3162,
        -62,
        1600,
        UNUSED,
        1465,
        141,
        46,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -417,
        276,
        UNUSED,
        1191,
        -50,
        UNUSED,
        890,
        UNUSED,
        34,
        -851,
        931,
        UNUSED,
        339,
        22,
        -70,
        249,
        UNUSED,
        1053,
        UNUSED,
        UNUSED,
        52,
        -160,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        655,
        1214,
        UNUSED,
        UNUSED,
        UNUSED,
        863,
        UNUSED,
        UNUSED,
        -1908,
        775,
        UNUSED,
        UNUSED,
        333,
        463,
        UNUSED,
        537,
        UNUSED,
        64,
        1339,
        582,
        1641,
        -1226,
        UNUSED,
        UNUSED,
    };
    static const int16_t hash2[2048] = {
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        677,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        357,
        0,
        UNUSED,
        UNUSED,
        609,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        54,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        -993,
        653,
        0,
        UNUSED,
        0,
        555,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        589,
        0,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        -2741,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        -610,
        0,
        -66,
        1222,
        UNUSED,
        0,
        0,
        1111,
        0,
        UNUSED,
        UNUSED,
        -1353,
        0,
        713,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        78,
        0,
        -631,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        2704,
        UNUSED,
        UNUSED,
        0,
        224,
        1703,
        0,
        742,
        0,
        947,
        0,
        UNUSED,
        -868,
        UNUSED,
        UNUSED,
        UNUSED,
        -742,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -1252,
        -843,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1517,
        UNUSED,
        UNUSED,
        171,
        UNUSED,
        0,
        1593,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        914,
        UNUSED,
        0,
        837,
        UNUSED,
        UNUSED,
        0,
        314,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -628,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        811,
        431,
        1256,
        UNUSED,
        0,
        1618,
        UNUSED,
        1117,
        UNUSED,
        1079,
        0,
        0,
        0,
        -881,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        -220,
        1549,
        444,
        UNUSED,
        2534,
        UNUSED,
        310,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2230,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        -72,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        0,
        697,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        2654,
        450,
        511,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -821,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        1376,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1511,
        UNUSED,
        -655,
        1553,
        UNUSED,
        UNUSED,
        143,
        UNUSED,
        0,
        -1510,
        458,
        517,
        0,
        UNUSED,
        917,
        UNUSED,
        0,
        692,
        0,
        0,
        UNUSED,
        2045,
        UNUSED,
        UNUSED,
        UNUSED,
        -1069,
        UNUSED,
        1046,
        UNUSED,
        0,
        -1209,
        UNUSED,
        -471,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        175,
        UNUSED,
        0,
        UNUSED,
        2561,
        UNUSED,
        UNUSED,
        1491,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -558,
        0,
        1048,
        -241,
        UNUSED,
        UNUSED,
        1773,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -2026,
        UNUSED,
        UNUSED,
        -762,
        0,
        345,
        384,
        124,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        420,
        1103,
        -2928,
        0,
        -426,
        UNUSED,
        -472,
        0,
        UNUSED,
        0,
        421,
        1439,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        312,
        UNUSED,
        UNUSED,
        366,
        UNUSED,
        -200,
        0,
        0,
        0,
        1135,
        -701,
        1002,
        183,
        UNUSED,
        0,
        0,
        3277,
        UNUSED,
        1185,
        UNUSED,
        UNUSED,
        727,
        0,
        UNUSED,
        0,
        0,
        2371,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        701,
        1750,
        0,
        UNUSED,
        384,
        38,
        UNUSED,
        0,
        -573,
        UNUSED,
        UNUSED,
        362,
        UNUSED,
        0,
        1582,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        217,
        2343,
        2463,
        0,
        UNUSED,
        0,
        1776,
        0,
        2304,
        0,
        -763,
        240,
        UNUSED,
        UNUSED,
        UNUSED,
        1426,
        UNUSED,
        UNUSED,
        0,
        1774,
        239,
        UNUSED,
        UNUSED,
        UNUSED,
        -2524,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        3448,
        UNUSED,
        0,
        0,
        0,
        1639,
        2135,
        0,
        1134,
        UNUSED,
        -234,
        0,
        0,
        0,
        0,
        -873,
        -1984,
        UNUSED,
        UNUSED,
        1477,
        802,
        0,
        0,
        UNUSED,
        -181,
        2722,
        2109,
        UNUSED,
        993,
        -177,
        -122,
        0,
        UNUSED,
        59,
        -2572,
        0,
        1757,
        UNUSED,
        760,
        UNUSED,
        UNUSED,
        UNUSED,
        510,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1062,
        164,
        UNUSED,
        0,
        -133,
        225,
        UNUSED,
        26,
        -314,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        -216,
        2768,
        -1013,
        UNUSED,
        3251,
        -260,
        UNUSED,
        0,
        689,
        0,
        0,
        UNUSED,
        -103,
        1426,
        UNUSED,
        UNUSED,
        1022,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        986,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        -741,
        0,
        764,
        UNUSED,
        0,
        954,
        UNUSED,
        UNUSED,
        880,
        UNUSED,
        -1045,
        321,
        -508,
        -573,
        UNUSED,
        1042,
        -361,
        75,
        0,
        UNUSED,
        1267,
        926,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        466,
        UNUSED,
        1188,
        -1641,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        1669,
        2115,
        0,
        UNUSED,
        -176,
        -172,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1933,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        905,
        405,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        186,
        133,
        0,
        UNUSED,
        1654,
        0,
        1323,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -63,
        1421,
        UNUSED,
        853,
        725,
        0,
        UNUSED,
        UNUSED,
        1088,
        UNUSED,
        163,
        UNUSED,
        670,
        1016,
        UNUSED,
        UNUSED,
        UNUSED,
        1668,
        561,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -1050,
        1410,
        UNUSED,
        246,
        0,
        UNUSED,
        UNUSED,
        1554,
        0,
        1289,
        UNUSED,
        UNUSED,
        642,
        UNUSED,
        UNUSED,
        UNUSED,
        404,
        -3457,
        -405,
        -1230,
        UNUSED,
        UNUSED,
        0,
        -894,
        1375,
        0,
        705,
        UNUSED,
        1001,
        1227,
        UNUSED,
        177,
        1359,
        8,
        UNUSED,
        -262,
        UNUSED,
        0,
        0,
        108,
        UNUSED,
        1608,
        -1045,
        UNUSED,
        -768,
        UNUSED,
        23,
        UNUSED,
        UNUSED,
        UNUSED,
        612,
        0,
        798,
        0,
        UNUSED,
        1051,
        UNUSED,
        UNUSED,
        UNUSED,
        1357,
        -214,
        -73,
        UNUSED,
        UNUSED,
        741,
        UNUSED,
        -511,
        UNUSED,
        866,
        UNUSED,
        UNUSED,
        1143,
        942,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        1259,
        -58,
        1153,
        0,
        37,
        UNUSED,
        UNUSED,
        UNUSED,
        1385,
        0,
        1112,
        225,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        553,
        801,
        190,
        456,
        UNUSED,
        -1397,
        -3255,
        85,
        565,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        495,
        UNUSED,
        UNUSED,
        155,
        UNUSED,
        356,
        0,
        UNUSED,
        309,
        0,
        1768,
        1184,
        534,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        599,
        UNUSED,
        0,
        551,
        UNUSED,
        0,
        UNUSED,
        72,
        UNUSED,
        UNUSED,
        934,
        0,
        1657,
        184,
        1160,
        10,
        UNUSED,
        UNUSED,
        472,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -2846,
        460,
        1556,
        1803,
        638,
        238,
        -105,
        0,
        UNUSED,
        UNUSED,
        0,
        386,
        UNUSED,
        0,
        0,
        UNUSED,
        587,
        -922,
        18,
        UNUSED,
        UNUSED,
        0,
        194,
        0,
        294,
        274,
        UNUSED,
        UNUSED,
        673,
        351,
        UNUSED,
        0,
        -311,
        UNUSED,
        -2792,
        0,
        -567,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        996,
        826,
        0,
        477,
        UNUSED,
        UNUSED,
        524,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        506,
        1393,
        UNUSED,
        UNUSED,
        0,
        778,
        UNUSED,
        78,
        UNUSED,
        999,
        0,
        0,
        606,
        460,
        UNUSED,
        1582,
        -15,
        0,
        806,
        UNUSED,
        UNUSED,
        489,
        140,
        485,
        1234,
        0,
        UNUSED,
        -344,
        0,
        UNUSED,
        -612,
        UNUSED,
        465,
        UNUSED,
        UNUSED,
        -608,
        221,
        825,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1665,
        UNUSED,
        UNUSED,
        134,
        UNUSED,
        -308,
        517,
        0,
        -596,
        UNUSED,
        486,
        1199,
        UNUSED,
        391,
        716,
        0,
        UNUSED,
        UNUSED,
        38,
        UNUSED,
        58,
        UNUSED,
        1065,
        1200,
        1519,
        132,
        52,
        2054,
        792,
        UNUSED,
        UNUSED,
        1489,
        UNUSED,
        0,
        534,
        UNUSED,
        0,
        702,
        UNUSED,
        UNUSED,
        0,
        754,
        1255,
        UNUSED,
        1699,
        UNUSED,
        UNUSED,
        561,
        0,
        636,
        UNUSED,
        -2759,
        0,
        128,
        0,
        279,
        UNUSED,
        -1251,
        0,
        1049,
        2041,
        UNUSED,
        UNUSED,
        470,
        UNUSED,
        UNUSED,
        UNUSED,
        1372,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        39,
        UNUSED,
        1241,
        302,
        0,
        -1829,
        1580,
        -730,
        UNUSED,
        UNUSED,
        UNUSED,
        -768,
        521,
        -124,
        -175,
        UNUSED,
        0,
        0,
        UNUSED,
        -589,
        359,
        -1199,
        UNUSED,
        UNUSED,
        UNUSED,
        706,
        1557,
        UNUSED,
        UNUSED,
        -526,
        1673,
        UNUSED,
        1647,
        UNUSED,
        0,
        UNUSED,
        478,
        1707,
        0,
        UNUSED,
        681,
        UNUSED,
        94,
        UNUSED,
        1754,
        UNUSED,
        UNUSED,
        UNUSED,
        -624,
        UNUSED,
        1330,
        UNUSED,
        UNUSED,
        UNUSED,
        1427,
        UNUSED,
        778,
        1570,
        UNUSED,
        631,
        1476,
        -139,
        1271,
        0,
        UNUSED,
        776,
        -102,
        232,
        1543,
        487,
        -300,
        217,
        1030,
        1177,
        825,
        566,
        1117,
        -1427,
        UNUSED,
        705,
        1195,
        1725,
        UNUSED,
        1522,
        442,
        UNUSED,
        330,
        2646,
        -161,
        1249,
        1743,
        UNUSED,
        739,
        UNUSED,
        1761,
        0,
        UNUSED,
        UNUSED,
        226,
        511,
        -330,
        1082,
        UNUSED,
        1571,
        0,
        UNUSED,
        1519,
        -188,
        1589,
        896,
        1106,
        UNUSED,
        1709,
        UNUSED,
        UNUSED,
        708,
        0,
        UNUSED,
        930,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        3041,
        594,
        744,
        0,
        UNUSED,
        UNUSED,
        -844,
        18,
        UNUSED,
        894,
        UNUSED,
        UNUSED,
        1044,
        -935,
        -308,
        UNUSED,
        810,
        -383,
        837,
        UNUSED,
        UNUSED,
        1294,
        1541,
        UNUSED,
        623,
        UNUSED,
        1581,
        UNUSED,
        UNUSED,
        1311,
        1201,
        -524,
        UNUSED,
        UNUSED,
        537,
        UNUSED,
        670,
        1758,
        UNUSED,
        1309,
        -1008,
        UNUSED,
        UNUSED,
        UNUSED,
        -1283,
        1015,
        456,
        179,
        0,
        -99,
        UNUSED,
        181,
        0,
        1607,
        UNUSED,
        -349,
        2574,
        UNUSED,
        233,
        1384,
        107,
        899,
        1560,
        0,
        UNUSED,
        UNUSED,
        -2299,
        UNUSED,
        UNUSED,
        UNUSED,
        49,
        0,
        1442,
        UNUSED,
        1387,
        UNUSED,
        -363,
        -1347,
        UNUSED,
        984,
        UNUSED,
        1761,
        -619,
        799,
        1247,
        UNUSED,
        538,
        0,
        -234,
        UNUSED,
        UNUSED,
        1233,
        UNUSED,
        317,
        1540,
        567,
        -1208,
        932,
        -727,
        1595,
        UNUSED,
        UNUSED,
        -438,
        -12,
        UNUSED,
        720,
        1012,
        1414,
        -1591,
        -1963,
        0,
        UNUSED,
        UNUSED,
        1105,
        734,
        UNUSED,
        UNUSED,
        89,
        1694,
        UNUSED,
        1034,
        UNUSED,
        406,
        UNUSED,
        UNUSED,
        -409,
        56,
        1861,
        669,
        1591,
        1808,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        59,
        15,
        UNUSED,
        560,
        -2819,
        1454,
        -78,
        1161,
        777,
        0,
        UNUSED,
        349,
        1638,
        391,
        UNUSED,
        UNUSED,
        397,
        UNUSED,
        1564,
        366,
        UNUSED,
        1724,
        UNUSED,
        207,
        1635,
        0,
        0,
        UNUSED,
        24,
        UNUSED,
        220,
        1283,
        UNUSED,
        413,
        -1848,
        UNUSED,
        904,
        918,
        281,
        -1522,
        UNUSED,
        UNUSED,
        163,
        UNUSED,
        UNUSED,
        0,
        1632,
        UNUSED,
        1639,
        46,
        1344,
        449,
        591,
        UNUSED,
        1085,
        UNUSED,
        UNUSED,
        1493,
        402,
        UNUSED,
        914,
        UNUSED,
        230,
        UNUSED,
        -610,
        -551,
        1061,
        UNUSED,
        944,
        1538,
        79,
        522,
        1075,
        394,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        1223,
        UNUSED,
        UNUSED,
        -907,
        2026,
        1741,
        UNUSED,
        1578,
        -2447,
        1720,
        345,
        UNUSED,
        UNUSED,
        UNUSED,
        1402,
        UNUSED,
        0,
        UNUSED,
        1503,
        0,
        UNUSED,
        25,
        1490,
        UNUSED,
        772,
        UNUSED,
        419,
        UNUSED,
        253,
        437,
        UNUSED,
        -559,
        UNUSED,
        876,
        -741,
        UNUSED,
        0,
        1644,
        -384,
        1205,
        1574,
        UNUSED,
        1704,
        375,
        27,
        1732,
        494,
        2748,
        1146,
        -1806,
        0,
        1566,
        1752,
        UNUSED,
        UNUSED,
        1232,
        0,
        1234,
        UNUSED,
        155,
        UNUSED,
        1151,
        UNUSED,
        UNUSED,
        -1184,
        1302,
        UNUSED,
        -35,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1257,
        UNUSED,
        UNUSED,
        230,
        269,
        1474,
        UNUSED,
        1094,
        2271,
        -23,
        1119,
        0,
        UNUSED,
        UNUSED,
        -465,
        384,
        1523,
        UNUSED,
        UNUSED,
        -1239,
        UNUSED,
        1175,
        UNUSED,
        UNUSED,
        939,
        -1522,
        979,
        1327,
        878,
        822,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1067,
        UNUSED,
        UNUSED,
        UNUSED,
        1464,
        1468,
        UNUSED,
        446,
        UNUSED,
        -1679,
        UNUSED,
        UNUSED,
        UNUSED,
        -38,
        -871,
        UNUSED,
        -129,
        1567,
        UNUSED,
        0,
        -30,
        UNUSED,
        69,
        -860,
        942,
        118,
        871,
        1027,
        60,
        UNUSED,
        549,
        -709,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        215,
        UNUSED,
        UNUSED,
        478,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1282,
        UNUSED,
        109,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        161,
        421,
        UNUSED,
        1643,
        UNUSED,
        466,
        UNUSED,
        UNUSED,
        23,
        1650,
        1539,
        89,
        -428,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        2199,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1459,
        -175,
        -1796,
        -528,
        1131,
        -652,
        -2778,
        911,
        UNUSED,
        484,
        -174,
        630,
        UNUSED,
        967,
        440,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1573,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -2386,
        339,
        0,
        556,
        0,
        1636,
        2438,
        UNUSED,
        UNUSED,
        299,
        0,
        2531,
        UNUSED,
        UNUSED,
        -1101,
        UNUSED,
        UNUSED,
        257,
        UNUSED,
        858,
        964,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        206,
        UNUSED,
        772,
        -1168,
        1220,
        UNUSED,
        57,
        455,
        -41,
        UNUSED,
        UNUSED,
        -667,
        UNUSED,
        1271,
        382,
        UNUSED,
        UNUSED,
        417,
        UNUSED,
        UNUSED,
        1526,
        861,
        620,
        -1096,
        UNUSED,
        990,
        948,
        67,
        -2320,
        3283,
        -191,
        -1238,
        1560,
        1315,
        79,
        392,
        UNUSED,
        UNUSED,
        731,
        1089,
        980,
        -601,
        -866,
        482,
        UNUSED,
        UNUSED,
        1194,
        0,
        UNUSED,
        UNUSED,
        0,
        -659,
        UNUSED,
        116,
        UNUSED,
        UNUSED,
        UNUSED,
        13,
        122,
        1179,
        UNUSED,
        UNUSED,
        1500,
        UNUSED,
        137,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        297,
        UNUSED,
        UNUSED,
        UNUSED,
        94,
        1457,
        UNUSED,
        UNUSED,
        UNUSED,
        1895,
        UNUSED,
        1360,
        UNUSED,
        1369,
        718,
        1681,
        299,
        1433,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        407,
        785,
        146,
        -1145,
        147,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2210,
        304,
        -1943,
        1027,
        32,
        UNUSED,
        1554,
        UNUSED,
        628,
        2457,
        UNUSED,
        -822,
        -749,
        -752,
        1135,
        UNUSED,
        UNUSED,
        804,
        25,
        UNUSED,
        683,
        UNUSED,
        -269,
        381,
        1477,
        UNUSED,
        836,
        UNUSED,
        462,
        289,
        UNUSED,
        UNUSED,
        UNUSED,
        214,
        826,
        1652,
        1447,
        586,
        UNUSED,
        -335,
        1690,
        UNUSED,
        UNUSED,
        1694,
        UNUSED,
        1306,
        UNUSED,
        UNUSED,
        81,
        UNUSED,
        UNUSED,
        UNUSED,
        480,
        UNUSED,
        -412,
        680,
        UNUSED,
        1831,
        UNUSED,
        172,
        788,
        -303,
        UNUSED,
        UNUSED,
        841,
        1081,
        852,
        139,
        1352,
        UNUSED,
        798,
        UNUSED,
        184,
        397,
        UNUSED,
        UNUSED,
        UNUSED,
        228,
        357,
        707,
        196,
        1673,
        UNUSED,
        UNUSED,
        283,
        UNUSED,
        UNUSED,
        UNUSED,
        719,
        743,
        0,
        1585,
        576,
        446,
        927,
        1044,
        1421,
        UNUSED,
        -3215,
        684,
        1139,
        1232,
        921,
        1023,
        UNUSED,
        1762,
        0,
        1274,
        -124,
        -898,
        0,
        697,
        1340,
        UNUSED,
        UNUSED,
        287,
        UNUSED,
        UNUSED,
        UNUSED,
        1527,
        UNUSED,
        158,
        UNUSED,
        2033,
        121,
        UNUSED,
        1095,
        UNUSED,
        -25,
        378,
        577,
        UNUSED,
        -249,
        1597,
        115,
        484,
        -395,
        UNUSED,
        414,
        UNUSED,
        -219,
        -569,
        222,
        228,
        1602,
        -1290,
        UNUSED,
        0,
        1596,
        1777,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        482,
        UNUSED,
        -96,
        UNUSED,
        UNUSED,
        4,
        547,
        UNUSED,
        UNUSED,
        0,
        1682,
        181,
        UNUSED,
        UNUSED,
        526,
        UNUSED,
        597,
        -988,
        130,
        535,
        922,
        UNUSED,
        1633,
        UNUSED,
        UNUSED,
        -781,
        UNUSED,
        1688,
        UNUSED,
        UNUSED,
        -882,
        UNUSED,
        UNUSED,
        UNUSED,
        942,
        -911,
        UNUSED,
        -635,
        UNUSED,
        UNUSED,
        327,
        750,
        UNUSED,
        592,
        UNUSED,
        783,
        533,
        119,
        UNUSED,
        -380,
        660,
        3566,
        1096,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        42,
        UNUSED,
        978,
        850,
        UNUSED,
        235,
        UNUSED,
        UNUSED,
        UNUSED,
        -2508,
        UNUSED,
        -731,
        UNUSED,
        288,
        3165,
        UNUSED,
        61,
        1525,
        -970,
        -1234,
        UNUSED,
        UNUSED,
        UNUSED,
        1132,
        682,
        UNUSED,
        -1011,
        -40,
        UNUSED,
        UNUSED,
        282,
        1577,
        UNUSED,
        -1058,
        -628,
        1431,
        UNUSED,
        UNUSED,
        961,
        UNUSED,
        -1876,
        -3366,
        UNUSED,
        1073,
        UNUSED,
        -1409,
        UNUSED,
        1300,
        623,
        UNUSED,
        UNUSED,
        535,
        1457,
        550,
        UNUSED,
        UNUSED,
        1310,
        UNUSED,
        -795,
        296,
        202,
        UNUSED,
        UNUSED,
        670,
        UNUSED,
        981,
        691,
        1143,
        UNUSED,
        -2138,
        UNUSED,
        1115,
        UNUSED,
        -2042,
        194,
        303,
        1060,
        220,
        438,
        UNUSED,
        UNUSED,
        862,
        -621,
        2560,
        3805,
        UNUSED,
        UNUSED,
        1662,
        UNUSED,
        2664,
        UNUSED,
        1388,
        -217,
        666,
        760,
        UNUSED,
        305,
        1209,
        UNUSED,
        667,
        800,
        UNUSED,
        89,
        544,
        UNUSED,
        1252,
        1659,
        UNUSED,
        UNUSED,
        -168,
        UNUSED,
        -1261,
        UNUSED,
        1266,
        937,
        UNUSED,
        UNUSED,
        673,
        -1582,
        UNUSED,
        63,
        UNUSED,
        UNUSED,
        117,
        UNUSED,
        1212,
        UNUSED,
        UNUSED,
        603,
        UNUSED,
        76,
        1034,
        233,
        UNUSED,
        -1700,
        235,
        UNUSED,
        1683,
        74,
        320,
        UNUSED,
        -794,
        UNUSED,
        UNUSED,
        1472,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        535,
        1689,
        -1093,
        UNUSED,
        1312,
        UNUSED,
        UNUSED,
        -2924,
        135,
        UNUSED,
        UNUSED,
        492,
    };
    static const struct tokendata tokendata[1786] = {
        { "db", TOKEN_INSN, C_none, I_DB },
        { "dw", TOKEN_INSN, C_none, I_DW },
        { "dd", TOKEN_INSN, C_none, I_DD },
        { "dq", TOKEN_INSN, C_none, I_DQ },
        { "dt", TOKEN_INSN, C_none, I_DT },
        { "do", TOKEN_INSN, C_none, I_DO },
        { "dy", TOKEN_INSN, C_none, I_DY },
        { "resb", TOKEN_INSN, C_none, I_RESB },
        { "resw", TOKEN_INSN, C_none, I_RESW },
        { "resd", TOKEN_INSN, C_none, I_RESD },
        { "resq", TOKEN_INSN, C_none, I_RESQ },
        { "rest", TOKEN_INSN, C_none, I_REST },
        { "reso", TOKEN_INSN, C_none, I_RESO },
        { "resy", TOKEN_INSN, C_none, I_RESY },
        { "aaa", TOKEN_INSN, C_none, I_AAA },
        { "aad", TOKEN_INSN, C_none, I_AAD },
        { "aam", TOKEN_INSN, C_none, I_AAM },
        { "aas", TOKEN_INSN, C_none, I_AAS },
        { "adc", TOKEN_INSN, C_none, I_ADC },
        { "add", TOKEN_INSN, C_none, I_ADD },
        { "and", TOKEN_INSN, C_none, I_AND },
        { "arpl", TOKEN_INSN, C_none, I_ARPL },
        { "bb0_reset", TOKEN_INSN, C_none, I_BB0_RESET },
        { "bb1_reset", TOKEN_INSN, C_none, I_BB1_RESET },
        { "bound", TOKEN_INSN, C_none, I_BOUND },
        { "bsf", TOKEN_INSN, C_none, I_BSF },
        { "bsr", TOKEN_INSN, C_none, I_BSR },
        { "bswap", TOKEN_INSN, C_none, I_BSWAP },
        { "bt", TOKEN_INSN, C_none, I_BT },
        { "btc", TOKEN_INSN, C_none, I_BTC },
        { "btr", TOKEN_INSN, C_none, I_BTR },
        { "bts", TOKEN_INSN, C_none, I_BTS },
        { "call", TOKEN_INSN, C_none, I_CALL },
        { "cbw", TOKEN_INSN, C_none, I_CBW },
        { "cdq", TOKEN_INSN, C_none, I_CDQ },
        { "cdqe", TOKEN_INSN, C_none, I_CDQE },
        { "clc", TOKEN_INSN, C_none, I_CLC },
        { "cld", TOKEN_INSN, C_none, I_CLD },
        { "clgi", TOKEN_INSN, C_none, I_CLGI },
        { "cli", TOKEN_INSN, C_none, I_CLI },
        { "clts", TOKEN_INSN, C_none, I_CLTS },
        { "cmc", TOKEN_INSN, C_none, I_CMC },
        { "cmp", TOKEN_INSN, C_none, I_CMP },
        { "cmpsb", TOKEN_INSN, C_none, I_CMPSB },
        { "cmpsd", TOKEN_INSN, C_none, I_CMPSD },
        { "cmpsq", TOKEN_INSN, C_none, I_CMPSQ },
        { "cmpsw", TOKEN_INSN, C_none, I_CMPSW },
        { "cmpxchg", TOKEN_INSN, C_none, I_CMPXCHG },
        { "cmpxchg486", TOKEN_INSN, C_none, I_CMPXCHG486 },
        { "cmpxchg8b", TOKEN_INSN, C_none, I_CMPXCHG8B },
        { "cmpxchg16b", TOKEN_INSN, C_none, I_CMPXCHG16B },
        { "cpuid", TOKEN_INSN, C_none, I_CPUID },
        { "cpu_read", TOKEN_INSN, C_none, I_CPU_READ },
        { "cpu_write", TOKEN_INSN, C_none, I_CPU_WRITE },
        { "cqo", TOKEN_INSN, C_none, I_CQO },
        { "cwd", TOKEN_INSN, C_none, I_CWD },
        { "cwde", TOKEN_INSN, C_none, I_CWDE },
        { "daa", TOKEN_INSN, C_none, I_DAA },
        { "das", TOKEN_INSN, C_none, I_DAS },
        { "dec", TOKEN_INSN, C_none, I_DEC },
        { "div", TOKEN_INSN, C_none, I_DIV },
        { "dmint", TOKEN_INSN, C_none, I_DMINT },
        { "emms", TOKEN_INSN, C_none, I_EMMS },
        { "enter", TOKEN_INSN, C_none, I_ENTER },
        { "equ", TOKEN_INSN, C_none, I_EQU },
        { "f2xm1", TOKEN_INSN, C_none, I_F2XM1 },
        { "fabs", TOKEN_INSN, C_none, I_FABS },
        { "fadd", TOKEN_INSN, C_none, I_FADD },
        { "faddp", TOKEN_INSN, C_none, I_FADDP },
        { "fbld", TOKEN_INSN, C_none, I_FBLD },
        { "fbstp", TOKEN_INSN, C_none, I_FBSTP },
        { "fchs", TOKEN_INSN, C_none, I_FCHS },
        { "fclex", TOKEN_INSN, C_none, I_FCLEX },
        { "fcmovb", TOKEN_INSN, C_none, I_FCMOVB },
        { "fcmovbe", TOKEN_INSN, C_none, I_FCMOVBE },
        { "fcmove", TOKEN_INSN, C_none, I_FCMOVE },
        { "fcmovnb", TOKEN_INSN, C_none, I_FCMOVNB },
        { "fcmovnbe", TOKEN_INSN, C_none, I_FCMOVNBE },
        { "fcmovne", TOKEN_INSN, C_none, I_FCMOVNE },
        { "fcmovnu", TOKEN_INSN, C_none, I_FCMOVNU },
        { "fcmovu", TOKEN_INSN, C_none, I_FCMOVU },
        { "fcom", TOKEN_INSN, C_none, I_FCOM },
        { "fcomi", TOKEN_INSN, C_none, I_FCOMI },
        { "fcomip", TOKEN_INSN, C_none, I_FCOMIP },
        { "fcomp", TOKEN_INSN, C_none, I_FCOMP },
        { "fcompp", TOKEN_INSN, C_none, I_FCOMPP },
        { "fcos", TOKEN_INSN, C_none, I_FCOS },
        { "fdecstp", TOKEN_INSN, C_none, I_FDECSTP },
        { "fdisi", TOKEN_INSN, C_none, I_FDISI },
        { "fdiv", TOKEN_INSN, C_none, I_FDIV },
        { "fdivp", TOKEN_INSN, C_none, I_FDIVP },
        { "fdivr", TOKEN_INSN, C_none, I_FDIVR },
        { "fdivrp", TOKEN_INSN, C_none, I_FDIVRP },
        { "femms", TOKEN_INSN, C_none, I_FEMMS },
        { "feni", TOKEN_INSN, C_none, I_FENI },
        { "ffree", TOKEN_INSN, C_none, I_FFREE },
        { "ffreep", TOKEN_INSN, C_none, I_FFREEP },
        { "fiadd", TOKEN_INSN, C_none, I_FIADD },
        { "ficom", TOKEN_INSN, C_none, I_FICOM },
        { "ficomp", TOKEN_INSN, C_none, I_FICOMP },
        { "fidiv", TOKEN_INSN, C_none, I_FIDIV },
        { "fidivr", TOKEN_INSN, C_none, I_FIDIVR },
        { "fild", TOKEN_INSN, C_none, I_FILD },
        { "fimul", TOKEN_INSN, C_none, I_FIMUL },
        { "fincstp", TOKEN_INSN, C_none, I_FINCSTP },
        { "finit", TOKEN_INSN, C_none, I_FINIT },
        { "fist", TOKEN_INSN, C_none, I_FIST },
        { "fistp", TOKEN_INSN, C_none, I_FISTP },
        { "fisttp", TOKEN_INSN, C_none, I_FISTTP },
        { "fisub", TOKEN_INSN, C_none, I_FISUB },
        { "fisubr", TOKEN_INSN, C_none, I_FISUBR },
        { "fld", TOKEN_INSN, C_none, I_FLD },
        { "fld1", TOKEN_INSN, C_none, I_FLD1 },
        { "fldcw", TOKEN_INSN, C_none, I_FLDCW },
        { "fldenv", TOKEN_INSN, C_none, I_FLDENV },
        { "fldl2e", TOKEN_INSN, C_none, I_FLDL2E },
        { "fldl2t", TOKEN_INSN, C_none, I_FLDL2T },
        { "fldlg2", TOKEN_INSN, C_none, I_FLDLG2 },
        { "fldln2", TOKEN_INSN, C_none, I_FLDLN2 },
        { "fldpi", TOKEN_INSN, C_none, I_FLDPI },
        { "fldz", TOKEN_INSN, C_none, I_FLDZ },
        { "fmul", TOKEN_INSN, C_none, I_FMUL },
        { "fmulp", TOKEN_INSN, C_none, I_FMULP },
        { "fnclex", TOKEN_INSN, C_none, I_FNCLEX },
        { "fndisi", TOKEN_INSN, C_none, I_FNDISI },
        { "fneni", TOKEN_INSN, C_none, I_FNENI },
        { "fninit", TOKEN_INSN, C_none, I_FNINIT },
        { "fnop", TOKEN_INSN, C_none, I_FNOP },
        { "fnsave", TOKEN_INSN, C_none, I_FNSAVE },
        { "fnstcw", TOKEN_INSN, C_none, I_FNSTCW },
        { "fnstenv", TOKEN_INSN, C_none, I_FNSTENV },
        { "fnstsw", TOKEN_INSN, C_none, I_FNSTSW },
        { "fpatan", TOKEN_INSN, C_none, I_FPATAN },
        { "fprem", TOKEN_INSN, C_none, I_FPREM },
        { "fprem1", TOKEN_INSN, C_none, I_FPREM1 },
        { "fptan", TOKEN_INSN, C_none, I_FPTAN },
        { "frndint", TOKEN_INSN, C_none, I_FRNDINT },
        { "frstor", TOKEN_INSN, C_none, I_FRSTOR },
        { "fsave", TOKEN_INSN, C_none, I_FSAVE },
        { "fscale", TOKEN_INSN, C_none, I_FSCALE },
        { "fsetpm", TOKEN_INSN, C_none, I_FSETPM },
        { "fsin", TOKEN_INSN, C_none, I_FSIN },
        { "fsincos", TOKEN_INSN, C_none, I_FSINCOS },
        { "fsqrt", TOKEN_INSN, C_none, I_FSQRT },
        { "fst", TOKEN_INSN, C_none, I_FST },
        { "fstcw", TOKEN_INSN, C_none, I_FSTCW },
        { "fstenv", TOKEN_INSN, C_none, I_FSTENV },
        { "fstp", TOKEN_INSN, C_none, I_FSTP },
        { "fstsw", TOKEN_INSN, C_none, I_FSTSW },
        { "fsub", TOKEN_INSN, C_none, I_FSUB },
        { "fsubp", TOKEN_INSN, C_none, I_FSUBP },
        { "fsubr", TOKEN_INSN, C_none, I_FSUBR },
        { "fsubrp", TOKEN_INSN, C_none, I_FSUBRP },
        { "ftst", TOKEN_INSN, C_none, I_FTST },
        { "fucom", TOKEN_INSN, C_none, I_FUCOM },
        { "fucomi", TOKEN_INSN, C_none, I_FUCOMI },
        { "fucomip", TOKEN_INSN, C_none, I_FUCOMIP },
        { "fucomp", TOKEN_INSN, C_none, I_FUCOMP },
        { "fucompp", TOKEN_INSN, C_none, I_FUCOMPP },
        { "fxam", TOKEN_INSN, C_none, I_FXAM },
        { "fxch", TOKEN_INSN, C_none, I_FXCH },
        { "fxtract", TOKEN_INSN, C_none, I_FXTRACT },
        { "fyl2x", TOKEN_INSN, C_none, I_FYL2X },
        { "fyl2xp1", TOKEN_INSN, C_none, I_FYL2XP1 },
        { "hlt", TOKEN_INSN, C_none, I_HLT },
        { "ibts", TOKEN_INSN, C_none, I_IBTS },
        { "icebp", TOKEN_INSN, C_none, I_ICEBP },
        { "idiv", TOKEN_INSN, C_none, I_IDIV },
        { "imul", TOKEN_INSN, C_none, I_IMUL },
        { "in", TOKEN_INSN, C_none, I_IN },
        { "inc", TOKEN_INSN, C_none, I_INC },
        { "incbin", TOKEN_INSN, C_none, I_INCBIN },
        { "insb", TOKEN_INSN, C_none, I_INSB },
        { "insd", TOKEN_INSN, C_none, I_INSD },
        { "insw", TOKEN_INSN, C_none, I_INSW },
        { "int", TOKEN_INSN, C_none, I_INT },
        { "int01", TOKEN_INSN, C_none, I_INT01 },
        { "int1", TOKEN_INSN, C_none, I_INT1 },
        { "int03", TOKEN_INSN, C_none, I_INT03 },
        { "int3", TOKEN_INSN, C_none, I_INT3 },
        { "into", TOKEN_INSN, C_none, I_INTO },
        { "invd", TOKEN_INSN, C_none, I_INVD },
        { "invpcid", TOKEN_INSN, C_none, I_INVPCID },
        { "invlpg", TOKEN_INSN, C_none, I_INVLPG },
        { "invlpga", TOKEN_INSN, C_none, I_INVLPGA },
        { "iret", TOKEN_INSN, C_none, I_IRET },
        { "iretd", TOKEN_INSN, C_none, I_IRETD },
        { "iretq", TOKEN_INSN, C_none, I_IRETQ },
        { "iretw", TOKEN_INSN, C_none, I_IRETW },
        { "jcxz", TOKEN_INSN, C_none, I_JCXZ },
        { "jecxz", TOKEN_INSN, C_none, I_JECXZ },
        { "jrcxz", TOKEN_INSN, C_none, I_JRCXZ },
        { "jmp", TOKEN_INSN, C_none, I_JMP },
        { "jmpe", TOKEN_INSN, C_none, I_JMPE },
        { "lahf", TOKEN_INSN, C_none, I_LAHF },
        { "lar", TOKEN_INSN, C_none, I_LAR },
        { "lds", TOKEN_INSN, C_none, I_LDS },
        { "lea", TOKEN_INSN, C_none, I_LEA },
        { "leave", TOKEN_INSN, C_none, I_LEAVE },
        { "les", TOKEN_INSN, C_none, I_LES },
        { "lfence", TOKEN_INSN, C_none, I_LFENCE },
        { "lfs", TOKEN_INSN, C_none, I_LFS },
        { "lgdt", TOKEN_INSN, C_none, I_LGDT },
        { "lgs", TOKEN_INSN, C_none, I_LGS },
        { "lidt", TOKEN_INSN, C_none, I_LIDT },
        { "lldt", TOKEN_INSN, C_none, I_LLDT },
        { "lmsw", TOKEN_INSN, C_none, I_LMSW },
        { "loadall", TOKEN_INSN, C_none, I_LOADALL },
        { "loadall286", TOKEN_INSN, C_none, I_LOADALL286 },
        { "lodsb", TOKEN_INSN, C_none, I_LODSB },
        { "lodsd", TOKEN_INSN, C_none, I_LODSD },
        { "lodsq", TOKEN_INSN, C_none, I_LODSQ },
        { "lodsw", TOKEN_INSN, C_none, I_LODSW },
        { "loop", TOKEN_INSN, C_none, I_LOOP },
        { "loope", TOKEN_INSN, C_none, I_LOOPE },
        { "loopne", TOKEN_INSN, C_none, I_LOOPNE },
        { "loopnz", TOKEN_INSN, C_none, I_LOOPNZ },
        { "loopz", TOKEN_INSN, C_none, I_LOOPZ },
        { "lsl", TOKEN_INSN, C_none, I_LSL },
        { "lss", TOKEN_INSN, C_none, I_LSS },
        { "ltr", TOKEN_INSN, C_none, I_LTR },
        { "mfence", TOKEN_INSN, C_none, I_MFENCE },
        { "monitor", TOKEN_INSN, C_none, I_MONITOR },
        { "mov", TOKEN_INSN, C_none, I_MOV },
        { "movd", TOKEN_INSN, C_none, I_MOVD },
        { "movq", TOKEN_INSN, C_none, I_MOVQ },
        { "movsb", TOKEN_INSN, C_none, I_MOVSB },
        { "movsd", TOKEN_INSN, C_none, I_MOVSD },
        { "movsq", TOKEN_INSN, C_none, I_MOVSQ },
        { "movsw", TOKEN_INSN, C_none, I_MOVSW },
        { "movsx", TOKEN_INSN, C_none, I_MOVSX },
        { "movsxd", TOKEN_INSN, C_none, I_MOVSXD },
        { "movzx", TOKEN_INSN, C_none, I_MOVZX },
        { "mul", TOKEN_INSN, C_none, I_MUL },
        { "mwait", TOKEN_INSN, C_none, I_MWAIT },
        { "neg", TOKEN_INSN, C_none, I_NEG },
        { "nop", TOKEN_INSN, C_none, I_NOP },
        { "not", TOKEN_INSN, C_none, I_NOT },
        { "or", TOKEN_INSN, C_none, I_OR },
        { "out", TOKEN_INSN, C_none, I_OUT },
        { "outsb", TOKEN_INSN, C_none, I_OUTSB },
        { "outsd", TOKEN_INSN, C_none, I_OUTSD },
        { "outsw", TOKEN_INSN, C_none, I_OUTSW },
        { "packssdw", TOKEN_INSN, C_none, I_PACKSSDW },
        { "packsswb", TOKEN_INSN, C_none, I_PACKSSWB },
        { "packuswb", TOKEN_INSN, C_none, I_PACKUSWB },
        { "paddb", TOKEN_INSN, C_none, I_PADDB },
        { "paddd", TOKEN_INSN, C_none, I_PADDD },
        { "paddsb", TOKEN_INSN, C_none, I_PADDSB },
        { "paddsiw", TOKEN_INSN, C_none, I_PADDSIW },
        { "paddsw", TOKEN_INSN, C_none, I_PADDSW },
        { "paddusb", TOKEN_INSN, C_none, I_PADDUSB },
        { "paddusw", TOKEN_INSN, C_none, I_PADDUSW },
        { "paddw", TOKEN_INSN, C_none, I_PADDW },
        { "pand", TOKEN_INSN, C_none, I_PAND },
        { "pandn", TOKEN_INSN, C_none, I_PANDN },
        { "pause", TOKEN_INSN, C_none, I_PAUSE },
        { "paveb", TOKEN_INSN, C_none, I_PAVEB },
        { "pavgusb", TOKEN_INSN, C_none, I_PAVGUSB },
        { "pcmpeqb", TOKEN_INSN, C_none, I_PCMPEQB },
        { "pcmpeqd", TOKEN_INSN, C_none, I_PCMPEQD },
        { "pcmpeqw", TOKEN_INSN, C_none, I_PCMPEQW },
        { "pcmpgtb", TOKEN_INSN, C_none, I_PCMPGTB },
        { "pcmpgtd", TOKEN_INSN, C_none, I_PCMPGTD },
        { "pcmpgtw", TOKEN_INSN, C_none, I_PCMPGTW },
        { "pdistib", TOKEN_INSN, C_none, I_PDISTIB },
        { "pf2id", TOKEN_INSN, C_none, I_PF2ID },
        { "pfacc", TOKEN_INSN, C_none, I_PFACC },
        { "pfadd", TOKEN_INSN, C_none, I_PFADD },
        { "pfcmpeq", TOKEN_INSN, C_none, I_PFCMPEQ },
        { "pfcmpge", TOKEN_INSN, C_none, I_PFCMPGE },
        { "pfcmpgt", TOKEN_INSN, C_none, I_PFCMPGT },
        { "pfmax", TOKEN_INSN, C_none, I_PFMAX },
        { "pfmin", TOKEN_INSN, C_none, I_PFMIN },
        { "pfmul", TOKEN_INSN, C_none, I_PFMUL },
        { "pfrcp", TOKEN_INSN, C_none, I_PFRCP },
        { "pfrcpit1", TOKEN_INSN, C_none, I_PFRCPIT1 },
        { "pfrcpit2", TOKEN_INSN, C_none, I_PFRCPIT2 },
        { "pfrsqit1", TOKEN_INSN, C_none, I_PFRSQIT1 },
        { "pfrsqrt", TOKEN_INSN, C_none, I_PFRSQRT },
        { "pfsub", TOKEN_INSN, C_none, I_PFSUB },
        { "pfsubr", TOKEN_INSN, C_none, I_PFSUBR },
        { "pi2fd", TOKEN_INSN, C_none, I_PI2FD },
        { "pmachriw", TOKEN_INSN, C_none, I_PMACHRIW },
        { "pmaddwd", TOKEN_INSN, C_none, I_PMADDWD },
        { "pmagw", TOKEN_INSN, C_none, I_PMAGW },
        { "pmulhriw", TOKEN_INSN, C_none, I_PMULHRIW },
        { "pmulhrwa", TOKEN_INSN, C_none, I_PMULHRWA },
        { "pmulhrwc", TOKEN_INSN, C_none, I_PMULHRWC },
        { "pmulhw", TOKEN_INSN, C_none, I_PMULHW },
        { "pmullw", TOKEN_INSN, C_none, I_PMULLW },
        { "pmvgezb", TOKEN_INSN, C_none, I_PMVGEZB },
        { "pmvlzb", TOKEN_INSN, C_none, I_PMVLZB },
        { "pmvnzb", TOKEN_INSN, C_none, I_PMVNZB },
        { "pmvzb", TOKEN_INSN, C_none, I_PMVZB },
        { "pop", TOKEN_INSN, C_none, I_POP },
        { "popa", TOKEN_INSN, C_none, I_POPA },
        { "popad", TOKEN_INSN, C_none, I_POPAD },
        { "popaw", TOKEN_INSN, C_none, I_POPAW },
        { "popf", TOKEN_INSN, C_none, I_POPF },
        { "popfd", TOKEN_INSN, C_none, I_POPFD },
        { "popfq", TOKEN_INSN, C_none, I_POPFQ },
        { "popfw", TOKEN_INSN, C_none, I_POPFW },
        { "por", TOKEN_INSN, C_none, I_POR },
        { "prefetch", TOKEN_INSN, C_none, I_PREFETCH },
        { "prefetchw", TOKEN_INSN, C_none, I_PREFETCHW },
        { "pslld", TOKEN_INSN, C_none, I_PSLLD },
        { "psllq", TOKEN_INSN, C_none, I_PSLLQ },
        { "psllw", TOKEN_INSN, C_none, I_PSLLW },
        { "psrad", TOKEN_INSN, C_none, I_PSRAD },
        { "psraw", TOKEN_INSN, C_none, I_PSRAW },
        { "psrld", TOKEN_INSN, C_none, I_PSRLD },
        { "psrlq", TOKEN_INSN, C_none, I_PSRLQ },
        { "psrlw", TOKEN_INSN, C_none, I_PSRLW },
        { "psubb", TOKEN_INSN, C_none, I_PSUBB },
        { "psubd", TOKEN_INSN, C_none, I_PSUBD },
        { "psubsb", TOKEN_INSN, C_none, I_PSUBSB },
        { "psubsiw", TOKEN_INSN, C_none, I_PSUBSIW },
        { "psubsw", TOKEN_INSN, C_none, I_PSUBSW },
        { "psubusb", TOKEN_INSN, C_none, I_PSUBUSB },
        { "psubusw", TOKEN_INSN, C_none, I_PSUBUSW },
        { "psubw", TOKEN_INSN, C_none, I_PSUBW },
        { "punpckhbw", TOKEN_INSN, C_none, I_PUNPCKHBW },
        { "punpckhdq", TOKEN_INSN, C_none, I_PUNPCKHDQ },
        { "punpckhwd", TOKEN_INSN, C_none, I_PUNPCKHWD },
        { "punpcklbw", TOKEN_INSN, C_none, I_PUNPCKLBW },
        { "punpckldq", TOKEN_INSN, C_none, I_PUNPCKLDQ },
        { "punpcklwd", TOKEN_INSN, C_none, I_PUNPCKLWD },
        { "push", TOKEN_INSN, C_none, I_PUSH },
        { "pusha", TOKEN_INSN, C_none, I_PUSHA },
        { "pushad", TOKEN_INSN, C_none, I_PUSHAD },
        { "pushaw", TOKEN_INSN, C_none, I_PUSHAW },
        { "pushf", TOKEN_INSN, C_none, I_PUSHF },
        { "pushfd", TOKEN_INSN, C_none, I_PUSHFD },
        { "pushfq", TOKEN_INSN, C_none, I_PUSHFQ },
        { "pushfw", TOKEN_INSN, C_none, I_PUSHFW },
        { "pxor", TOKEN_INSN, C_none, I_PXOR },
        { "rcl", TOKEN_INSN, C_none, I_RCL },
        { "rcr", TOKEN_INSN, C_none, I_RCR },
        { "rdshr", TOKEN_INSN, C_none, I_RDSHR },
        { "rdmsr", TOKEN_INSN, C_none, I_RDMSR },
        { "rdpmc", TOKEN_INSN, C_none, I_RDPMC },
        { "rdtsc", TOKEN_INSN, C_none, I_RDTSC },
        { "rdtscp", TOKEN_INSN, C_none, I_RDTSCP },
        { "ret", TOKEN_INSN, C_none, I_RET },
        { "retf", TOKEN_INSN, C_none, I_RETF },
        { "retn", TOKEN_INSN, C_none, I_RETN },
        { "rol", TOKEN_INSN, C_none, I_ROL },
        { "ror", TOKEN_INSN, C_none, I_ROR },
        { "rdm", TOKEN_INSN, C_none, I_RDM },
        { "rsdc", TOKEN_INSN, C_none, I_RSDC },
        { "rsldt", TOKEN_INSN, C_none, I_RSLDT },
        { "rsm", TOKEN_INSN, C_none, I_RSM },
        { "rsts", TOKEN_INSN, C_none, I_RSTS },
        { "sahf", TOKEN_INSN, C_none, I_SAHF },
        { "sal", TOKEN_INSN, C_none, I_SAL },
        { "salc", TOKEN_INSN, C_none, I_SALC },
        { "sar", TOKEN_INSN, C_none, I_SAR },
        { "sbb", TOKEN_INSN, C_none, I_SBB },
        { "scasb", TOKEN_INSN, C_none, I_SCASB },
        { "scasd", TOKEN_INSN, C_none, I_SCASD },
        { "scasq", TOKEN_INSN, C_none, I_SCASQ },
        { "scasw", TOKEN_INSN, C_none, I_SCASW },
        { "sfence", TOKEN_INSN, C_none, I_SFENCE },
        { "sgdt", TOKEN_INSN, C_none, I_SGDT },
        { "shl", TOKEN_INSN, C_none, I_SHL },
        { "shld", TOKEN_INSN, C_none, I_SHLD },
        { "shr", TOKEN_INSN, C_none, I_SHR },
        { "shrd", TOKEN_INSN, C_none, I_SHRD },
        { "sidt", TOKEN_INSN, C_none, I_SIDT },
        { "sldt", TOKEN_INSN, C_none, I_SLDT },
        { "skinit", TOKEN_INSN, C_none, I_SKINIT },
        { "smi", TOKEN_INSN, C_none, I_SMI },
        { "smint", TOKEN_INSN, C_none, I_SMINT },
        { "smintold", TOKEN_INSN, C_none, I_SMINTOLD },
        { "smsw", TOKEN_INSN, C_none, I_SMSW },
        { "stc", TOKEN_INSN, C_none, I_STC },
        { "std", TOKEN_INSN, C_none, I_STD },
        { "stgi", TOKEN_INSN, C_none, I_STGI },
        { "sti", TOKEN_INSN, C_none, I_STI },
        { "stosb", TOKEN_INSN, C_none, I_STOSB },
        { "stosd", TOKEN_INSN, C_none, I_STOSD },
        { "stosq", TOKEN_INSN, C_none, I_STOSQ },
        { "stosw", TOKEN_INSN, C_none, I_STOSW },
        { "str", TOKEN_INSN, C_none, I_STR },
        { "sub", TOKEN_INSN, C_none, I_SUB },
        { "svdc", TOKEN_INSN, C_none, I_SVDC },
        { "svldt", TOKEN_INSN, C_none, I_SVLDT },
        { "svts", TOKEN_INSN, C_none, I_SVTS },
        { "swapgs", TOKEN_INSN, C_none, I_SWAPGS },
        { "syscall", TOKEN_INSN, C_none, I_SYSCALL },
        { "sysenter", TOKEN_INSN, C_none, I_SYSENTER },
        { "sysexit", TOKEN_INSN, C_none, I_SYSEXIT },
        { "sysret", TOKEN_INSN, C_none, I_SYSRET },
        { "test", TOKEN_INSN, C_none, I_TEST },
        { "ud0", TOKEN_INSN, C_none, I_UD0 },
        { "ud1", TOKEN_INSN, C_none, I_UD1 },
        { "ud2b", TOKEN_INSN, C_none, I_UD2B },
        { "ud2", TOKEN_INSN, C_none, I_UD2 },
        { "ud2a", TOKEN_INSN, C_none, I_UD2A },
        { "umov", TOKEN_INSN, C_none, I_UMOV },
        { "verr", TOKEN_INSN, C_none, I_VERR },
        { "verw", TOKEN_INSN, C_none, I_VERW },
        { "fwait", TOKEN_INSN, C_none, I_FWAIT },
        { "wbinvd", TOKEN_INSN, C_none, I_WBINVD },
        { "wrshr", TOKEN_INSN, C_none, I_WRSHR },
        { "wrmsr", TOKEN_INSN, C_none, I_WRMSR },
        { "xadd", TOKEN_INSN, C_none, I_XADD },
        { "xbts", TOKEN_INSN, C_none, I_XBTS },
        { "xchg", TOKEN_INSN, C_none, I_XCHG },
        { "xlatb", TOKEN_INSN, C_none, I_XLATB },
        { "xlat", TOKEN_INSN, C_none, I_XLAT },
        { "xor", TOKEN_INSN, C_none, I_XOR },
        { "cmova", TOKEN_INSN, C_A, I_CMOVcc },
        { "cmovae", TOKEN_INSN, C_AE, I_CMOVcc },
        { "cmovb", TOKEN_INSN, C_B, I_CMOVcc },
        { "cmovbe", TOKEN_INSN, C_BE, I_CMOVcc },
        { "cmovc", TOKEN_INSN, C_C, I_CMOVcc },
        { "cmove", TOKEN_INSN, C_E, I_CMOVcc },
        { "cmovg", TOKEN_INSN, C_G, I_CMOVcc },
        { "cmovge", TOKEN_INSN, C_GE, I_CMOVcc },
        { "cmovl", TOKEN_INSN, C_L, I_CMOVcc },
        { "cmovle", TOKEN_INSN, C_LE, I_CMOVcc },
        { "cmovna", TOKEN_INSN, C_NA, I_CMOVcc },
        { "cmovnae", TOKEN_INSN, C_NAE, I_CMOVcc },
        { "cmovnb", TOKEN_INSN, C_NB, I_CMOVcc },
        { "cmovnbe", TOKEN_INSN, C_NBE, I_CMOVcc },
        { "cmovnc", TOKEN_INSN, C_NC, I_CMOVcc },
        { "cmovne", TOKEN_INSN, C_NE, I_CMOVcc },
        { "cmovng", TOKEN_INSN, C_NG, I_CMOVcc },
        { "cmovnge", TOKEN_INSN, C_NGE, I_CMOVcc },
        { "cmovnl", TOKEN_INSN, C_NL, I_CMOVcc },
        { "cmovnle", TOKEN_INSN, C_NLE, I_CMOVcc },
        { "cmovno", TOKEN_INSN, C_NO, I_CMOVcc },
        { "cmovnp", TOKEN_INSN, C_NP, I_CMOVcc },
        { "cmovns", TOKEN_INSN, C_NS, I_CMOVcc },
        { "cmovnz", TOKEN_INSN, C_NZ, I_CMOVcc },
        { "cmovo", TOKEN_INSN, C_O, I_CMOVcc },
        { "cmovp", TOKEN_INSN, C_P, I_CMOVcc },
        { "cmovpe", TOKEN_INSN, C_PE, I_CMOVcc },
        { "cmovpo", TOKEN_INSN, C_PO, I_CMOVcc },
        { "cmovs", TOKEN_INSN, C_S, I_CMOVcc },
        { "cmovz", TOKEN_INSN, C_Z, I_CMOVcc },
        { "ja", TOKEN_INSN, C_A, I_Jcc },
        { "jae", TOKEN_INSN, C_AE, I_Jcc },
        { "jb", TOKEN_INSN, C_B, I_Jcc },
        { "jbe", TOKEN_INSN, C_BE, I_Jcc },
        { "jc", TOKEN_INSN, C_C, I_Jcc },
        { "je", TOKEN_INSN, C_E, I_Jcc },
        { "jg", TOKEN_INSN, C_G, I_Jcc },
        { "jge", TOKEN_INSN, C_GE, I_Jcc },
        { "jl", TOKEN_INSN, C_L, I_Jcc },
        { "jle", TOKEN_INSN, C_LE, I_Jcc },
        { "jna", TOKEN_INSN, C_NA, I_Jcc },
        { "jnae", TOKEN_INSN, C_NAE, I_Jcc },
        { "jnb", TOKEN_INSN, C_NB, I_Jcc },
        { "jnbe", TOKEN_INSN, C_NBE, I_Jcc },
        { "jnc", TOKEN_INSN, C_NC, I_Jcc },
        { "jne", TOKEN_INSN, C_NE, I_Jcc },
        { "jng", TOKEN_INSN, C_NG, I_Jcc },
        { "jnge", TOKEN_INSN, C_NGE, I_Jcc },
        { "jnl", TOKEN_INSN, C_NL, I_Jcc },
        { "jnle", TOKEN_INSN, C_NLE, I_Jcc },
        { "jno", TOKEN_INSN, C_NO, I_Jcc },
        { "jnp", TOKEN_INSN, C_NP, I_Jcc },
        { "jns", TOKEN_INSN, C_NS, I_Jcc },
        { "jnz", TOKEN_INSN, C_NZ, I_Jcc },
        { "jo", TOKEN_INSN, C_O, I_Jcc },
        { "jp", TOKEN_INSN, C_P, I_Jcc },
        { "jpe", TOKEN_INSN, C_PE, I_Jcc },
        { "jpo", TOKEN_INSN, C_PO, I_Jcc },
        { "js", TOKEN_INSN, C_S, I_Jcc },
        { "jz", TOKEN_INSN, C_Z, I_Jcc },
        { "seta", TOKEN_INSN, C_A, I_SETcc },
        { "setae", TOKEN_INSN, C_AE, I_SETcc },
        { "setb", TOKEN_INSN, C_B, I_SETcc },
        { "setbe", TOKEN_INSN, C_BE, I_SETcc },
        { "setc", TOKEN_INSN, C_C, I_SETcc },
        { "sete", TOKEN_INSN, C_E, I_SETcc },
        { "setg", TOKEN_INSN, C_G, I_SETcc },
        { "setge", TOKEN_INSN, C_GE, I_SETcc },
        { "setl", TOKEN_INSN, C_L, I_SETcc },
        { "setle", TOKEN_INSN, C_LE, I_SETcc },
        { "setna", TOKEN_INSN, C_NA, I_SETcc },
        { "setnae", TOKEN_INSN, C_NAE, I_SETcc },
        { "setnb", TOKEN_INSN, C_NB, I_SETcc },
        { "setnbe", TOKEN_INSN, C_NBE, I_SETcc },
        { "setnc", TOKEN_INSN, C_NC, I_SETcc },
        { "setne", TOKEN_INSN, C_NE, I_SETcc },
        { "setng", TOKEN_INSN, C_NG, I_SETcc },
        { "setnge", TOKEN_INSN, C_NGE, I_SETcc },
        { "setnl", TOKEN_INSN, C_NL, I_SETcc },
        { "setnle", TOKEN_INSN, C_NLE, I_SETcc },
        { "setno", TOKEN_INSN, C_NO, I_SETcc },
        { "setnp", TOKEN_INSN, C_NP, I_SETcc },
        { "setns", TOKEN_INSN, C_NS, I_SETcc },
        { "setnz", TOKEN_INSN, C_NZ, I_SETcc },
        { "seto", TOKEN_INSN, C_O, I_SETcc },
        { "setp", TOKEN_INSN, C_P, I_SETcc },
        { "setpe", TOKEN_INSN, C_PE, I_SETcc },
        { "setpo", TOKEN_INSN, C_PO, I_SETcc },
        { "sets", TOKEN_INSN, C_S, I_SETcc },
        { "setz", TOKEN_INSN, C_Z, I_SETcc },
        { "addps", TOKEN_INSN, C_none, I_ADDPS },
        { "addss", TOKEN_INSN, C_none, I_ADDSS },
        { "andnps", TOKEN_INSN, C_none, I_ANDNPS },
        { "andps", TOKEN_INSN, C_none, I_ANDPS },
        { "cmpeqps", TOKEN_INSN, C_none, I_CMPEQPS },
        { "cmpeqss", TOKEN_INSN, C_none, I_CMPEQSS },
        { "cmpleps", TOKEN_INSN, C_none, I_CMPLEPS },
        { "cmpless", TOKEN_INSN, C_none, I_CMPLESS },
        { "cmpltps", TOKEN_INSN, C_none, I_CMPLTPS },
        { "cmpltss", TOKEN_INSN, C_none, I_CMPLTSS },
        { "cmpneqps", TOKEN_INSN, C_none, I_CMPNEQPS },
        { "cmpneqss", TOKEN_INSN, C_none, I_CMPNEQSS },
        { "cmpnleps", TOKEN_INSN, C_none, I_CMPNLEPS },
        { "cmpnless", TOKEN_INSN, C_none, I_CMPNLESS },
        { "cmpnltps", TOKEN_INSN, C_none, I_CMPNLTPS },
        { "cmpnltss", TOKEN_INSN, C_none, I_CMPNLTSS },
        { "cmpordps", TOKEN_INSN, C_none, I_CMPORDPS },
        { "cmpordss", TOKEN_INSN, C_none, I_CMPORDSS },
        { "cmpunordps", TOKEN_INSN, C_none, I_CMPUNORDPS },
        { "cmpunordss", TOKEN_INSN, C_none, I_CMPUNORDSS },
        { "cmpps", TOKEN_INSN, C_none, I_CMPPS },
        { "cmpss", TOKEN_INSN, C_none, I_CMPSS },
        { "comiss", TOKEN_INSN, C_none, I_COMISS },
        { "cvtpi2ps", TOKEN_INSN, C_none, I_CVTPI2PS },
        { "cvtps2pi", TOKEN_INSN, C_none, I_CVTPS2PI },
        { "cvtsi2ss", TOKEN_INSN, C_none, I_CVTSI2SS },
        { "cvtss2si", TOKEN_INSN, C_none, I_CVTSS2SI },
        { "cvttps2pi", TOKEN_INSN, C_none, I_CVTTPS2PI },
        { "cvttss2si", TOKEN_INSN, C_none, I_CVTTSS2SI },
        { "divps", TOKEN_INSN, C_none, I_DIVPS },
        { "divss", TOKEN_INSN, C_none, I_DIVSS },
        { "ldmxcsr", TOKEN_INSN, C_none, I_LDMXCSR },
        { "maxps", TOKEN_INSN, C_none, I_MAXPS },
        { "maxss", TOKEN_INSN, C_none, I_MAXSS },
        { "minps", TOKEN_INSN, C_none, I_MINPS },
        { "minss", TOKEN_INSN, C_none, I_MINSS },
        { "movaps", TOKEN_INSN, C_none, I_MOVAPS },
        { "movhps", TOKEN_INSN, C_none, I_MOVHPS },
        { "movlhps", TOKEN_INSN, C_none, I_MOVLHPS },
        { "movlps", TOKEN_INSN, C_none, I_MOVLPS },
        { "movhlps", TOKEN_INSN, C_none, I_MOVHLPS },
        { "movmskps", TOKEN_INSN, C_none, I_MOVMSKPS },
        { "movntps", TOKEN_INSN, C_none, I_MOVNTPS },
        { "movss", TOKEN_INSN, C_none, I_MOVSS },
        { "movups", TOKEN_INSN, C_none, I_MOVUPS },
        { "mulps", TOKEN_INSN, C_none, I_MULPS },
        { "mulss", TOKEN_INSN, C_none, I_MULSS },
        { "orps", TOKEN_INSN, C_none, I_ORPS },
        { "rcpps", TOKEN_INSN, C_none, I_RCPPS },
        { "rcpss", TOKEN_INSN, C_none, I_RCPSS },
        { "rsqrtps", TOKEN_INSN, C_none, I_RSQRTPS },
        { "rsqrtss", TOKEN_INSN, C_none, I_RSQRTSS },
        { "shufps", TOKEN_INSN, C_none, I_SHUFPS },
        { "sqrtps", TOKEN_INSN, C_none, I_SQRTPS },
        { "sqrtss", TOKEN_INSN, C_none, I_SQRTSS },
        { "stmxcsr", TOKEN_INSN, C_none, I_STMXCSR },
        { "subps", TOKEN_INSN, C_none, I_SUBPS },
        { "subss", TOKEN_INSN, C_none, I_SUBSS },
        { "ucomiss", TOKEN_INSN, C_none, I_UCOMISS },
        { "unpckhps", TOKEN_INSN, C_none, I_UNPCKHPS },
        { "unpcklps", TOKEN_INSN, C_none, I_UNPCKLPS },
        { "xorps", TOKEN_INSN, C_none, I_XORPS },
        { "fxrstor", TOKEN_INSN, C_none, I_FXRSTOR },
        { "fxrstor64", TOKEN_INSN, C_none, I_FXRSTOR64 },
        { "fxsave", TOKEN_INSN, C_none, I_FXSAVE },
        { "fxsave64", TOKEN_INSN, C_none, I_FXSAVE64 },
        { "xgetbv", TOKEN_INSN, C_none, I_XGETBV },
        { "xsetbv", TOKEN_INSN, C_none, I_XSETBV },
        { "xsave", TOKEN_INSN, C_none, I_XSAVE },
        { "xsave64", TOKEN_INSN, C_none, I_XSAVE64 },
        { "xsaveopt", TOKEN_INSN, C_none, I_XSAVEOPT },
        { "xsaveopt64", TOKEN_INSN, C_none, I_XSAVEOPT64 },
        { "xrstor", TOKEN_INSN, C_none, I_XRSTOR },
        { "xrstor64", TOKEN_INSN, C_none, I_XRSTOR64 },
        { "prefetchnta", TOKEN_INSN, C_none, I_PREFETCHNTA },
        { "prefetcht0", TOKEN_INSN, C_none, I_PREFETCHT0 },
        { "prefetcht1", TOKEN_INSN, C_none, I_PREFETCHT1 },
        { "prefetcht2", TOKEN_INSN, C_none, I_PREFETCHT2 },
        { "maskmovq", TOKEN_INSN, C_none, I_MASKMOVQ },
        { "movntq", TOKEN_INSN, C_none, I_MOVNTQ },
        { "pavgb", TOKEN_INSN, C_none, I_PAVGB },
        { "pavgw", TOKEN_INSN, C_none, I_PAVGW },
        { "pextrw", TOKEN_INSN, C_none, I_PEXTRW },
        { "pinsrw", TOKEN_INSN, C_none, I_PINSRW },
        { "pmaxsw", TOKEN_INSN, C_none, I_PMAXSW },
        { "pmaxub", TOKEN_INSN, C_none, I_PMAXUB },
        { "pminsw", TOKEN_INSN, C_none, I_PMINSW },
        { "pminub", TOKEN_INSN, C_none, I_PMINUB },
        { "pmovmskb", TOKEN_INSN, C_none, I_PMOVMSKB },
        { "pmulhuw", TOKEN_INSN, C_none, I_PMULHUW },
        { "psadbw", TOKEN_INSN, C_none, I_PSADBW },
        { "pshufw", TOKEN_INSN, C_none, I_PSHUFW },
        { "pf2iw", TOKEN_INSN, C_none, I_PF2IW },
        { "pfnacc", TOKEN_INSN, C_none, I_PFNACC },
        { "pfpnacc", TOKEN_INSN, C_none, I_PFPNACC },
        { "pi2fw", TOKEN_INSN, C_none, I_PI2FW },
        { "pswapd", TOKEN_INSN, C_none, I_PSWAPD },
        { "maskmovdqu", TOKEN_INSN, C_none, I_MASKMOVDQU },
        { "clflush", TOKEN_INSN, C_none, I_CLFLUSH },
        { "movntdq", TOKEN_INSN, C_none, I_MOVNTDQ },
        { "movnti", TOKEN_INSN, C_none, I_MOVNTI },
        { "movntpd", TOKEN_INSN, C_none, I_MOVNTPD },
        { "movdqa", TOKEN_INSN, C_none, I_MOVDQA },
        { "movdqu", TOKEN_INSN, C_none, I_MOVDQU },
        { "movdq2q", TOKEN_INSN, C_none, I_MOVDQ2Q },
        { "movq2dq", TOKEN_INSN, C_none, I_MOVQ2DQ },
        { "paddq", TOKEN_INSN, C_none, I_PADDQ },
        { "pmuludq", TOKEN_INSN, C_none, I_PMULUDQ },
        { "pshufd", TOKEN_INSN, C_none, I_PSHUFD },
        { "pshufhw", TOKEN_INSN, C_none, I_PSHUFHW },
        { "pshuflw", TOKEN_INSN, C_none, I_PSHUFLW },
        { "pslldq", TOKEN_INSN, C_none, I_PSLLDQ },
        { "psrldq", TOKEN_INSN, C_none, I_PSRLDQ },
        { "psubq", TOKEN_INSN, C_none, I_PSUBQ },
        { "punpckhqdq", TOKEN_INSN, C_none, I_PUNPCKHQDQ },
        { "punpcklqdq", TOKEN_INSN, C_none, I_PUNPCKLQDQ },
        { "addpd", TOKEN_INSN, C_none, I_ADDPD },
        { "addsd", TOKEN_INSN, C_none, I_ADDSD },
        { "andnpd", TOKEN_INSN, C_none, I_ANDNPD },
        { "andpd", TOKEN_INSN, C_none, I_ANDPD },
        { "cmpeqpd", TOKEN_INSN, C_none, I_CMPEQPD },
        { "cmpeqsd", TOKEN_INSN, C_none, I_CMPEQSD },
        { "cmplepd", TOKEN_INSN, C_none, I_CMPLEPD },
        { "cmplesd", TOKEN_INSN, C_none, I_CMPLESD },
        { "cmpltpd", TOKEN_INSN, C_none, I_CMPLTPD },
        { "cmpltsd", TOKEN_INSN, C_none, I_CMPLTSD },
        { "cmpneqpd", TOKEN_INSN, C_none, I_CMPNEQPD },
        { "cmpneqsd", TOKEN_INSN, C_none, I_CMPNEQSD },
        { "cmpnlepd", TOKEN_INSN, C_none, I_CMPNLEPD },
        { "cmpnlesd", TOKEN_INSN, C_none, I_CMPNLESD },
        { "cmpnltpd", TOKEN_INSN, C_none, I_CMPNLTPD },
        { "cmpnltsd", TOKEN_INSN, C_none, I_CMPNLTSD },
        { "cmpordpd", TOKEN_INSN, C_none, I_CMPORDPD },
        { "cmpordsd", TOKEN_INSN, C_none, I_CMPORDSD },
        { "cmpunordpd", TOKEN_INSN, C_none, I_CMPUNORDPD },
        { "cmpunordsd", TOKEN_INSN, C_none, I_CMPUNORDSD },
        { "cmppd", TOKEN_INSN, C_none, I_CMPPD },
        { "comisd", TOKEN_INSN, C_none, I_COMISD },
        { "cvtdq2pd", TOKEN_INSN, C_none, I_CVTDQ2PD },
        { "cvtdq2ps", TOKEN_INSN, C_none, I_CVTDQ2PS },
        { "cvtpd2dq", TOKEN_INSN, C_none, I_CVTPD2DQ },
        { "cvtpd2pi", TOKEN_INSN, C_none, I_CVTPD2PI },
        { "cvtpd2ps", TOKEN_INSN, C_none, I_CVTPD2PS },
        { "cvtpi2pd", TOKEN_INSN, C_none, I_CVTPI2PD },
        { "cvtps2dq", TOKEN_INSN, C_none, I_CVTPS2DQ },
        { "cvtps2pd", TOKEN_INSN, C_none, I_CVTPS2PD },
        { "cvtsd2si", TOKEN_INSN, C_none, I_CVTSD2SI },
        { "cvtsd2ss", TOKEN_INSN, C_none, I_CVTSD2SS },
        { "cvtsi2sd", TOKEN_INSN, C_none, I_CVTSI2SD },
        { "cvtss2sd", TOKEN_INSN, C_none, I_CVTSS2SD },
        { "cvttpd2pi", TOKEN_INSN, C_none, I_CVTTPD2PI },
        { "cvttpd2dq", TOKEN_INSN, C_none, I_CVTTPD2DQ },
        { "cvttps2dq", TOKEN_INSN, C_none, I_CVTTPS2DQ },
        { "cvttsd2si", TOKEN_INSN, C_none, I_CVTTSD2SI },
        { "divpd", TOKEN_INSN, C_none, I_DIVPD },
        { "divsd", TOKEN_INSN, C_none, I_DIVSD },
        { "maxpd", TOKEN_INSN, C_none, I_MAXPD },
        { "maxsd", TOKEN_INSN, C_none, I_MAXSD },
        { "minpd", TOKEN_INSN, C_none, I_MINPD },
        { "minsd", TOKEN_INSN, C_none, I_MINSD },
        { "movapd", TOKEN_INSN, C_none, I_MOVAPD },
        { "movhpd", TOKEN_INSN, C_none, I_MOVHPD },
        { "movlpd", TOKEN_INSN, C_none, I_MOVLPD },
        { "movmskpd", TOKEN_INSN, C_none, I_MOVMSKPD },
        { "movupd", TOKEN_INSN, C_none, I_MOVUPD },
        { "mulpd", TOKEN_INSN, C_none, I_MULPD },
        { "mulsd", TOKEN_INSN, C_none, I_MULSD },
        { "orpd", TOKEN_INSN, C_none, I_ORPD },
        { "shufpd", TOKEN_INSN, C_none, I_SHUFPD },
        { "sqrtpd", TOKEN_INSN, C_none, I_SQRTPD },
        { "sqrtsd", TOKEN_INSN, C_none, I_SQRTSD },
        { "subpd", TOKEN_INSN, C_none, I_SUBPD },
        { "subsd", TOKEN_INSN, C_none, I_SUBSD },
        { "ucomisd", TOKEN_INSN, C_none, I_UCOMISD },
        { "unpckhpd", TOKEN_INSN, C_none, I_UNPCKHPD },
        { "unpcklpd", TOKEN_INSN, C_none, I_UNPCKLPD },
        { "xorpd", TOKEN_INSN, C_none, I_XORPD },
        { "addsubpd", TOKEN_INSN, C_none, I_ADDSUBPD },
        { "addsubps", TOKEN_INSN, C_none, I_ADDSUBPS },
        { "haddpd", TOKEN_INSN, C_none, I_HADDPD },
        { "haddps", TOKEN_INSN, C_none, I_HADDPS },
        { "hsubpd", TOKEN_INSN, C_none, I_HSUBPD },
        { "hsubps", TOKEN_INSN, C_none, I_HSUBPS },
        { "lddqu", TOKEN_INSN, C_none, I_LDDQU },
        { "movddup", TOKEN_INSN, C_none, I_MOVDDUP },
        { "movshdup", TOKEN_INSN, C_none, I_MOVSHDUP },
        { "movsldup", TOKEN_INSN, C_none, I_MOVSLDUP },
        { "vmcall", TOKEN_INSN, C_none, I_VMCALL },
        { "vmclear", TOKEN_INSN, C_none, I_VMCLEAR },
        { "vmfunc", TOKEN_INSN, C_none, I_VMFUNC },
        { "vmlaunch", TOKEN_INSN, C_none, I_VMLAUNCH },
        { "vmload", TOKEN_INSN, C_none, I_VMLOAD },
        { "vmmcall", TOKEN_INSN, C_none, I_VMMCALL },
        { "vmptrld", TOKEN_INSN, C_none, I_VMPTRLD },
        { "vmptrst", TOKEN_INSN, C_none, I_VMPTRST },
        { "vmread", TOKEN_INSN, C_none, I_VMREAD },
        { "vmresume", TOKEN_INSN, C_none, I_VMRESUME },
        { "vmrun", TOKEN_INSN, C_none, I_VMRUN },
        { "vmsave", TOKEN_INSN, C_none, I_VMSAVE },
        { "vmwrite", TOKEN_INSN, C_none, I_VMWRITE },
        { "vmxoff", TOKEN_INSN, C_none, I_VMXOFF },
        { "vmxon", TOKEN_INSN, C_none, I_VMXON },
        { "invept", TOKEN_INSN, C_none, I_INVEPT },
        { "invvpid", TOKEN_INSN, C_none, I_INVVPID },
        { "pabsb", TOKEN_INSN, C_none, I_PABSB },
        { "pabsw", TOKEN_INSN, C_none, I_PABSW },
        { "pabsd", TOKEN_INSN, C_none, I_PABSD },
        { "palignr", TOKEN_INSN, C_none, I_PALIGNR },
        { "phaddw", TOKEN_INSN, C_none, I_PHADDW },
        { "phaddd", TOKEN_INSN, C_none, I_PHADDD },
        { "phaddsw", TOKEN_INSN, C_none, I_PHADDSW },
        { "phsubw", TOKEN_INSN, C_none, I_PHSUBW },
        { "phsubd", TOKEN_INSN, C_none, I_PHSUBD },
        { "phsubsw", TOKEN_INSN, C_none, I_PHSUBSW },
        { "pmaddubsw", TOKEN_INSN, C_none, I_PMADDUBSW },
        { "pmulhrsw", TOKEN_INSN, C_none, I_PMULHRSW },
        { "pshufb", TOKEN_INSN, C_none, I_PSHUFB },
        { "psignb", TOKEN_INSN, C_none, I_PSIGNB },
        { "psignw", TOKEN_INSN, C_none, I_PSIGNW },
        { "psignd", TOKEN_INSN, C_none, I_PSIGND },
        { "extrq", TOKEN_INSN, C_none, I_EXTRQ },
        { "insertq", TOKEN_INSN, C_none, I_INSERTQ },
        { "movntsd", TOKEN_INSN, C_none, I_MOVNTSD },
        { "movntss", TOKEN_INSN, C_none, I_MOVNTSS },
        { "lzcnt", TOKEN_INSN, C_none, I_LZCNT },
        { "blendpd", TOKEN_INSN, C_none, I_BLENDPD },
        { "blendps", TOKEN_INSN, C_none, I_BLENDPS },
        { "blendvpd", TOKEN_INSN, C_none, I_BLENDVPD },
        { "blendvps", TOKEN_INSN, C_none, I_BLENDVPS },
        { "dppd", TOKEN_INSN, C_none, I_DPPD },
        { "dpps", TOKEN_INSN, C_none, I_DPPS },
        { "extractps", TOKEN_INSN, C_none, I_EXTRACTPS },
        { "insertps", TOKEN_INSN, C_none, I_INSERTPS },
        { "movntdqa", TOKEN_INSN, C_none, I_MOVNTDQA },
        { "mpsadbw", TOKEN_INSN, C_none, I_MPSADBW },
        { "packusdw", TOKEN_INSN, C_none, I_PACKUSDW },
        { "pblendvb", TOKEN_INSN, C_none, I_PBLENDVB },
        { "pblendw", TOKEN_INSN, C_none, I_PBLENDW },
        { "pcmpeqq", TOKEN_INSN, C_none, I_PCMPEQQ },
        { "pextrb", TOKEN_INSN, C_none, I_PEXTRB },
        { "pextrd", TOKEN_INSN, C_none, I_PEXTRD },
        { "pextrq", TOKEN_INSN, C_none, I_PEXTRQ },
        { "phminposuw", TOKEN_INSN, C_none, I_PHMINPOSUW },
        { "pinsrb", TOKEN_INSN, C_none, I_PINSRB },
        { "pinsrd", TOKEN_INSN, C_none, I_PINSRD },
        { "pinsrq", TOKEN_INSN, C_none, I_PINSRQ },
        { "pmaxsb", TOKEN_INSN, C_none, I_PMAXSB },
        { "pmaxsd", TOKEN_INSN, C_none, I_PMAXSD },
        { "pmaxud", TOKEN_INSN, C_none, I_PMAXUD },
        { "pmaxuw", TOKEN_INSN, C_none, I_PMAXUW },
        { "pminsb", TOKEN_INSN, C_none, I_PMINSB },
        { "pminsd", TOKEN_INSN, C_none, I_PMINSD },
        { "pminud", TOKEN_INSN, C_none, I_PMINUD },
        { "pminuw", TOKEN_INSN, C_none, I_PMINUW },
        { "pmovsxbw", TOKEN_INSN, C_none, I_PMOVSXBW },
        { "pmovsxbd", TOKEN_INSN, C_none, I_PMOVSXBD },
        { "pmovsxbq", TOKEN_INSN, C_none, I_PMOVSXBQ },
        { "pmovsxwd", TOKEN_INSN, C_none, I_PMOVSXWD },
        { "pmovsxwq", TOKEN_INSN, C_none, I_PMOVSXWQ },
        { "pmovsxdq", TOKEN_INSN, C_none, I_PMOVSXDQ },
        { "pmovzxbw", TOKEN_INSN, C_none, I_PMOVZXBW },
        { "pmovzxbd", TOKEN_INSN, C_none, I_PMOVZXBD },
        { "pmovzxbq", TOKEN_INSN, C_none, I_PMOVZXBQ },
        { "pmovzxwd", TOKEN_INSN, C_none, I_PMOVZXWD },
        { "pmovzxwq", TOKEN_INSN, C_none, I_PMOVZXWQ },
        { "pmovzxdq", TOKEN_INSN, C_none, I_PMOVZXDQ },
        { "pmuldq", TOKEN_INSN, C_none, I_PMULDQ },
        { "pmulld", TOKEN_INSN, C_none, I_PMULLD },
        { "ptest", TOKEN_INSN, C_none, I_PTEST },
        { "roundpd", TOKEN_INSN, C_none, I_ROUNDPD },
        { "roundps", TOKEN_INSN, C_none, I_ROUNDPS },
        { "roundsd", TOKEN_INSN, C_none, I_ROUNDSD },
        { "roundss", TOKEN_INSN, C_none, I_ROUNDSS },
        { "crc32", TOKEN_INSN, C_none, I_CRC32 },
        { "pcmpestri", TOKEN_INSN, C_none, I_PCMPESTRI },
        { "pcmpestrm", TOKEN_INSN, C_none, I_PCMPESTRM },
        { "pcmpistri", TOKEN_INSN, C_none, I_PCMPISTRI },
        { "pcmpistrm", TOKEN_INSN, C_none, I_PCMPISTRM },
        { "pcmpgtq", TOKEN_INSN, C_none, I_PCMPGTQ },
        { "popcnt", TOKEN_INSN, C_none, I_POPCNT },
        { "getsec", TOKEN_INSN, C_none, I_GETSEC },
        { "pfrcpv", TOKEN_INSN, C_none, I_PFRCPV },
        { "pfrsqrtv", TOKEN_INSN, C_none, I_PFRSQRTV },
        { "movbe", TOKEN_INSN, C_none, I_MOVBE },
        { "aesenc", TOKEN_INSN, C_none, I_AESENC },
        { "aesenclast", TOKEN_INSN, C_none, I_AESENCLAST },
        { "aesdec", TOKEN_INSN, C_none, I_AESDEC },
        { "aesdeclast", TOKEN_INSN, C_none, I_AESDECLAST },
        { "aesimc", TOKEN_INSN, C_none, I_AESIMC },
        { "aeskeygenassist", TOKEN_INSN, C_none, I_AESKEYGENASSIST },
        { "vaesenc", TOKEN_INSN, C_none, I_VAESENC },
        { "vaesenclast", TOKEN_INSN, C_none, I_VAESENCLAST },
        { "vaesdec", TOKEN_INSN, C_none, I_VAESDEC },
        { "vaesdeclast", TOKEN_INSN, C_none, I_VAESDECLAST },
        { "vaesimc", TOKEN_INSN, C_none, I_VAESIMC },
        { "vaeskeygenassist", TOKEN_INSN, C_none, I_VAESKEYGENASSIST },
        { "vaddpd", TOKEN_INSN, C_none, I_VADDPD },
        { "vaddps", TOKEN_INSN, C_none, I_VADDPS },
        { "vaddsd", TOKEN_INSN, C_none, I_VADDSD },
        { "vaddss", TOKEN_INSN, C_none, I_VADDSS },
        { "vaddsubpd", TOKEN_INSN, C_none, I_VADDSUBPD },
        { "vaddsubps", TOKEN_INSN, C_none, I_VADDSUBPS },
        { "vandpd", TOKEN_INSN, C_none, I_VANDPD },
        { "vandps", TOKEN_INSN, C_none, I_VANDPS },
        { "vandnpd", TOKEN_INSN, C_none, I_VANDNPD },
        { "vandnps", TOKEN_INSN, C_none, I_VANDNPS },
        { "vblendpd", TOKEN_INSN, C_none, I_VBLENDPD },
        { "vblendps", TOKEN_INSN, C_none, I_VBLENDPS },
        { "vblendvpd", TOKEN_INSN, C_none, I_VBLENDVPD },
        { "vblendvps", TOKEN_INSN, C_none, I_VBLENDVPS },
        { "vbroadcastss", TOKEN_INSN, C_none, I_VBROADCASTSS },
        { "vbroadcastsd", TOKEN_INSN, C_none, I_VBROADCASTSD },
        { "vbroadcastf128", TOKEN_INSN, C_none, I_VBROADCASTF128 },
        { "vcmpeq_ospd", TOKEN_INSN, C_none, I_VCMPEQ_OSPD },
        { "vcmpeqpd", TOKEN_INSN, C_none, I_VCMPEQPD },
        { "vcmplt_ospd", TOKEN_INSN, C_none, I_VCMPLT_OSPD },
        { "vcmpltpd", TOKEN_INSN, C_none, I_VCMPLTPD },
        { "vcmple_ospd", TOKEN_INSN, C_none, I_VCMPLE_OSPD },
        { "vcmplepd", TOKEN_INSN, C_none, I_VCMPLEPD },
        { "vcmpunord_qpd", TOKEN_INSN, C_none, I_VCMPUNORD_QPD },
        { "vcmpunordpd", TOKEN_INSN, C_none, I_VCMPUNORDPD },
        { "vcmpneq_uqpd", TOKEN_INSN, C_none, I_VCMPNEQ_UQPD },
        { "vcmpneqpd", TOKEN_INSN, C_none, I_VCMPNEQPD },
        { "vcmpnlt_uspd", TOKEN_INSN, C_none, I_VCMPNLT_USPD },
        { "vcmpnltpd", TOKEN_INSN, C_none, I_VCMPNLTPD },
        { "vcmpnle_uspd", TOKEN_INSN, C_none, I_VCMPNLE_USPD },
        { "vcmpnlepd", TOKEN_INSN, C_none, I_VCMPNLEPD },
        { "vcmpord_qpd", TOKEN_INSN, C_none, I_VCMPORD_QPD },
        { "vcmpordpd", TOKEN_INSN, C_none, I_VCMPORDPD },
        { "vcmpeq_uqpd", TOKEN_INSN, C_none, I_VCMPEQ_UQPD },
        { "vcmpnge_uspd", TOKEN_INSN, C_none, I_VCMPNGE_USPD },
        { "vcmpngepd", TOKEN_INSN, C_none, I_VCMPNGEPD },
        { "vcmpngt_uspd", TOKEN_INSN, C_none, I_VCMPNGT_USPD },
        { "vcmpngtpd", TOKEN_INSN, C_none, I_VCMPNGTPD },
        { "vcmpfalse_oqpd", TOKEN_INSN, C_none, I_VCMPFALSE_OQPD },
        { "vcmpfalsepd", TOKEN_INSN, C_none, I_VCMPFALSEPD },
        { "vcmpneq_oqpd", TOKEN_INSN, C_none, I_VCMPNEQ_OQPD },
        { "vcmpge_ospd", TOKEN_INSN, C_none, I_VCMPGE_OSPD },
        { "vcmpgepd", TOKEN_INSN, C_none, I_VCMPGEPD },
        { "vcmpgt_ospd", TOKEN_INSN, C_none, I_VCMPGT_OSPD },
        { "vcmpgtpd", TOKEN_INSN, C_none, I_VCMPGTPD },
        { "vcmptrue_uqpd", TOKEN_INSN, C_none, I_VCMPTRUE_UQPD },
        { "vcmptruepd", TOKEN_INSN, C_none, I_VCMPTRUEPD },
        { "vcmplt_oqpd", TOKEN_INSN, C_none, I_VCMPLT_OQPD },
        { "vcmple_oqpd", TOKEN_INSN, C_none, I_VCMPLE_OQPD },
        { "vcmpunord_spd", TOKEN_INSN, C_none, I_VCMPUNORD_SPD },
        { "vcmpneq_uspd", TOKEN_INSN, C_none, I_VCMPNEQ_USPD },
        { "vcmpnlt_uqpd", TOKEN_INSN, C_none, I_VCMPNLT_UQPD },
        { "vcmpnle_uqpd", TOKEN_INSN, C_none, I_VCMPNLE_UQPD },
        { "vcmpord_spd", TOKEN_INSN, C_none, I_VCMPORD_SPD },
        { "vcmpeq_uspd", TOKEN_INSN, C_none, I_VCMPEQ_USPD },
        { "vcmpnge_uqpd", TOKEN_INSN, C_none, I_VCMPNGE_UQPD },
        { "vcmpngt_uqpd", TOKEN_INSN, C_none, I_VCMPNGT_UQPD },
        { "vcmpfalse_ospd", TOKEN_INSN, C_none, I_VCMPFALSE_OSPD },
        { "vcmpneq_ospd", TOKEN_INSN, C_none, I_VCMPNEQ_OSPD },
        { "vcmpge_oqpd", TOKEN_INSN, C_none, I_VCMPGE_OQPD },
        { "vcmpgt_oqpd", TOKEN_INSN, C_none, I_VCMPGT_OQPD },
        { "vcmptrue_uspd", TOKEN_INSN, C_none, I_VCMPTRUE_USPD },
        { "vcmppd", TOKEN_INSN, C_none, I_VCMPPD },
        { "vcmpeq_osps", TOKEN_INSN, C_none, I_VCMPEQ_OSPS },
        { "vcmpeqps", TOKEN_INSN, C_none, I_VCMPEQPS },
        { "vcmplt_osps", TOKEN_INSN, C_none, I_VCMPLT_OSPS },
        { "vcmpltps", TOKEN_INSN, C_none, I_VCMPLTPS },
        { "vcmple_osps", TOKEN_INSN, C_none, I_VCMPLE_OSPS },
        { "vcmpleps", TOKEN_INSN, C_none, I_VCMPLEPS },
        { "vcmpunord_qps", TOKEN_INSN, C_none, I_VCMPUNORD_QPS },
        { "vcmpunordps", TOKEN_INSN, C_none, I_VCMPUNORDPS },
        { "vcmpneq_uqps", TOKEN_INSN, C_none, I_VCMPNEQ_UQPS },
        { "vcmpneqps", TOKEN_INSN, C_none, I_VCMPNEQPS },
        { "vcmpnlt_usps", TOKEN_INSN, C_none, I_VCMPNLT_USPS },
        { "vcmpnltps", TOKEN_INSN, C_none, I_VCMPNLTPS },
        { "vcmpnle_usps", TOKEN_INSN, C_none, I_VCMPNLE_USPS },
        { "vcmpnleps", TOKEN_INSN, C_none, I_VCMPNLEPS },
        { "vcmpord_qps", TOKEN_INSN, C_none, I_VCMPORD_QPS },
        { "vcmpordps", TOKEN_INSN, C_none, I_VCMPORDPS },
        { "vcmpeq_uqps", TOKEN_INSN, C_none, I_VCMPEQ_UQPS },
        { "vcmpnge_usps", TOKEN_INSN, C_none, I_VCMPNGE_USPS },
        { "vcmpngeps", TOKEN_INSN, C_none, I_VCMPNGEPS },
        { "vcmpngt_usps", TOKEN_INSN, C_none, I_VCMPNGT_USPS },
        { "vcmpngtps", TOKEN_INSN, C_none, I_VCMPNGTPS },
        { "vcmpfalse_oqps", TOKEN_INSN, C_none, I_VCMPFALSE_OQPS },
        { "vcmpfalseps", TOKEN_INSN, C_none, I_VCMPFALSEPS },
        { "vcmpneq_oqps", TOKEN_INSN, C_none, I_VCMPNEQ_OQPS },
        { "vcmpge_osps", TOKEN_INSN, C_none, I_VCMPGE_OSPS },
        { "vcmpgeps", TOKEN_INSN, C_none, I_VCMPGEPS },
        { "vcmpgt_osps", TOKEN_INSN, C_none, I_VCMPGT_OSPS },
        { "vcmpgtps", TOKEN_INSN, C_none, I_VCMPGTPS },
        { "vcmptrue_uqps", TOKEN_INSN, C_none, I_VCMPTRUE_UQPS },
        { "vcmptrueps", TOKEN_INSN, C_none, I_VCMPTRUEPS },
        { "vcmplt_oqps", TOKEN_INSN, C_none, I_VCMPLT_OQPS },
        { "vcmple_oqps", TOKEN_INSN, C_none, I_VCMPLE_OQPS },
        { "vcmpunord_sps", TOKEN_INSN, C_none, I_VCMPUNORD_SPS },
        { "vcmpneq_usps", TOKEN_INSN, C_none, I_VCMPNEQ_USPS },
        { "vcmpnlt_uqps", TOKEN_INSN, C_none, I_VCMPNLT_UQPS },
        { "vcmpnle_uqps", TOKEN_INSN, C_none, I_VCMPNLE_UQPS },
        { "vcmpord_sps", TOKEN_INSN, C_none, I_VCMPORD_SPS },
        { "vcmpeq_usps", TOKEN_INSN, C_none, I_VCMPEQ_USPS },
        { "vcmpnge_uqps", TOKEN_INSN, C_none, I_VCMPNGE_UQPS },
        { "vcmpngt_uqps", TOKEN_INSN, C_none, I_VCMPNGT_UQPS },
        { "vcmpfalse_osps", TOKEN_INSN, C_none, I_VCMPFALSE_OSPS },
        { "vcmpneq_osps", TOKEN_INSN, C_none, I_VCMPNEQ_OSPS },
        { "vcmpge_oqps", TOKEN_INSN, C_none, I_VCMPGE_OQPS },
        { "vcmpgt_oqps", TOKEN_INSN, C_none, I_VCMPGT_OQPS },
        { "vcmptrue_usps", TOKEN_INSN, C_none, I_VCMPTRUE_USPS },
        { "vcmpps", TOKEN_INSN, C_none, I_VCMPPS },
        { "vcmpeq_ossd", TOKEN_INSN, C_none, I_VCMPEQ_OSSD },
        { "vcmpeqsd", TOKEN_INSN, C_none, I_VCMPEQSD },
        { "vcmplt_ossd", TOKEN_INSN, C_none, I_VCMPLT_OSSD },
        { "vcmpltsd", TOKEN_INSN, C_none, I_VCMPLTSD },
        { "vcmple_ossd", TOKEN_INSN, C_none, I_VCMPLE_OSSD },
        { "vcmplesd", TOKEN_INSN, C_none, I_VCMPLESD },
        { "vcmpunord_qsd", TOKEN_INSN, C_none, I_VCMPUNORD_QSD },
        { "vcmpunordsd", TOKEN_INSN, C_none, I_VCMPUNORDSD },
        { "vcmpneq_uqsd", TOKEN_INSN, C_none, I_VCMPNEQ_UQSD },
        { "vcmpneqsd", TOKEN_INSN, C_none, I_VCMPNEQSD },
        { "vcmpnlt_ussd", TOKEN_INSN, C_none, I_VCMPNLT_USSD },
        { "vcmpnltsd", TOKEN_INSN, C_none, I_VCMPNLTSD },
        { "vcmpnle_ussd", TOKEN_INSN, C_none, I_VCMPNLE_USSD },
        { "vcmpnlesd", TOKEN_INSN, C_none, I_VCMPNLESD },
        { "vcmpord_qsd", TOKEN_INSN, C_none, I_VCMPORD_QSD },
        { "vcmpordsd", TOKEN_INSN, C_none, I_VCMPORDSD },
        { "vcmpeq_uqsd", TOKEN_INSN, C_none, I_VCMPEQ_UQSD },
        { "vcmpnge_ussd", TOKEN_INSN, C_none, I_VCMPNGE_USSD },
        { "vcmpngesd", TOKEN_INSN, C_none, I_VCMPNGESD },
        { "vcmpngt_ussd", TOKEN_INSN, C_none, I_VCMPNGT_USSD },
        { "vcmpngtsd", TOKEN_INSN, C_none, I_VCMPNGTSD },
        { "vcmpfalse_oqsd", TOKEN_INSN, C_none, I_VCMPFALSE_OQSD },
        { "vcmpfalsesd", TOKEN_INSN, C_none, I_VCMPFALSESD },
        { "vcmpneq_oqsd", TOKEN_INSN, C_none, I_VCMPNEQ_OQSD },
        { "vcmpge_ossd", TOKEN_INSN, C_none, I_VCMPGE_OSSD },
        { "vcmpgesd", TOKEN_INSN, C_none, I_VCMPGESD },
        { "vcmpgt_ossd", TOKEN_INSN, C_none, I_VCMPGT_OSSD },
        { "vcmpgtsd", TOKEN_INSN, C_none, I_VCMPGTSD },
        { "vcmptrue_uqsd", TOKEN_INSN, C_none, I_VCMPTRUE_UQSD },
        { "vcmptruesd", TOKEN_INSN, C_none, I_VCMPTRUESD },
        { "vcmplt_oqsd", TOKEN_INSN, C_none, I_VCMPLT_OQSD },
        { "vcmple_oqsd", TOKEN_INSN, C_none, I_VCMPLE_OQSD },
        { "vcmpunord_ssd", TOKEN_INSN, C_none, I_VCMPUNORD_SSD },
        { "vcmpneq_ussd", TOKEN_INSN, C_none, I_VCMPNEQ_USSD },
        { "vcmpnlt_uqsd", TOKEN_INSN, C_none, I_VCMPNLT_UQSD },
        { "vcmpnle_uqsd", TOKEN_INSN, C_none, I_VCMPNLE_UQSD },
        { "vcmpord_ssd", TOKEN_INSN, C_none, I_VCMPORD_SSD },
        { "vcmpeq_ussd", TOKEN_INSN, C_none, I_VCMPEQ_USSD },
        { "vcmpnge_uqsd", TOKEN_INSN, C_none, I_VCMPNGE_UQSD },
        { "vcmpngt_uqsd", TOKEN_INSN, C_none, I_VCMPNGT_UQSD },
        { "vcmpfalse_ossd", TOKEN_INSN, C_none, I_VCMPFALSE_OSSD },
        { "vcmpneq_ossd", TOKEN_INSN, C_none, I_VCMPNEQ_OSSD },
        { "vcmpge_oqsd", TOKEN_INSN, C_none, I_VCMPGE_OQSD },
        { "vcmpgt_oqsd", TOKEN_INSN, C_none, I_VCMPGT_OQSD },
        { "vcmptrue_ussd", TOKEN_INSN, C_none, I_VCMPTRUE_USSD },
        { "vcmpsd", TOKEN_INSN, C_none, I_VCMPSD },
        { "vcmpeq_osss", TOKEN_INSN, C_none, I_VCMPEQ_OSSS },
        { "vcmpeqss", TOKEN_INSN, C_none, I_VCMPEQSS },
        { "vcmplt_osss", TOKEN_INSN, C_none, I_VCMPLT_OSSS },
        { "vcmpltss", TOKEN_INSN, C_none, I_VCMPLTSS },
        { "vcmple_osss", TOKEN_INSN, C_none, I_VCMPLE_OSSS },
        { "vcmpless", TOKEN_INSN, C_none, I_VCMPLESS },
        { "vcmpunord_qss", TOKEN_INSN, C_none, I_VCMPUNORD_QSS },
        { "vcmpunordss", TOKEN_INSN, C_none, I_VCMPUNORDSS },
        { "vcmpneq_uqss", TOKEN_INSN, C_none, I_VCMPNEQ_UQSS },
        { "vcmpneqss", TOKEN_INSN, C_none, I_VCMPNEQSS },
        { "vcmpnlt_usss", TOKEN_INSN, C_none, I_VCMPNLT_USSS },
        { "vcmpnltss", TOKEN_INSN, C_none, I_VCMPNLTSS },
        { "vcmpnle_usss", TOKEN_INSN, C_none, I_VCMPNLE_USSS },
        { "vcmpnless", TOKEN_INSN, C_none, I_VCMPNLESS },
        { "vcmpord_qss", TOKEN_INSN, C_none, I_VCMPORD_QSS },
        { "vcmpordss", TOKEN_INSN, C_none, I_VCMPORDSS },
        { "vcmpeq_uqss", TOKEN_INSN, C_none, I_VCMPEQ_UQSS },
        { "vcmpnge_usss", TOKEN_INSN, C_none, I_VCMPNGE_USSS },
        { "vcmpngess", TOKEN_INSN, C_none, I_VCMPNGESS },
        { "vcmpngt_usss", TOKEN_INSN, C_none, I_VCMPNGT_USSS },
        { "vcmpngtss", TOKEN_INSN, C_none, I_VCMPNGTSS },
        { "vcmpfalse_oqss", TOKEN_INSN, C_none, I_VCMPFALSE_OQSS },
        { "vcmpfalsess", TOKEN_INSN, C_none, I_VCMPFALSESS },
        { "vcmpneq_oqss", TOKEN_INSN, C_none, I_VCMPNEQ_OQSS },
        { "vcmpge_osss", TOKEN_INSN, C_none, I_VCMPGE_OSSS },
        { "vcmpgess", TOKEN_INSN, C_none, I_VCMPGESS },
        { "vcmpgt_osss", TOKEN_INSN, C_none, I_VCMPGT_OSSS },
        { "vcmpgtss", TOKEN_INSN, C_none, I_VCMPGTSS },
        { "vcmptrue_uqss", TOKEN_INSN, C_none, I_VCMPTRUE_UQSS },
        { "vcmptruess", TOKEN_INSN, C_none, I_VCMPTRUESS },
        { "vcmplt_oqss", TOKEN_INSN, C_none, I_VCMPLT_OQSS },
        { "vcmple_oqss", TOKEN_INSN, C_none, I_VCMPLE_OQSS },
        { "vcmpunord_sss", TOKEN_INSN, C_none, I_VCMPUNORD_SSS },
        { "vcmpneq_usss", TOKEN_INSN, C_none, I_VCMPNEQ_USSS },
        { "vcmpnlt_uqss", TOKEN_INSN, C_none, I_VCMPNLT_UQSS },
        { "vcmpnle_uqss", TOKEN_INSN, C_none, I_VCMPNLE_UQSS },
        { "vcmpord_sss", TOKEN_INSN, C_none, I_VCMPORD_SSS },
        { "vcmpeq_usss", TOKEN_INSN, C_none, I_VCMPEQ_USSS },
        { "vcmpnge_uqss", TOKEN_INSN, C_none, I_VCMPNGE_UQSS },
        { "vcmpngt_uqss", TOKEN_INSN, C_none, I_VCMPNGT_UQSS },
        { "vcmpfalse_osss", TOKEN_INSN, C_none, I_VCMPFALSE_OSSS },
        { "vcmpneq_osss", TOKEN_INSN, C_none, I_VCMPNEQ_OSSS },
        { "vcmpge_oqss", TOKEN_INSN, C_none, I_VCMPGE_OQSS },
        { "vcmpgt_oqss", TOKEN_INSN, C_none, I_VCMPGT_OQSS },
        { "vcmptrue_usss", TOKEN_INSN, C_none, I_VCMPTRUE_USSS },
        { "vcmpss", TOKEN_INSN, C_none, I_VCMPSS },
        { "vcomisd", TOKEN_INSN, C_none, I_VCOMISD },
        { "vcomiss", TOKEN_INSN, C_none, I_VCOMISS },
        { "vcvtdq2pd", TOKEN_INSN, C_none, I_VCVTDQ2PD },
        { "vcvtdq2ps", TOKEN_INSN, C_none, I_VCVTDQ2PS },
        { "vcvtpd2dq", TOKEN_INSN, C_none, I_VCVTPD2DQ },
        { "vcvtpd2ps", TOKEN_INSN, C_none, I_VCVTPD2PS },
        { "vcvtps2dq", TOKEN_INSN, C_none, I_VCVTPS2DQ },
        { "vcvtps2pd", TOKEN_INSN, C_none, I_VCVTPS2PD },
        { "vcvtsd2si", TOKEN_INSN, C_none, I_VCVTSD2SI },
        { "vcvtsd2ss", TOKEN_INSN, C_none, I_VCVTSD2SS },
        { "vcvtsi2sd", TOKEN_INSN, C_none, I_VCVTSI2SD },
        { "vcvtsi2ss", TOKEN_INSN, C_none, I_VCVTSI2SS },
        { "vcvtss2sd", TOKEN_INSN, C_none, I_VCVTSS2SD },
        { "vcvtss2si", TOKEN_INSN, C_none, I_VCVTSS2SI },
        { "vcvttpd2dq", TOKEN_INSN, C_none, I_VCVTTPD2DQ },
        { "vcvttps2dq", TOKEN_INSN, C_none, I_VCVTTPS2DQ },
        { "vcvttsd2si", TOKEN_INSN, C_none, I_VCVTTSD2SI },
        { "vcvttss2si", TOKEN_INSN, C_none, I_VCVTTSS2SI },
        { "vdivpd", TOKEN_INSN, C_none, I_VDIVPD },
        { "vdivps", TOKEN_INSN, C_none, I_VDIVPS },
        { "vdivsd", TOKEN_INSN, C_none, I_VDIVSD },
        { "vdivss", TOKEN_INSN, C_none, I_VDIVSS },
        { "vdppd", TOKEN_INSN, C_none, I_VDPPD },
        { "vdpps", TOKEN_INSN, C_none, I_VDPPS },
        { "vextractf128", TOKEN_INSN, C_none, I_VEXTRACTF128 },
        { "vextractps", TOKEN_INSN, C_none, I_VEXTRACTPS },
        { "vhaddpd", TOKEN_INSN, C_none, I_VHADDPD },
        { "vhaddps", TOKEN_INSN, C_none, I_VHADDPS },
        { "vhsubpd", TOKEN_INSN, C_none, I_VHSUBPD },
        { "vhsubps", TOKEN_INSN, C_none, I_VHSUBPS },
        { "vinsertf128", TOKEN_INSN, C_none, I_VINSERTF128 },
        { "vinsertps", TOKEN_INSN, C_none, I_VINSERTPS },
        { "vlddqu", TOKEN_INSN, C_none, I_VLDDQU },
        { "vldqqu", TOKEN_INSN, C_none, I_VLDQQU },
        { "vldmxcsr", TOKEN_INSN, C_none, I_VLDMXCSR },
        { "vmaskmovdqu", TOKEN_INSN, C_none, I_VMASKMOVDQU },
        { "vmaskmovps", TOKEN_INSN, C_none, I_VMASKMOVPS },
        { "vmaskmovpd", TOKEN_INSN, C_none, I_VMASKMOVPD },
        { "vmaxpd", TOKEN_INSN, C_none, I_VMAXPD },
        { "vmaxps", TOKEN_INSN, C_none, I_VMAXPS },
        { "vmaxsd", TOKEN_INSN, C_none, I_VMAXSD },
        { "vmaxss", TOKEN_INSN, C_none, I_VMAXSS },
        { "vminpd", TOKEN_INSN, C_none, I_VMINPD },
        { "vminps", TOKEN_INSN, C_none, I_VMINPS },
        { "vminsd", TOKEN_INSN, C_none, I_VMINSD },
        { "vminss", TOKEN_INSN, C_none, I_VMINSS },
        { "vmovapd", TOKEN_INSN, C_none, I_VMOVAPD },
        { "vmovaps", TOKEN_INSN, C_none, I_VMOVAPS },
        { "vmovd", TOKEN_INSN, C_none, I_VMOVD },
        { "vmovq", TOKEN_INSN, C_none, I_VMOVQ },
        { "vmovddup", TOKEN_INSN, C_none, I_VMOVDDUP },
        { "vmovdqa", TOKEN_INSN, C_none, I_VMOVDQA },
        { "vmovqqa", TOKEN_INSN, C_none, I_VMOVQQA },
        { "vmovdqu", TOKEN_INSN, C_none, I_VMOVDQU },
        { "vmovqqu", TOKEN_INSN, C_none, I_VMOVQQU },
        { "vmovhlps", TOKEN_INSN, C_none, I_VMOVHLPS },
        { "vmovhpd", TOKEN_INSN, C_none, I_VMOVHPD },
        { "vmovhps", TOKEN_INSN, C_none, I_VMOVHPS },
        { "vmovlhps", TOKEN_INSN, C_none, I_VMOVLHPS },
        { "vmovlpd", TOKEN_INSN, C_none, I_VMOVLPD },
        { "vmovlps", TOKEN_INSN, C_none, I_VMOVLPS },
        { "vmovmskpd", TOKEN_INSN, C_none, I_VMOVMSKPD },
        { "vmovmskps", TOKEN_INSN, C_none, I_VMOVMSKPS },
        { "vmovntdq", TOKEN_INSN, C_none, I_VMOVNTDQ },
        { "vmovntqq", TOKEN_INSN, C_none, I_VMOVNTQQ },
        { "vmovntdqa", TOKEN_INSN, C_none, I_VMOVNTDQA },
        { "vmovntpd", TOKEN_INSN, C_none, I_VMOVNTPD },
        { "vmovntps", TOKEN_INSN, C_none, I_VMOVNTPS },
        { "vmovsd", TOKEN_INSN, C_none, I_VMOVSD },
        { "vmovshdup", TOKEN_INSN, C_none, I_VMOVSHDUP },
        { "vmovsldup", TOKEN_INSN, C_none, I_VMOVSLDUP },
        { "vmovss", TOKEN_INSN, C_none, I_VMOVSS },
        { "vmovupd", TOKEN_INSN, C_none, I_VMOVUPD },
        { "vmovups", TOKEN_INSN, C_none, I_VMOVUPS },
        { "vmpsadbw", TOKEN_INSN, C_none, I_VMPSADBW },
        { "vmulpd", TOKEN_INSN, C_none, I_VMULPD },
        { "vmulps", TOKEN_INSN, C_none, I_VMULPS },
        { "vmulsd", TOKEN_INSN, C_none, I_VMULSD },
        { "vmulss", TOKEN_INSN, C_none, I_VMULSS },
        { "vorpd", TOKEN_INSN, C_none, I_VORPD },
        { "vorps", TOKEN_INSN, C_none, I_VORPS },
        { "vpabsb", TOKEN_INSN, C_none, I_VPABSB },
        { "vpabsw", TOKEN_INSN, C_none, I_VPABSW },
        { "vpabsd", TOKEN_INSN, C_none, I_VPABSD },
        { "vpacksswb", TOKEN_INSN, C_none, I_VPACKSSWB },
        { "vpackssdw", TOKEN_INSN, C_none, I_VPACKSSDW },
        { "vpackuswb", TOKEN_INSN, C_none, I_VPACKUSWB },
        { "vpackusdw", TOKEN_INSN, C_none, I_VPACKUSDW },
        { "vpaddb", TOKEN_INSN, C_none, I_VPADDB },
        { "vpaddw", TOKEN_INSN, C_none, I_VPADDW },
        { "vpaddd", TOKEN_INSN, C_none, I_VPADDD },
        { "vpaddq", TOKEN_INSN, C_none, I_VPADDQ },
        { "vpaddsb", TOKEN_INSN, C_none, I_VPADDSB },
        { "vpaddsw", TOKEN_INSN, C_none, I_VPADDSW },
        { "vpaddusb", TOKEN_INSN, C_none, I_VPADDUSB },
        { "vpaddusw", TOKEN_INSN, C_none, I_VPADDUSW },
        { "vpalignr", TOKEN_INSN, C_none, I_VPALIGNR },
        { "vpand", TOKEN_INSN, C_none, I_VPAND },
        { "vpandn", TOKEN_INSN, C_none, I_VPANDN },
        { "vpavgb", TOKEN_INSN, C_none, I_VPAVGB },
        { "vpavgw", TOKEN_INSN, C_none, I_VPAVGW },
        { "vpblendvb", TOKEN_INSN, C_none, I_VPBLENDVB },
        { "vpblendw", TOKEN_INSN, C_none, I_VPBLENDW },
        { "vpcmpestri", TOKEN_INSN, C_none, I_VPCMPESTRI },
        { "vpcmpestrm", TOKEN_INSN, C_none, I_VPCMPESTRM },
        { "vpcmpistri", TOKEN_INSN, C_none, I_VPCMPISTRI },
        { "vpcmpistrm", TOKEN_INSN, C_none, I_VPCMPISTRM },
        { "vpcmpeqb", TOKEN_INSN, C_none, I_VPCMPEQB },
        { "vpcmpeqw", TOKEN_INSN, C_none, I_VPCMPEQW },
        { "vpcmpeqd", TOKEN_INSN, C_none, I_VPCMPEQD },
        { "vpcmpeqq", TOKEN_INSN, C_none, I_VPCMPEQQ },
        { "vpcmpgtb", TOKEN_INSN, C_none, I_VPCMPGTB },
        { "vpcmpgtw", TOKEN_INSN, C_none, I_VPCMPGTW },
        { "vpcmpgtd", TOKEN_INSN, C_none, I_VPCMPGTD },
        { "vpcmpgtq", TOKEN_INSN, C_none, I_VPCMPGTQ },
        { "vpermilpd", TOKEN_INSN, C_none, I_VPERMILPD },
        { "vpermilps", TOKEN_INSN, C_none, I_VPERMILPS },
        { "vperm2f128", TOKEN_INSN, C_none, I_VPERM2F128 },
        { "vpextrb", TOKEN_INSN, C_none, I_VPEXTRB },
        { "vpextrw", TOKEN_INSN, C_none, I_VPEXTRW },
        { "vpextrd", TOKEN_INSN, C_none, I_VPEXTRD },
        { "vpextrq", TOKEN_INSN, C_none, I_VPEXTRQ },
        { "vphaddw", TOKEN_INSN, C_none, I_VPHADDW },
        { "vphaddd", TOKEN_INSN, C_none, I_VPHADDD },
        { "vphaddsw", TOKEN_INSN, C_none, I_VPHADDSW },
        { "vphminposuw", TOKEN_INSN, C_none, I_VPHMINPOSUW },
        { "vphsubw", TOKEN_INSN, C_none, I_VPHSUBW },
        { "vphsubd", TOKEN_INSN, C_none, I_VPHSUBD },
        { "vphsubsw", TOKEN_INSN, C_none, I_VPHSUBSW },
        { "vpinsrb", TOKEN_INSN, C_none, I_VPINSRB },
        { "vpinsrw", TOKEN_INSN, C_none, I_VPINSRW },
        { "vpinsrd", TOKEN_INSN, C_none, I_VPINSRD },
        { "vpinsrq", TOKEN_INSN, C_none, I_VPINSRQ },
        { "vpmaddwd", TOKEN_INSN, C_none, I_VPMADDWD },
        { "vpmaddubsw", TOKEN_INSN, C_none, I_VPMADDUBSW },
        { "vpmaxsb", TOKEN_INSN, C_none, I_VPMAXSB },
        { "vpmaxsw", TOKEN_INSN, C_none, I_VPMAXSW },
        { "vpmaxsd", TOKEN_INSN, C_none, I_VPMAXSD },
        { "vpmaxub", TOKEN_INSN, C_none, I_VPMAXUB },
        { "vpmaxuw", TOKEN_INSN, C_none, I_VPMAXUW },
        { "vpmaxud", TOKEN_INSN, C_none, I_VPMAXUD },
        { "vpminsb", TOKEN_INSN, C_none, I_VPMINSB },
        { "vpminsw", TOKEN_INSN, C_none, I_VPMINSW },
        { "vpminsd", TOKEN_INSN, C_none, I_VPMINSD },
        { "vpminub", TOKEN_INSN, C_none, I_VPMINUB },
        { "vpminuw", TOKEN_INSN, C_none, I_VPMINUW },
        { "vpminud", TOKEN_INSN, C_none, I_VPMINUD },
        { "vpmovmskb", TOKEN_INSN, C_none, I_VPMOVMSKB },
        { "vpmovsxbw", TOKEN_INSN, C_none, I_VPMOVSXBW },
        { "vpmovsxbd", TOKEN_INSN, C_none, I_VPMOVSXBD },
        { "vpmovsxbq", TOKEN_INSN, C_none, I_VPMOVSXBQ },
        { "vpmovsxwd", TOKEN_INSN, C_none, I_VPMOVSXWD },
        { "vpmovsxwq", TOKEN_INSN, C_none, I_VPMOVSXWQ },
        { "vpmovsxdq", TOKEN_INSN, C_none, I_VPMOVSXDQ },
        { "vpmovzxbw", TOKEN_INSN, C_none, I_VPMOVZXBW },
        { "vpmovzxbd", TOKEN_INSN, C_none, I_VPMOVZXBD },
        { "vpmovzxbq", TOKEN_INSN, C_none, I_VPMOVZXBQ },
        { "vpmovzxwd", TOKEN_INSN, C_none, I_VPMOVZXWD },
        { "vpmovzxwq", TOKEN_INSN, C_none, I_VPMOVZXWQ },
        { "vpmovzxdq", TOKEN_INSN, C_none, I_VPMOVZXDQ },
        { "vpmulhuw", TOKEN_INSN, C_none, I_VPMULHUW },
        { "vpmulhrsw", TOKEN_INSN, C_none, I_VPMULHRSW },
        { "vpmulhw", TOKEN_INSN, C_none, I_VPMULHW },
        { "vpmullw", TOKEN_INSN, C_none, I_VPMULLW },
        { "vpmulld", TOKEN_INSN, C_none, I_VPMULLD },
        { "vpmuludq", TOKEN_INSN, C_none, I_VPMULUDQ },
        { "vpmuldq", TOKEN_INSN, C_none, I_VPMULDQ },
        { "vpor", TOKEN_INSN, C_none, I_VPOR },
        { "vpsadbw", TOKEN_INSN, C_none, I_VPSADBW },
        { "vpshufb", TOKEN_INSN, C_none, I_VPSHUFB },
        { "vpshufd", TOKEN_INSN, C_none, I_VPSHUFD },
        { "vpshufhw", TOKEN_INSN, C_none, I_VPSHUFHW },
        { "vpshuflw", TOKEN_INSN, C_none, I_VPSHUFLW },
        { "vpsignb", TOKEN_INSN, C_none, I_VPSIGNB },
        { "vpsignw", TOKEN_INSN, C_none, I_VPSIGNW },
        { "vpsignd", TOKEN_INSN, C_none, I_VPSIGND },
        { "vpslldq", TOKEN_INSN, C_none, I_VPSLLDQ },
        { "vpsrldq", TOKEN_INSN, C_none, I_VPSRLDQ },
        { "vpsllw", TOKEN_INSN, C_none, I_VPSLLW },
        { "vpslld", TOKEN_INSN, C_none, I_VPSLLD },
        { "vpsllq", TOKEN_INSN, C_none, I_VPSLLQ },
        { "vpsraw", TOKEN_INSN, C_none, I_VPSRAW },
        { "vpsrad", TOKEN_INSN, C_none, I_VPSRAD },
        { "vpsrlw", TOKEN_INSN, C_none, I_VPSRLW },
        { "vpsrld", TOKEN_INSN, C_none, I_VPSRLD },
        { "vpsrlq", TOKEN_INSN, C_none, I_VPSRLQ },
        { "vptest", TOKEN_INSN, C_none, I_VPTEST },
        { "vpsubb", TOKEN_INSN, C_none, I_VPSUBB },
        { "vpsubw", TOKEN_INSN, C_none, I_VPSUBW },
        { "vpsubd", TOKEN_INSN, C_none, I_VPSUBD },
        { "vpsubq", TOKEN_INSN, C_none, I_VPSUBQ },
        { "vpsubsb", TOKEN_INSN, C_none, I_VPSUBSB },
        { "vpsubsw", TOKEN_INSN, C_none, I_VPSUBSW },
        { "vpsubusb", TOKEN_INSN, C_none, I_VPSUBUSB },
        { "vpsubusw", TOKEN_INSN, C_none, I_VPSUBUSW },
        { "vpunpckhbw", TOKEN_INSN, C_none, I_VPUNPCKHBW },
        { "vpunpckhwd", TOKEN_INSN, C_none, I_VPUNPCKHWD },
        { "vpunpckhdq", TOKEN_INSN, C_none, I_VPUNPCKHDQ },
        { "vpunpckhqdq", TOKEN_INSN, C_none, I_VPUNPCKHQDQ },
        { "vpunpcklbw", TOKEN_INSN, C_none, I_VPUNPCKLBW },
        { "vpunpcklwd", TOKEN_INSN, C_none, I_VPUNPCKLWD },
        { "vpunpckldq", TOKEN_INSN, C_none, I_VPUNPCKLDQ },
        { "vpunpcklqdq", TOKEN_INSN, C_none, I_VPUNPCKLQDQ },
        { "vpxor", TOKEN_INSN, C_none, I_VPXOR },
        { "vrcpps", TOKEN_INSN, C_none, I_VRCPPS },
        { "vrcpss", TOKEN_INSN, C_none, I_VRCPSS },
        { "vrsqrtps", TOKEN_INSN, C_none, I_VRSQRTPS },
        { "vrsqrtss", TOKEN_INSN, C_none, I_VRSQRTSS },
        { "vroundpd", TOKEN_INSN, C_none, I_VROUNDPD },
        { "vroundps", TOKEN_INSN, C_none, I_VROUNDPS },
        { "vroundsd", TOKEN_INSN, C_none, I_VROUNDSD },
        { "vroundss", TOKEN_INSN, C_none, I_VROUNDSS },
        { "vshufpd", TOKEN_INSN, C_none, I_VSHUFPD },
        { "vshufps", TOKEN_INSN, C_none, I_VSHUFPS },
        { "vsqrtpd", TOKEN_INSN, C_none, I_VSQRTPD },
        { "vsqrtps", TOKEN_INSN, C_none, I_VSQRTPS },
        { "vsqrtsd", TOKEN_INSN, C_none, I_VSQRTSD },
        { "vsqrtss", TOKEN_INSN, C_none, I_VSQRTSS },
        { "vstmxcsr", TOKEN_INSN, C_none, I_VSTMXCSR },
        { "vsubpd", TOKEN_INSN, C_none, I_VSUBPD },
        { "vsubps", TOKEN_INSN, C_none, I_VSUBPS },
        { "vsubsd", TOKEN_INSN, C_none, I_VSUBSD },
        { "vsubss", TOKEN_INSN, C_none, I_VSUBSS },
        { "vtestps", TOKEN_INSN, C_none, I_VTESTPS },
        { "vtestpd", TOKEN_INSN, C_none, I_VTESTPD },
        { "vucomisd", TOKEN_INSN, C_none, I_VUCOMISD },
        { "vucomiss", TOKEN_INSN, C_none, I_VUCOMISS },
        { "vunpckhpd", TOKEN_INSN, C_none, I_VUNPCKHPD },
        { "vunpckhps", TOKEN_INSN, C_none, I_VUNPCKHPS },
        { "vunpcklpd", TOKEN_INSN, C_none, I_VUNPCKLPD },
        { "vunpcklps", TOKEN_INSN, C_none, I_VUNPCKLPS },
        { "vxorpd", TOKEN_INSN, C_none, I_VXORPD },
        { "vxorps", TOKEN_INSN, C_none, I_VXORPS },
        { "vzeroall", TOKEN_INSN, C_none, I_VZEROALL },
        { "vzeroupper", TOKEN_INSN, C_none, I_VZEROUPPER },
        { "pclmullqlqdq", TOKEN_INSN, C_none, I_PCLMULLQLQDQ },
        { "pclmulhqlqdq", TOKEN_INSN, C_none, I_PCLMULHQLQDQ },
        { "pclmullqhqdq", TOKEN_INSN, C_none, I_PCLMULLQHQDQ },
        { "pclmulhqhqdq", TOKEN_INSN, C_none, I_PCLMULHQHQDQ },
        { "pclmulqdq", TOKEN_INSN, C_none, I_PCLMULQDQ },
        { "vpclmullqlqdq", TOKEN_INSN, C_none, I_VPCLMULLQLQDQ },
        { "vpclmulhqlqdq", TOKEN_INSN, C_none, I_VPCLMULHQLQDQ },
        { "vpclmullqhqdq", TOKEN_INSN, C_none, I_VPCLMULLQHQDQ },
        { "vpclmulhqhqdq", TOKEN_INSN, C_none, I_VPCLMULHQHQDQ },
        { "vpclmulqdq", TOKEN_INSN, C_none, I_VPCLMULQDQ },
        { "vfmadd132ps", TOKEN_INSN, C_none, I_VFMADD132PS },
        { "vfmadd132pd", TOKEN_INSN, C_none, I_VFMADD132PD },
        { "vfmadd312ps", TOKEN_INSN, C_none, I_VFMADD312PS },
        { "vfmadd312pd", TOKEN_INSN, C_none, I_VFMADD312PD },
        { "vfmadd213ps", TOKEN_INSN, C_none, I_VFMADD213PS },
        { "vfmadd213pd", TOKEN_INSN, C_none, I_VFMADD213PD },
        { "vfmadd123ps", TOKEN_INSN, C_none, I_VFMADD123PS },
        { "vfmadd123pd", TOKEN_INSN, C_none, I_VFMADD123PD },
        { "vfmadd231ps", TOKEN_INSN, C_none, I_VFMADD231PS },
        { "vfmadd231pd", TOKEN_INSN, C_none, I_VFMADD231PD },
        { "vfmadd321ps", TOKEN_INSN, C_none, I_VFMADD321PS },
        { "vfmadd321pd", TOKEN_INSN, C_none, I_VFMADD321PD },
        { "vfmaddsub132ps", TOKEN_INSN, C_none, I_VFMADDSUB132PS },
        { "vfmaddsub132pd", TOKEN_INSN, C_none, I_VFMADDSUB132PD },
        { "vfmaddsub312ps", TOKEN_INSN, C_none, I_VFMADDSUB312PS },
        { "vfmaddsub312pd", TOKEN_INSN, C_none, I_VFMADDSUB312PD },
        { "vfmaddsub213ps", TOKEN_INSN, C_none, I_VFMADDSUB213PS },
        { "vfmaddsub213pd", TOKEN_INSN, C_none, I_VFMADDSUB213PD },
        { "vfmaddsub123ps", TOKEN_INSN, C_none, I_VFMADDSUB123PS },
        { "vfmaddsub123pd", TOKEN_INSN, C_none, I_VFMADDSUB123PD },
        { "vfmaddsub231ps", TOKEN_INSN, C_none, I_VFMADDSUB231PS },
        { "vfmaddsub231pd", TOKEN_INSN, C_none, I_VFMADDSUB231PD },
        { "vfmaddsub321ps", TOKEN_INSN, C_none, I_VFMADDSUB321PS },
        { "vfmaddsub321pd", TOKEN_INSN, C_none, I_VFMADDSUB321PD },
        { "vfmsub132ps", TOKEN_INSN, C_none, I_VFMSUB132PS },
        { "vfmsub132pd", TOKEN_INSN, C_none, I_VFMSUB132PD },
        { "vfmsub312ps", TOKEN_INSN, C_none, I_VFMSUB312PS },
        { "vfmsub312pd", TOKEN_INSN, C_none, I_VFMSUB312PD },
        { "vfmsub213ps", TOKEN_INSN, C_none, I_VFMSUB213PS },
        { "vfmsub213pd", TOKEN_INSN, C_none, I_VFMSUB213PD },
        { "vfmsub123ps", TOKEN_INSN, C_none, I_VFMSUB123PS },
        { "vfmsub123pd", TOKEN_INSN, C_none, I_VFMSUB123PD },
        { "vfmsub231ps", TOKEN_INSN, C_none, I_VFMSUB231PS },
        { "vfmsub231pd", TOKEN_INSN, C_none, I_VFMSUB231PD },
        { "vfmsub321ps", TOKEN_INSN, C_none, I_VFMSUB321PS },
        { "vfmsub321pd", TOKEN_INSN, C_none, I_VFMSUB321PD },
        { "vfmsubadd132ps", TOKEN_INSN, C_none, I_VFMSUBADD132PS },
        { "vfmsubadd132pd", TOKEN_INSN, C_none, I_VFMSUBADD132PD },
        { "vfmsubadd312ps", TOKEN_INSN, C_none, I_VFMSUBADD312PS },
        { "vfmsubadd312pd", TOKEN_INSN, C_none, I_VFMSUBADD312PD },
        { "vfmsubadd213ps", TOKEN_INSN, C_none, I_VFMSUBADD213PS },
        { "vfmsubadd213pd", TOKEN_INSN, C_none, I_VFMSUBADD213PD },
        { "vfmsubadd123ps", TOKEN_INSN, C_none, I_VFMSUBADD123PS },
        { "vfmsubadd123pd", TOKEN_INSN, C_none, I_VFMSUBADD123PD },
        { "vfmsubadd231ps", TOKEN_INSN, C_none, I_VFMSUBADD231PS },
        { "vfmsubadd231pd", TOKEN_INSN, C_none, I_VFMSUBADD231PD },
        { "vfmsubadd321ps", TOKEN_INSN, C_none, I_VFMSUBADD321PS },
        { "vfmsubadd321pd", TOKEN_INSN, C_none, I_VFMSUBADD321PD },
        { "vfnmadd132ps", TOKEN_INSN, C_none, I_VFNMADD132PS },
        { "vfnmadd132pd", TOKEN_INSN, C_none, I_VFNMADD132PD },
        { "vfnmadd312ps", TOKEN_INSN, C_none, I_VFNMADD312PS },
        { "vfnmadd312pd", TOKEN_INSN, C_none, I_VFNMADD312PD },
        { "vfnmadd213ps", TOKEN_INSN, C_none, I_VFNMADD213PS },
        { "vfnmadd213pd", TOKEN_INSN, C_none, I_VFNMADD213PD },
        { "vfnmadd123ps", TOKEN_INSN, C_none, I_VFNMADD123PS },
        { "vfnmadd123pd", TOKEN_INSN, C_none, I_VFNMADD123PD },
        { "vfnmadd231ps", TOKEN_INSN, C_none, I_VFNMADD231PS },
        { "vfnmadd231pd", TOKEN_INSN, C_none, I_VFNMADD231PD },
        { "vfnmadd321ps", TOKEN_INSN, C_none, I_VFNMADD321PS },
        { "vfnmadd321pd", TOKEN_INSN, C_none, I_VFNMADD321PD },
        { "vfnmsub132ps", TOKEN_INSN, C_none, I_VFNMSUB132PS },
        { "vfnmsub132pd", TOKEN_INSN, C_none, I_VFNMSUB132PD },
        { "vfnmsub312ps", TOKEN_INSN, C_none, I_VFNMSUB312PS },
        { "vfnmsub312pd", TOKEN_INSN, C_none, I_VFNMSUB312PD },
        { "vfnmsub213ps", TOKEN_INSN, C_none, I_VFNMSUB213PS },
        { "vfnmsub213pd", TOKEN_INSN, C_none, I_VFNMSUB213PD },
        { "vfnmsub123ps", TOKEN_INSN, C_none, I_VFNMSUB123PS },
        { "vfnmsub123pd", TOKEN_INSN, C_none, I_VFNMSUB123PD },
        { "vfnmsub231ps", TOKEN_INSN, C_none, I_VFNMSUB231PS },
        { "vfnmsub231pd", TOKEN_INSN, C_none, I_VFNMSUB231PD },
        { "vfnmsub321ps", TOKEN_INSN, C_none, I_VFNMSUB321PS },
        { "vfnmsub321pd", TOKEN_INSN, C_none, I_VFNMSUB321PD },
        { "vfmadd132ss", TOKEN_INSN, C_none, I_VFMADD132SS },
        { "vfmadd132sd", TOKEN_INSN, C_none, I_VFMADD132SD },
        { "vfmadd312ss", TOKEN_INSN, C_none, I_VFMADD312SS },
        { "vfmadd312sd", TOKEN_INSN, C_none, I_VFMADD312SD },
        { "vfmadd213ss", TOKEN_INSN, C_none, I_VFMADD213SS },
        { "vfmadd213sd", TOKEN_INSN, C_none, I_VFMADD213SD },
        { "vfmadd123ss", TOKEN_INSN, C_none, I_VFMADD123SS },
        { "vfmadd123sd", TOKEN_INSN, C_none, I_VFMADD123SD },
        { "vfmadd231ss", TOKEN_INSN, C_none, I_VFMADD231SS },
        { "vfmadd231sd", TOKEN_INSN, C_none, I_VFMADD231SD },
        { "vfmadd321ss", TOKEN_INSN, C_none, I_VFMADD321SS },
        { "vfmadd321sd", TOKEN_INSN, C_none, I_VFMADD321SD },
        { "vfmsub132ss", TOKEN_INSN, C_none, I_VFMSUB132SS },
        { "vfmsub132sd", TOKEN_INSN, C_none, I_VFMSUB132SD },
        { "vfmsub312ss", TOKEN_INSN, C_none, I_VFMSUB312SS },
        { "vfmsub312sd", TOKEN_INSN, C_none, I_VFMSUB312SD },
        { "vfmsub213ss", TOKEN_INSN, C_none, I_VFMSUB213SS },
        { "vfmsub213sd", TOKEN_INSN, C_none, I_VFMSUB213SD },
        { "vfmsub123ss", TOKEN_INSN, C_none, I_VFMSUB123SS },
        { "vfmsub123sd", TOKEN_INSN, C_none, I_VFMSUB123SD },
        { "vfmsub231ss", TOKEN_INSN, C_none, I_VFMSUB231SS },
        { "vfmsub231sd", TOKEN_INSN, C_none, I_VFMSUB231SD },
        { "vfmsub321ss", TOKEN_INSN, C_none, I_VFMSUB321SS },
        { "vfmsub321sd", TOKEN_INSN, C_none, I_VFMSUB321SD },
        { "vfnmadd132ss", TOKEN_INSN, C_none, I_VFNMADD132SS },
        { "vfnmadd132sd", TOKEN_INSN, C_none, I_VFNMADD132SD },
        { "vfnmadd312ss", TOKEN_INSN, C_none, I_VFNMADD312SS },
        { "vfnmadd312sd", TOKEN_INSN, C_none, I_VFNMADD312SD },
        { "vfnmadd213ss", TOKEN_INSN, C_none, I_VFNMADD213SS },
        { "vfnmadd213sd", TOKEN_INSN, C_none, I_VFNMADD213SD },
        { "vfnmadd123ss", TOKEN_INSN, C_none, I_VFNMADD123SS },
        { "vfnmadd123sd", TOKEN_INSN, C_none, I_VFNMADD123SD },
        { "vfnmadd231ss", TOKEN_INSN, C_none, I_VFNMADD231SS },
        { "vfnmadd231sd", TOKEN_INSN, C_none, I_VFNMADD231SD },
        { "vfnmadd321ss", TOKEN_INSN, C_none, I_VFNMADD321SS },
        { "vfnmadd321sd", TOKEN_INSN, C_none, I_VFNMADD321SD },
        { "vfnmsub132ss", TOKEN_INSN, C_none, I_VFNMSUB132SS },
        { "vfnmsub132sd", TOKEN_INSN, C_none, I_VFNMSUB132SD },
        { "vfnmsub312ss", TOKEN_INSN, C_none, I_VFNMSUB312SS },
        { "vfnmsub312sd", TOKEN_INSN, C_none, I_VFNMSUB312SD },
        { "vfnmsub213ss", TOKEN_INSN, C_none, I_VFNMSUB213SS },
        { "vfnmsub213sd", TOKEN_INSN, C_none, I_VFNMSUB213SD },
        { "vfnmsub123ss", TOKEN_INSN, C_none, I_VFNMSUB123SS },
        { "vfnmsub123sd", TOKEN_INSN, C_none, I_VFNMSUB123SD },
        { "vfnmsub231ss", TOKEN_INSN, C_none, I_VFNMSUB231SS },
        { "vfnmsub231sd", TOKEN_INSN, C_none, I_VFNMSUB231SD },
        { "vfnmsub321ss", TOKEN_INSN, C_none, I_VFNMSUB321SS },
        { "vfnmsub321sd", TOKEN_INSN, C_none, I_VFNMSUB321SD },
        { "rdfsbase", TOKEN_INSN, C_none, I_RDFSBASE },
        { "rdgsbase", TOKEN_INSN, C_none, I_RDGSBASE },
        { "rdrand", TOKEN_INSN, C_none, I_RDRAND },
        { "wrfsbase", TOKEN_INSN, C_none, I_WRFSBASE },
        { "wrgsbase", TOKEN_INSN, C_none, I_WRGSBASE },
        { "vcvtph2ps", TOKEN_INSN, C_none, I_VCVTPH2PS },
        { "vcvtps2ph", TOKEN_INSN, C_none, I_VCVTPS2PH },
        { "xstore", TOKEN_INSN, C_none, I_XSTORE },
        { "xcryptecb", TOKEN_INSN, C_none, I_XCRYPTECB },
        { "xcryptcbc", TOKEN_INSN, C_none, I_XCRYPTCBC },
        { "xcryptctr", TOKEN_INSN, C_none, I_XCRYPTCTR },
        { "xcryptcfb", TOKEN_INSN, C_none, I_XCRYPTCFB },
        { "xcryptofb", TOKEN_INSN, C_none, I_XCRYPTOFB },
        { "montmul", TOKEN_INSN, C_none, I_MONTMUL },
        { "xsha1", TOKEN_INSN, C_none, I_XSHA1 },
        { "xsha256", TOKEN_INSN, C_none, I_XSHA256 },
        { "llwpcb", TOKEN_INSN, C_none, I_LLWPCB },
        { "slwpcb", TOKEN_INSN, C_none, I_SLWPCB },
        { "lwpval", TOKEN_INSN, C_none, I_LWPVAL },
        { "lwpins", TOKEN_INSN, C_none, I_LWPINS },
        { "vfmaddpd", TOKEN_INSN, C_none, I_VFMADDPD },
        { "vfmaddps", TOKEN_INSN, C_none, I_VFMADDPS },
        { "vfmaddsd", TOKEN_INSN, C_none, I_VFMADDSD },
        { "vfmaddss", TOKEN_INSN, C_none, I_VFMADDSS },
        { "vfmaddsubpd", TOKEN_INSN, C_none, I_VFMADDSUBPD },
        { "vfmaddsubps", TOKEN_INSN, C_none, I_VFMADDSUBPS },
        { "vfmsubaddpd", TOKEN_INSN, C_none, I_VFMSUBADDPD },
        { "vfmsubaddps", TOKEN_INSN, C_none, I_VFMSUBADDPS },
        { "vfmsubpd", TOKEN_INSN, C_none, I_VFMSUBPD },
        { "vfmsubps", TOKEN_INSN, C_none, I_VFMSUBPS },
        { "vfmsubsd", TOKEN_INSN, C_none, I_VFMSUBSD },
        { "vfmsubss", TOKEN_INSN, C_none, I_VFMSUBSS },
        { "vfnmaddpd", TOKEN_INSN, C_none, I_VFNMADDPD },
        { "vfnmaddps", TOKEN_INSN, C_none, I_VFNMADDPS },
        { "vfnmaddsd", TOKEN_INSN, C_none, I_VFNMADDSD },
        { "vfnmaddss", TOKEN_INSN, C_none, I_VFNMADDSS },
        { "vfnmsubpd", TOKEN_INSN, C_none, I_VFNMSUBPD },
        { "vfnmsubps", TOKEN_INSN, C_none, I_VFNMSUBPS },
        { "vfnmsubsd", TOKEN_INSN, C_none, I_VFNMSUBSD },
        { "vfnmsubss", TOKEN_INSN, C_none, I_VFNMSUBSS },
        { "vfrczpd", TOKEN_INSN, C_none, I_VFRCZPD },
        { "vfrczps", TOKEN_INSN, C_none, I_VFRCZPS },
        { "vfrczsd", TOKEN_INSN, C_none, I_VFRCZSD },
        { "vfrczss", TOKEN_INSN, C_none, I_VFRCZSS },
        { "vpcmov", TOKEN_INSN, C_none, I_VPCMOV },
        { "vpcomb", TOKEN_INSN, C_none, I_VPCOMB },
        { "vpcomd", TOKEN_INSN, C_none, I_VPCOMD },
        { "vpcomq", TOKEN_INSN, C_none, I_VPCOMQ },
        { "vpcomub", TOKEN_INSN, C_none, I_VPCOMUB },
        { "vpcomud", TOKEN_INSN, C_none, I_VPCOMUD },
        { "vpcomuq", TOKEN_INSN, C_none, I_VPCOMUQ },
        { "vpcomuw", TOKEN_INSN, C_none, I_VPCOMUW },
        { "vpcomw", TOKEN_INSN, C_none, I_VPCOMW },
        { "vphaddbd", TOKEN_INSN, C_none, I_VPHADDBD },
        { "vphaddbq", TOKEN_INSN, C_none, I_VPHADDBQ },
        { "vphaddbw", TOKEN_INSN, C_none, I_VPHADDBW },
        { "vphadddq", TOKEN_INSN, C_none, I_VPHADDDQ },
        { "vphaddubd", TOKEN_INSN, C_none, I_VPHADDUBD },
        { "vphaddubq", TOKEN_INSN, C_none, I_VPHADDUBQ },
        { "vphaddubw", TOKEN_INSN, C_none, I_VPHADDUBW },
        { "vphaddudq", TOKEN_INSN, C_none, I_VPHADDUDQ },
        { "vphadduwd", TOKEN_INSN, C_none, I_VPHADDUWD },
        { "vphadduwq", TOKEN_INSN, C_none, I_VPHADDUWQ },
        { "vphaddwd", TOKEN_INSN, C_none, I_VPHADDWD },
        { "vphaddwq", TOKEN_INSN, C_none, I_VPHADDWQ },
        { "vphsubbw", TOKEN_INSN, C_none, I_VPHSUBBW },
        { "vphsubdq", TOKEN_INSN, C_none, I_VPHSUBDQ },
        { "vphsubwd", TOKEN_INSN, C_none, I_VPHSUBWD },
        { "vpmacsdd", TOKEN_INSN, C_none, I_VPMACSDD },
        { "vpmacsdqh", TOKEN_INSN, C_none, I_VPMACSDQH },
        { "vpmacsdql", TOKEN_INSN, C_none, I_VPMACSDQL },
        { "vpmacssdd", TOKEN_INSN, C_none, I_VPMACSSDD },
        { "vpmacssdqh", TOKEN_INSN, C_none, I_VPMACSSDQH },
        { "vpmacssdql", TOKEN_INSN, C_none, I_VPMACSSDQL },
        { "vpmacsswd", TOKEN_INSN, C_none, I_VPMACSSWD },
        { "vpmacssww", TOKEN_INSN, C_none, I_VPMACSSWW },
        { "vpmacswd", TOKEN_INSN, C_none, I_VPMACSWD },
        { "vpmacsww", TOKEN_INSN, C_none, I_VPMACSWW },
        { "vpmadcsswd", TOKEN_INSN, C_none, I_VPMADCSSWD },
        { "vpmadcswd", TOKEN_INSN, C_none, I_VPMADCSWD },
        { "vpperm", TOKEN_INSN, C_none, I_VPPERM },
        { "vprotb", TOKEN_INSN, C_none, I_VPROTB },
        { "vprotd", TOKEN_INSN, C_none, I_VPROTD },
        { "vprotq", TOKEN_INSN, C_none, I_VPROTQ },
        { "vprotw", TOKEN_INSN, C_none, I_VPROTW },
        { "vpshab", TOKEN_INSN, C_none, I_VPSHAB },
        { "vpshad", TOKEN_INSN, C_none, I_VPSHAD },
        { "vpshaq", TOKEN_INSN, C_none, I_VPSHAQ },
        { "vpshaw", TOKEN_INSN, C_none, I_VPSHAW },
        { "vpshlb", TOKEN_INSN, C_none, I_VPSHLB },
        { "vpshld", TOKEN_INSN, C_none, I_VPSHLD },
        { "vpshlq", TOKEN_INSN, C_none, I_VPSHLQ },
        { "vpshlw", TOKEN_INSN, C_none, I_VPSHLW },
        { "vbroadcasti128", TOKEN_INSN, C_none, I_VBROADCASTI128 },
        { "vpblendd", TOKEN_INSN, C_none, I_VPBLENDD },
        { "vpbroadcastb", TOKEN_INSN, C_none, I_VPBROADCASTB },
        { "vpbroadcastw", TOKEN_INSN, C_none, I_VPBROADCASTW },
        { "vpbroadcastd", TOKEN_INSN, C_none, I_VPBROADCASTD },
        { "vpbroadcastq", TOKEN_INSN, C_none, I_VPBROADCASTQ },
        { "vpermd", TOKEN_INSN, C_none, I_VPERMD },
        { "vpermpd", TOKEN_INSN, C_none, I_VPERMPD },
        { "vpermps", TOKEN_INSN, C_none, I_VPERMPS },
        { "vpermq", TOKEN_INSN, C_none, I_VPERMQ },
        { "vperm2i128", TOKEN_INSN, C_none, I_VPERM2I128 },
        { "vextracti128", TOKEN_INSN, C_none, I_VEXTRACTI128 },
        { "vinserti128", TOKEN_INSN, C_none, I_VINSERTI128 },
        { "vpmaskmovd", TOKEN_INSN, C_none, I_VPMASKMOVD },
        { "vpmaskmovq", TOKEN_INSN, C_none, I_VPMASKMOVQ },
        { "vpsllvd", TOKEN_INSN, C_none, I_VPSLLVD },
        { "vpsllvq", TOKEN_INSN, C_none, I_VPSLLVQ },
        { "vpsravd", TOKEN_INSN, C_none, I_VPSRAVD },
        { "vpsrlvd", TOKEN_INSN, C_none, I_VPSRLVD },
        { "vpsrlvq", TOKEN_INSN, C_none, I_VPSRLVQ },
        { "vgatherdpd", TOKEN_INSN, C_none, I_VGATHERDPD },
        { "vgatherqpd", TOKEN_INSN, C_none, I_VGATHERQPD },
        { "vgatherdps", TOKEN_INSN, C_none, I_VGATHERDPS },
        { "vgatherqps", TOKEN_INSN, C_none, I_VGATHERQPS },
        { "vpgatherdd", TOKEN_INSN, C_none, I_VPGATHERDD },
        { "vpgatherqd", TOKEN_INSN, C_none, I_VPGATHERQD },
        { "vpgatherdq", TOKEN_INSN, C_none, I_VPGATHERDQ },
        { "vpgatherqq", TOKEN_INSN, C_none, I_VPGATHERQQ },
        { "xabort", TOKEN_INSN, C_none, I_XABORT },
        { "xbegin", TOKEN_INSN, C_none, I_XBEGIN },
        { "xend", TOKEN_INSN, C_none, I_XEND },
        { "xtest", TOKEN_INSN, C_none, I_XTEST },
        { "tzcnt", TOKEN_INSN, C_none, I_TZCNT },
        { "andn", TOKEN_INSN, C_none, I_ANDN },
        { "bextr", TOKEN_INSN, C_none, I_BEXTR },
        { "blsi", TOKEN_INSN, C_none, I_BLSI },
        { "blsmsk", TOKEN_INSN, C_none, I_BLSMSK },
        { "blsr", TOKEN_INSN, C_none, I_BLSR },
        { "bzhi", TOKEN_INSN, C_none, I_BZHI },
        { "mulx", TOKEN_INSN, C_none, I_MULX },
        { "pdep", TOKEN_INSN, C_none, I_PDEP },
        { "pext", TOKEN_INSN, C_none, I_PEXT },
        { "rorx", TOKEN_INSN, C_none, I_RORX },
        { "sarx", TOKEN_INSN, C_none, I_SARX },
        { "shlx", TOKEN_INSN, C_none, I_SHLX },
        { "shrx", TOKEN_INSN, C_none, I_SHRX },
        { "hint_nop0", TOKEN_INSN, C_none, I_HINT_NOP0 },
        { "hint_nop1", TOKEN_INSN, C_none, I_HINT_NOP1 },
        { "hint_nop2", TOKEN_INSN, C_none, I_HINT_NOP2 },
        { "hint_nop3", TOKEN_INSN, C_none, I_HINT_NOP3 },
        { "hint_nop4", TOKEN_INSN, C_none, I_HINT_NOP4 },
        { "hint_nop5", TOKEN_INSN, C_none, I_HINT_NOP5 },
        { "hint_nop6", TOKEN_INSN, C_none, I_HINT_NOP6 },
        { "hint_nop7", TOKEN_INSN, C_none, I_HINT_NOP7 },
        { "hint_nop8", TOKEN_INSN, C_none, I_HINT_NOP8 },
        { "hint_nop9", TOKEN_INSN, C_none, I_HINT_NOP9 },
        { "hint_nop10", TOKEN_INSN, C_none, I_HINT_NOP10 },
        { "hint_nop11", TOKEN_INSN, C_none, I_HINT_NOP11 },
        { "hint_nop12", TOKEN_INSN, C_none, I_HINT_NOP12 },
        { "hint_nop13", TOKEN_INSN, C_none, I_HINT_NOP13 },
        { "hint_nop14", TOKEN_INSN, C_none, I_HINT_NOP14 },
        { "hint_nop15", TOKEN_INSN, C_none, I_HINT_NOP15 },
        { "hint_nop16", TOKEN_INSN, C_none, I_HINT_NOP16 },
        { "hint_nop17", TOKEN_INSN, C_none, I_HINT_NOP17 },
        { "hint_nop18", TOKEN_INSN, C_none, I_HINT_NOP18 },
        { "hint_nop19", TOKEN_INSN, C_none, I_HINT_NOP19 },
        { "hint_nop20", TOKEN_INSN, C_none, I_HINT_NOP20 },
        { "hint_nop21", TOKEN_INSN, C_none, I_HINT_NOP21 },
        { "hint_nop22", TOKEN_INSN, C_none, I_HINT_NOP22 },
        { "hint_nop23", TOKEN_INSN, C_none, I_HINT_NOP23 },
        { "hint_nop24", TOKEN_INSN, C_none, I_HINT_NOP24 },
        { "hint_nop25", TOKEN_INSN, C_none, I_HINT_NOP25 },
        { "hint_nop26", TOKEN_INSN, C_none, I_HINT_NOP26 },
        { "hint_nop27", TOKEN_INSN, C_none, I_HINT_NOP27 },
        { "hint_nop28", TOKEN_INSN, C_none, I_HINT_NOP28 },
        { "hint_nop29", TOKEN_INSN, C_none, I_HINT_NOP29 },
        { "hint_nop30", TOKEN_INSN, C_none, I_HINT_NOP30 },
        { "hint_nop31", TOKEN_INSN, C_none, I_HINT_NOP31 },
        { "hint_nop32", TOKEN_INSN, C_none, I_HINT_NOP32 },
        { "hint_nop33", TOKEN_INSN, C_none, I_HINT_NOP33 },
        { "hint_nop34", TOKEN_INSN, C_none, I_HINT_NOP34 },
        { "hint_nop35", TOKEN_INSN, C_none, I_HINT_NOP35 },
        { "hint_nop36", TOKEN_INSN, C_none, I_HINT_NOP36 },
        { "hint_nop37", TOKEN_INSN, C_none, I_HINT_NOP37 },
        { "hint_nop38", TOKEN_INSN, C_none, I_HINT_NOP38 },
        { "hint_nop39", TOKEN_INSN, C_none, I_HINT_NOP39 },
        { "hint_nop40", TOKEN_INSN, C_none, I_HINT_NOP40 },
        { "hint_nop41", TOKEN_INSN, C_none, I_HINT_NOP41 },
        { "hint_nop42", TOKEN_INSN, C_none, I_HINT_NOP42 },
        { "hint_nop43", TOKEN_INSN, C_none, I_HINT_NOP43 },
        { "hint_nop44", TOKEN_INSN, C_none, I_HINT_NOP44 },
        { "hint_nop45", TOKEN_INSN, C_none, I_HINT_NOP45 },
        { "hint_nop46", TOKEN_INSN, C_none, I_HINT_NOP46 },
        { "hint_nop47", TOKEN_INSN, C_none, I_HINT_NOP47 },
        { "hint_nop48", TOKEN_INSN, C_none, I_HINT_NOP48 },
        { "hint_nop49", TOKEN_INSN, C_none, I_HINT_NOP49 },
        { "hint_nop50", TOKEN_INSN, C_none, I_HINT_NOP50 },
        { "hint_nop51", TOKEN_INSN, C_none, I_HINT_NOP51 },
        { "hint_nop52", TOKEN_INSN, C_none, I_HINT_NOP52 },
        { "hint_nop53", TOKEN_INSN, C_none, I_HINT_NOP53 },
        { "hint_nop54", TOKEN_INSN, C_none, I_HINT_NOP54 },
        { "hint_nop55", TOKEN_INSN, C_none, I_HINT_NOP55 },
        { "hint_nop56", TOKEN_INSN, C_none, I_HINT_NOP56 },
        { "hint_nop57", TOKEN_INSN, C_none, I_HINT_NOP57 },
        { "hint_nop58", TOKEN_INSN, C_none, I_HINT_NOP58 },
        { "hint_nop59", TOKEN_INSN, C_none, I_HINT_NOP59 },
        { "hint_nop60", TOKEN_INSN, C_none, I_HINT_NOP60 },
        { "hint_nop61", TOKEN_INSN, C_none, I_HINT_NOP61 },
        { "hint_nop62", TOKEN_INSN, C_none, I_HINT_NOP62 },
        { "hint_nop63", TOKEN_INSN, C_none, I_HINT_NOP63 },
        { "al", TOKEN_REG, 0, R_AL },
        { "ah", TOKEN_REG, 0, R_AH },
        { "ax", TOKEN_REG, 0, R_AX },
        { "eax", TOKEN_REG, 0, R_EAX },
        { "rax", TOKEN_REG, 0, R_RAX },
        { "bl", TOKEN_REG, 0, R_BL },
        { "bh", TOKEN_REG, 0, R_BH },
        { "bx", TOKEN_REG, 0, R_BX },
        { "ebx", TOKEN_REG, 0, R_EBX },
        { "rbx", TOKEN_REG, 0, R_RBX },
        { "cl", TOKEN_REG, 0, R_CL },
        { "ch", TOKEN_REG, 0, R_CH },
        { "cx", TOKEN_REG, 0, R_CX },
        { "ecx", TOKEN_REG, 0, R_ECX },
        { "rcx", TOKEN_REG, 0, R_RCX },
        { "dl", TOKEN_REG, 0, R_DL },
        { "dh", TOKEN_REG, 0, R_DH },
        { "dx", TOKEN_REG, 0, R_DX },
        { "edx", TOKEN_REG, 0, R_EDX },
        { "rdx", TOKEN_REG, 0, R_RDX },
        { "spl", TOKEN_REG, 0, R_SPL },
        { "sp", TOKEN_REG, 0, R_SP },
        { "esp", TOKEN_REG, 0, R_ESP },
        { "rsp", TOKEN_REG, 0, R_RSP },
        { "bpl", TOKEN_REG, 0, R_BPL },
        { "bp", TOKEN_REG, 0, R_BP },
        { "ebp", TOKEN_REG, 0, R_EBP },
        { "rbp", TOKEN_REG, 0, R_RBP },
        { "sil", TOKEN_REG, 0, R_SIL },
        { "si", TOKEN_REG, 0, R_SI },
        { "esi", TOKEN_REG, 0, R_ESI },
        { "rsi", TOKEN_REG, 0, R_RSI },
        { "dil", TOKEN_REG, 0, R_DIL },
        { "di", TOKEN_REG, 0, R_DI },
        { "edi", TOKEN_REG, 0, R_EDI },
        { "rdi", TOKEN_REG, 0, R_RDI },
        { "r8b", TOKEN_REG, 0, R_R8B },
        { "r9b", TOKEN_REG, 0, R_R9B },
        { "r10b", TOKEN_REG, 0, R_R10B },
        { "r11b", TOKEN_REG, 0, R_R11B },
        { "r12b", TOKEN_REG, 0, R_R12B },
        { "r13b", TOKEN_REG, 0, R_R13B },
        { "r14b", TOKEN_REG, 0, R_R14B },
        { "r15b", TOKEN_REG, 0, R_R15B },
        { "r8w", TOKEN_REG, 0, R_R8W },
        { "r9w", TOKEN_REG, 0, R_R9W },
        { "r10w", TOKEN_REG, 0, R_R10W },
        { "r11w", TOKEN_REG, 0, R_R11W },
        { "r12w", TOKEN_REG, 0, R_R12W },
        { "r13w", TOKEN_REG, 0, R_R13W },
        { "r14w", TOKEN_REG, 0, R_R14W },
        { "r15w", TOKEN_REG, 0, R_R15W },
        { "r8d", TOKEN_REG, 0, R_R8D },
        { "r9d", TOKEN_REG, 0, R_R9D },
        { "r10d", TOKEN_REG, 0, R_R10D },
        { "r11d", TOKEN_REG, 0, R_R11D },
        { "r12d", TOKEN_REG, 0, R_R12D },
        { "r13d", TOKEN_REG, 0, R_R13D },
        { "r14d", TOKEN_REG, 0, R_R14D },
        { "r15d", TOKEN_REG, 0, R_R15D },
        { "r8", TOKEN_REG, 0, R_R8 },
        { "r9", TOKEN_REG, 0, R_R9 },
        { "r10", TOKEN_REG, 0, R_R10 },
        { "r11", TOKEN_REG, 0, R_R11 },
        { "r12", TOKEN_REG, 0, R_R12 },
        { "r13", TOKEN_REG, 0, R_R13 },
        { "r14", TOKEN_REG, 0, R_R14 },
        { "r15", TOKEN_REG, 0, R_R15 },
        { "cs", TOKEN_REG, 0, R_CS },
        { "ds", TOKEN_REG, 0, R_DS },
        { "es", TOKEN_REG, 0, R_ES },
        { "ss", TOKEN_REG, 0, R_SS },
        { "fs", TOKEN_REG, 0, R_FS },
        { "gs", TOKEN_REG, 0, R_GS },
        { "segr6", TOKEN_REG, 0, R_SEGR6 },
        { "segr7", TOKEN_REG, 0, R_SEGR7 },
        { "cr0", TOKEN_REG, 0, R_CR0 },
        { "cr1", TOKEN_REG, 0, R_CR1 },
        { "cr2", TOKEN_REG, 0, R_CR2 },
        { "cr3", TOKEN_REG, 0, R_CR3 },
        { "cr4", TOKEN_REG, 0, R_CR4 },
        { "cr5", TOKEN_REG, 0, R_CR5 },
        { "cr6", TOKEN_REG, 0, R_CR6 },
        { "cr7", TOKEN_REG, 0, R_CR7 },
        { "cr8", TOKEN_REG, 0, R_CR8 },
        { "cr9", TOKEN_REG, 0, R_CR9 },
        { "cr10", TOKEN_REG, 0, R_CR10 },
        { "cr11", TOKEN_REG, 0, R_CR11 },
        { "cr12", TOKEN_REG, 0, R_CR12 },
        { "cr13", TOKEN_REG, 0, R_CR13 },
        { "cr14", TOKEN_REG, 0, R_CR14 },
        { "cr15", TOKEN_REG, 0, R_CR15 },
        { "dr0", TOKEN_REG, 0, R_DR0 },
        { "dr1", TOKEN_REG, 0, R_DR1 },
        { "dr2", TOKEN_REG, 0, R_DR2 },
        { "dr3", TOKEN_REG, 0, R_DR3 },
        { "dr4", TOKEN_REG, 0, R_DR4 },
        { "dr5", TOKEN_REG, 0, R_DR5 },
        { "dr6", TOKEN_REG, 0, R_DR6 },
        { "dr7", TOKEN_REG, 0, R_DR7 },
        { "dr8", TOKEN_REG, 0, R_DR8 },
        { "dr9", TOKEN_REG, 0, R_DR9 },
        { "dr10", TOKEN_REG, 0, R_DR10 },
        { "dr11", TOKEN_REG, 0, R_DR11 },
        { "dr12", TOKEN_REG, 0, R_DR12 },
        { "dr13", TOKEN_REG, 0, R_DR13 },
        { "dr14", TOKEN_REG, 0, R_DR14 },
        { "dr15", TOKEN_REG, 0, R_DR15 },
        { "tr0", TOKEN_REG, 0, R_TR0 },
        { "tr1", TOKEN_REG, 0, R_TR1 },
        { "tr2", TOKEN_REG, 0, R_TR2 },
        { "tr3", TOKEN_REG, 0, R_TR3 },
        { "tr4", TOKEN_REG, 0, R_TR4 },
        { "tr5", TOKEN_REG, 0, R_TR5 },
        { "tr6", TOKEN_REG, 0, R_TR6 },
        { "tr7", TOKEN_REG, 0, R_TR7 },
        { "st0", TOKEN_REG, 0, R_ST0 },
        { "st1", TOKEN_REG, 0, R_ST1 },
        { "st2", TOKEN_REG, 0, R_ST2 },
        { "st3", TOKEN_REG, 0, R_ST3 },
        { "st4", TOKEN_REG, 0, R_ST4 },
        { "st5", TOKEN_REG, 0, R_ST5 },
        { "st6", TOKEN_REG, 0, R_ST6 },
        { "st7", TOKEN_REG, 0, R_ST7 },
        { "mm0", TOKEN_REG, 0, R_MM0 },
        { "mm1", TOKEN_REG, 0, R_MM1 },
        { "mm2", TOKEN_REG, 0, R_MM2 },
        { "mm3", TOKEN_REG, 0, R_MM3 },
        { "mm4", TOKEN_REG, 0, R_MM4 },
        { "mm5", TOKEN_REG, 0, R_MM5 },
        { "mm6", TOKEN_REG, 0, R_MM6 },
        { "mm7", TOKEN_REG, 0, R_MM7 },
        { "xmm0", TOKEN_REG, 0, R_XMM0 },
        { "xmm1", TOKEN_REG, 0, R_XMM1 },
        { "xmm2", TOKEN_REG, 0, R_XMM2 },
        { "xmm3", TOKEN_REG, 0, R_XMM3 },
        { "xmm4", TOKEN_REG, 0, R_XMM4 },
        { "xmm5", TOKEN_REG, 0, R_XMM5 },
        { "xmm6", TOKEN_REG, 0, R_XMM6 },
        { "xmm7", TOKEN_REG, 0, R_XMM7 },
        { "xmm8", TOKEN_REG, 0, R_XMM8 },
        { "xmm9", TOKEN_REG, 0, R_XMM9 },
        { "xmm10", TOKEN_REG, 0, R_XMM10 },
        { "xmm11", TOKEN_REG, 0, R_XMM11 },
        { "xmm12", TOKEN_REG, 0, R_XMM12 },
        { "xmm13", TOKEN_REG, 0, R_XMM13 },
        { "xmm14", TOKEN_REG, 0, R_XMM14 },
        { "xmm15", TOKEN_REG, 0, R_XMM15 },
        { "ymm0", TOKEN_REG, 0, R_YMM0 },
        { "ymm1", TOKEN_REG, 0, R_YMM1 },
        { "ymm2", TOKEN_REG, 0, R_YMM2 },
        { "ymm3", TOKEN_REG, 0, R_YMM3 },
        { "ymm4", TOKEN_REG, 0, R_YMM4 },
        { "ymm5", TOKEN_REG, 0, R_YMM5 },
        { "ymm6", TOKEN_REG, 0, R_YMM6 },
        { "ymm7", TOKEN_REG, 0, R_YMM7 },
        { "ymm8", TOKEN_REG, 0, R_YMM8 },
        { "ymm9", TOKEN_REG, 0, R_YMM9 },
        { "ymm10", TOKEN_REG, 0, R_YMM10 },
        { "ymm11", TOKEN_REG, 0, R_YMM11 },
        { "ymm12", TOKEN_REG, 0, R_YMM12 },
        { "ymm13", TOKEN_REG, 0, R_YMM13 },
        { "ymm14", TOKEN_REG, 0, R_YMM14 },
        { "ymm15", TOKEN_REG, 0, R_YMM15 },
        { "a16", TOKEN_PREFIX, 0, P_A16 },
        { "a32", TOKEN_PREFIX, 0, P_A32 },
        { "a64", TOKEN_PREFIX, 0, P_A64 },
        { "asp", TOKEN_PREFIX, 0, P_ASP },
        { "lock", TOKEN_PREFIX, 0, P_LOCK },
        { "o16", TOKEN_PREFIX, 0, P_O16 },
        { "o32", TOKEN_PREFIX, 0, P_O32 },
        { "o64", TOKEN_PREFIX, 0, P_O64 },
        { "osp", TOKEN_PREFIX, 0, P_OSP },
        { "rep", TOKEN_PREFIX, 0, P_REP },
        { "repe", TOKEN_PREFIX, 0, P_REPE },
        { "repne", TOKEN_PREFIX, 0, P_REPNE },
        { "repnz", TOKEN_PREFIX, 0, P_REPNZ },
        { "repz", TOKEN_PREFIX, 0, P_REPZ },
        { "times", TOKEN_PREFIX, 0, P_TIMES },
        { "wait", TOKEN_PREFIX, 0, P_WAIT },
        { "xacquire", TOKEN_PREFIX, 0, P_XACQUIRE },
        { "xrelease", TOKEN_PREFIX, 0, P_XRELEASE },
        { "abs", TOKEN_SPECIAL, 0, S_ABS },
        { "byte", TOKEN_SPECIAL, 0, S_BYTE },
        { "dword", TOKEN_SPECIAL, 0, S_DWORD },
        { "far", TOKEN_SPECIAL, 0, S_FAR },
        { "long", TOKEN_SPECIAL, 0, S_LONG },
        { "near", TOKEN_SPECIAL, 0, S_NEAR },
        { "nosplit", TOKEN_SPECIAL, 0, S_NOSPLIT },
        { "oword", TOKEN_SPECIAL, 0, S_OWORD },
        { "qword", TOKEN_SPECIAL, 0, S_QWORD },
        { "rel", TOKEN_SPECIAL, 0, S_REL },
        { "short", TOKEN_SPECIAL, 0, S_SHORT },
        { "strict", TOKEN_SPECIAL, 0, S_STRICT },
        { "to", TOKEN_SPECIAL, 0, S_TO },
        { "tword", TOKEN_SPECIAL, 0, S_TWORD },
        { "word", TOKEN_SPECIAL, 0, S_WORD },
        { "yword", TOKEN_SPECIAL, 0, S_YWORD },
        { "__infinity__", TOKEN_FLOAT, 0, 0 },
        { "__nan__", TOKEN_FLOAT, 0, 0 },
        { "__qnan__", TOKEN_FLOAT, 0, 0 },
        { "__snan__", TOKEN_FLOAT, 0, 0 },
        { "__float8__", TOKEN_FLOATIZE, 0, FLOAT_8 },
        { "__float16__", TOKEN_FLOATIZE, 0, FLOAT_16 },
        { "__float32__", TOKEN_FLOATIZE, 0, FLOAT_32 },
        { "__float64__", TOKEN_FLOATIZE, 0, FLOAT_64 },
        { "__float80m__", TOKEN_FLOATIZE, 0, FLOAT_80M },
        { "__float80e__", TOKEN_FLOATIZE, 0, FLOAT_80E },
        { "__float128l__", TOKEN_FLOATIZE, 0, FLOAT_128L },
        { "__float128h__", TOKEN_FLOATIZE, 0, FLOAT_128H },
        { "__utf16__", TOKEN_STRFUNC, 0, STRFUNC_UTF16 },
        { "__utf16le__", TOKEN_STRFUNC, 0, STRFUNC_UTF16LE },
        { "__utf16be__", TOKEN_STRFUNC, 0, STRFUNC_UTF16BE },
        { "__utf32__", TOKEN_STRFUNC, 0, STRFUNC_UTF32 },
        { "__utf32le__", TOKEN_STRFUNC, 0, STRFUNC_UTF32LE },
        { "__utf32be__", TOKEN_STRFUNC, 0, STRFUNC_UTF32BE },
        { "seg", TOKEN_SEG, 0, 0 },
        { "wrt", TOKEN_WRT, 0, 0 },
    };
    uint32_t k1, k2;
    uint64_t crc;
    uint16_t ix;
    const struct tokendata *data;

    crc = crc64(UINT64_C(0x13f0eafb407e486a), token);
    k1 = (uint32_t)crc;
    k2 = (uint32_t)(crc >> 32);

    ix = hash1[k1 & 0x7ff] + hash2[k2 & 0x7ff];
    if (ix >= 1786)
        return tv->t_type = TOKEN_ID;

    data = &tokendata[ix];
    if (strcmp(data->string, token))
        return tv->t_type = TOKEN_ID;

    tv->t_integer = data->num;
    tv->t_inttwo  = data->aux;
    return tv->t_type = data->tokentype;
}
