/*
 * 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,
        0,
        UNUSED,
        894,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        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,
        903,
        504,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        252,
        -2115,
        1076,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        -322,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -1210,
        1011,
        0,
        UNUSED,
        0,
        0,
        124,
        0,
        -317,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        4,
        UNUSED,
        UNUSED,
        197,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        -245,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        291,
        509,
        0,
        UNUSED,
        907,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -1787,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        2503,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -1835,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        753,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        1753,
        0,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        1513,
        UNUSED,
        UNUSED,
        UNUSED,
        -5,
        UNUSED,
        UNUSED,
        357,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        797,
        UNUSED,
        UNUSED,
        925,
        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,
        559,
        362,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1007,
        0,
        UNUSED,
        -748,
        0,
        1413,
        103,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1679,
        184,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -1635,
        1155,
        UNUSED,
        UNUSED,
        UNUSED,
        754,
        239,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        -146,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -302,
        0,
        0,
        UNUSED,
        0,
        0,
        914,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        1029,
        UNUSED,
        178,
        0,
        0,
        UNUSED,
        0,
        757,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        1125,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        1320,
        -283,
        UNUSED,
        105,
        UNUSED,
        22,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1147,
        0,
        UNUSED,
        0,
        259,
        UNUSED,
        922,
        UNUSED,
        16,
        -1765,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1046,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -249,
        UNUSED,
        UNUSED,
        UNUSED,
        1296,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        70,
        1215,
        UNUSED,
        0,
        UNUSED,
        75,
        1407,
        1342,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        1920,
        0,
        UNUSED,
        1128,
        0,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        46,
        UNUSED,
        0,
        -333,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        -73,
        UNUSED,
        0,
        1201,
        UNUSED,
        96,
        UNUSED,
        UNUSED,
        -387,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        220,
        0,
        0,
        UNUSED,
        -1780,
        1866,
        -694,
        453,
        0,
        0,
        1388,
        UNUSED,
        0,
        0,
        -364,
        UNUSED,
        315,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        655,
        457,
        -863,
        943,
        371,
        UNUSED,
        UNUSED,
        21,
        662,
        UNUSED,
        1285,
        0,
        1103,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        325,
        0,
        0,
        0,
        UNUSED,
        0,
        -196,
        882,
        0,
        0,
        450,
        800,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1112,
        415,
        UNUSED,
        UNUSED,
        -820,
        UNUSED,
        UNUSED,
        UNUSED,
        535,
        UNUSED,
        723,
        940,
        UNUSED,
        -595,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        146,
        1913,
        UNUSED,
        UNUSED,
        -43,
        UNUSED,
        UNUSED,
        571,
        -587,
        1492,
        2451,
        1143,
        UNUSED,
        0,
        UNUSED,
        0,
        205,
        UNUSED,
        UNUSED,
        0,
        -532,
        UNUSED,
        613,
        1381,
        UNUSED,
        1028,
        UNUSED,
        0,
        1208,
        -733,
        0,
        526,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -623,
        0,
        0,
        11,
        -124,
        0,
        UNUSED,
        0,
        UNUSED,
        -37,
        -1522,
        0,
        0,
        598,
        UNUSED,
        0,
        68,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        -1501,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -9,
        UNUSED,
        1682,
        -566,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -1091,
        UNUSED,
        95,
        UNUSED,
        UNUSED,
        1306,
        -254,
        UNUSED,
        0,
        0,
        0,
        -1668,
        UNUSED,
        -954,
        0,
        UNUSED,
        953,
        0,
        0,
        1631,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        104,
        0,
        UNUSED,
        -164,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2399,
        0,
        446,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        542,
        UNUSED,
        324,
        1237,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -880,
        424,
        342,
        -986,
        0,
        UNUSED,
        UNUSED,
        1791,
        0,
        UNUSED,
        0,
        1174,
        0,
        0,
        UNUSED,
        UNUSED,
        253,
        0,
        UNUSED,
        UNUSED,
        227,
        1337,
        -1799,
        323,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        685,
        -1785,
        1172,
        -148,
        725,
        515,
        998,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1133,
        862,
        0,
        0,
        716,
        UNUSED,
        UNUSED,
        1329,
        UNUSED,
        UNUSED,
        2198,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        2652,
        UNUSED,
        UNUSED,
        55,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        361,
        0,
        UNUSED,
        -272,
        UNUSED,
        1234,
        UNUSED,
        135,
        UNUSED,
        9,
        1448,
        UNUSED,
        UNUSED,
        906,
        1360,
        UNUSED,
        421,
        UNUSED,
        -205,
        -848,
        UNUSED,
        1132,
        216,
        -279,
        UNUSED,
        1005,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        77,
        -150,
        UNUSED,
        UNUSED,
        0,
        -20,
        UNUSED,
        179,
        -560,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        796,
        658,
        UNUSED,
        UNUSED,
        UNUSED,
        402,
        165,
        1034,
        UNUSED,
        53,
        -325,
        673,
        1190,
        UNUSED,
        UNUSED,
        -627,
        0,
        0,
        2209,
        UNUSED,
        0,
        1073,
        -526,
        946,
        -204,
        -352,
        UNUSED,
        1066,
        -627,
        UNUSED,
        -17,
        UNUSED,
        UNUSED,
        218,
        UNUSED,
        UNUSED,
        1150,
        130,
        UNUSED,
        1110,
        1212,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1365,
        UNUSED,
        UNUSED,
        1563,
        UNUSED,
        1143,
        UNUSED,
        0,
        99,
        651,
        UNUSED,
        0,
        -1144,
        0,
        UNUSED,
        760,
        UNUSED,
        216,
        679,
        UNUSED,
        UNUSED,
        844,
        0,
        -46,
        890,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -815,
        UNUSED,
        717,
        UNUSED,
        15,
        0,
        UNUSED,
        UNUSED,
        -556,
        672,
        942,
        -352,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        275,
        736,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -625,
        1063,
        -1350,
        UNUSED,
        -752,
        UNUSED,
        0,
        692,
        622,
        432,
        -133,
        UNUSED,
        -278,
        1361,
        UNUSED,
        UNUSED,
        UNUSED,
        1098,
        UNUSED,
        432,
        -331,
        634,
        240,
        1405,
        668,
        2739,
        -1061,
        UNUSED,
        UNUSED,
        317,
        UNUSED,
        410,
        148,
        UNUSED,
        987,
        UNUSED,
        556,
        UNUSED,
        -524,
        UNUSED,
        0,
        UNUSED,
        1373,
        UNUSED,
        UNUSED,
        636,
        835,
        1897,
        UNUSED,
        UNUSED,
        -746,
        296,
        UNUSED,
        UNUSED,
        1044,
        UNUSED,
        290,
        -508,
        -500,
        -651,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1465,
        UNUSED,
        UNUSED,
        1522,
        -302,
        865,
        UNUSED,
        UNUSED,
        45,
        -392,
        UNUSED,
        -1166,
        0,
        946,
        UNUSED,
        UNUSED,
        UNUSED,
        -1001,
        559,
        0,
        251,
        44,
        199,
        81,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        327,
        0,
        UNUSED,
        -932,
        -501,
        -1089,
        -15,
        0,
        469,
        1639,
        0,
        698,
        308,
        UNUSED,
        UNUSED,
        -363,
        958,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        272,
        UNUSED,
        613,
        -382,
        UNUSED,
        UNUSED,
        -479,
        0,
        UNUSED,
        UNUSED,
        426,
        -200,
        UNUSED,
        952,
        25,
        0,
        1363,
        UNUSED,
        -387,
        244,
        UNUSED,
        UNUSED,
        620,
        UNUSED,
        -1106,
        UNUSED,
        444,
        UNUSED,
        332,
        UNUSED,
        UNUSED,
        UNUSED,
        -452,
        UNUSED,
        563,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        90,
        532,
        UNUSED,
        1594,
        557,
        0,
        UNUSED,
        0,
        UNUSED,
        457,
        UNUSED,
        UNUSED,
        UNUSED,
        217,
        -1241,
        199,
        1349,
        1068,
        321,
        UNUSED,
        1651,
        UNUSED,
        396,
        UNUSED,
        -278,
        UNUSED,
        UNUSED,
        UNUSED,
        1545,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1584,
        0,
        UNUSED,
        UNUSED,
        1428,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -263,
        UNUSED,
        -20,
        1398,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1113,
        -206,
        152,
        -333,
        UNUSED,
        818,
        723,
        168,
        UNUSED,
        896,
        276,
        -409,
        UNUSED,
        978,
        734,
        UNUSED,
        UNUSED,
        UNUSED,
        619,
        UNUSED,
        0,
        0,
        82,
        UNUSED,
        -170,
        UNUSED,
        996,
        UNUSED,
        UNUSED,
        UNUSED,
        648,
        UNUSED,
        UNUSED,
        -281,
        1135,
        391,
        UNUSED,
        -30,
        0,
        0,
        -689,
        UNUSED,
        UNUSED,
        -440,
        UNUSED,
        818,
        -160,
        474,
        UNUSED,
        UNUSED,
        UNUSED,
        1069,
        233,
        UNUSED,
        845,
        955,
        UNUSED,
        0,
        1073,
        UNUSED,
        UNUSED,
        UNUSED,
        -1917,
        UNUSED,
        999,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1024,
        0,
        407,
        UNUSED,
        1573,
        1085,
        -239,
        0,
        510,
        UNUSED,
        1088,
        UNUSED,
        175,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        495,
        1196,
        UNUSED,
        0,
        UNUSED,
        -442,
        UNUSED,
        UNUSED,
        UNUSED,
        1059,
        332,
        UNUSED,
        UNUSED,
        UNUSED,
        -762,
        2306,
        UNUSED,
        0,
        180,
        1380,
        UNUSED,
        UNUSED,
        UNUSED,
        696,
        UNUSED,
        485,
        -399,
        630,
        -1299,
        1615,
        -1201,
        1199,
        UNUSED,
        UNUSED,
        19,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        396,
        60,
        UNUSED,
        UNUSED,
        UNUSED,
        367,
        UNUSED,
        UNUSED,
        636,
        UNUSED,
        0,
        86,
        253,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1296,
        1335,
        UNUSED,
        UNUSED,
        741,
        UNUSED,
        UNUSED,
        1464,
        UNUSED,
        UNUSED,
        389,
        920,
        1549,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1480,
        686,
        UNUSED,
        10,
        400,
        814,
        608,
        UNUSED,
        327,
        -875,
        UNUSED,
        UNUSED,
        0,
        -1508,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        1568,
        0,
        0,
        932,
        0,
        UNUSED,
        UNUSED,
        1664,
        300,
        UNUSED,
        -107,
        UNUSED,
        -180,
        406,
        904,
        UNUSED,
        1869,
        UNUSED,
        UNUSED,
        204,
        238,
        UNUSED,
        UNUSED,
        UNUSED,
        -2438,
        754,
        UNUSED,
        1048,
        81,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        212,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        1503,
        UNUSED,
        1670,
        291,
        -450,
        UNUSED,
        120,
        888,
        1375,
        UNUSED,
        -888,
        1180,
        0,
        -234,
        UNUSED,
        1179,
        UNUSED,
        145,
        UNUSED,
        UNUSED,
        UNUSED,
        824,
        UNUSED,
        367,
        1031,
        343,
        UNUSED,
        -1558,
        -212,
        UNUSED,
        UNUSED,
        1092,
        328,
        1643,
        UNUSED,
        UNUSED,
        UNUSED,
        -785,
        1371,
        1299,
        879,
        UNUSED,
        424,
        1229,
        -151,
        UNUSED,
        643,
        UNUSED,
        UNUSED,
        UNUSED,
        1528,
        1583,
        UNUSED,
        919,
        UNUSED,
        1284,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1546,
        0,
        1898,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        84,
        UNUSED,
        UNUSED,
        484,
        894,
        UNUSED,
        1511,
        UNUSED,
        747,
        -885,
        -1564,
        417,
        -43,
        855,
        -1819,
        UNUSED,
        -570,
        1314,
        158,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1460,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -452,
        UNUSED,
        0,
        UNUSED,
        1189,
        1011,
        UNUSED,
        175,
        UNUSED,
        UNUSED,
        396,
        1419,
        -369,
        909,
        116,
        UNUSED,
        1077,
        UNUSED,
        UNUSED,
        1359,
        869,
        UNUSED,
        949,
        35,
        627,
        UNUSED,
        UNUSED,
        UNUSED,
        300,
        1039,
        UNUSED,
        1953,
        -512,
        UNUSED,
        966,
        456,
        547,
        UNUSED,
        1407,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -506,
        990,
        UNUSED,
        798,
        1872,
        UNUSED,
        0,
        0,
        1057,
        UNUSED,
        1489,
        UNUSED,
        -1784,
        -761,
        UNUSED,
        -507,
        UNUSED,
        UNUSED,
        902,
        739,
        UNUSED,
        UNUSED,
        -290,
        968,
        1557,
        1465,
        UNUSED,
        1616,
        UNUSED,
        1434,
        334,
        UNUSED,
        -532,
        UNUSED,
        58,
        UNUSED,
        UNUSED,
        351,
        819,
        594,
        UNUSED,
        386,
        -2004,
        504,
        0,
        UNUSED,
        UNUSED,
        126,
        1037,
        UNUSED,
        159,
        UNUSED,
        UNUSED,
        1356,
        UNUSED,
        UNUSED,
        1078,
        UNUSED,
        506,
        1095,
        951,
        UNUSED,
        UNUSED,
        0,
        324,
        1289,
        843,
        0,
        UNUSED,
        UNUSED,
        573,
        475,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1010,
        1124,
        UNUSED,
        UNUSED,
        1487,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        789,
        1570,
        -1182,
        1187,
        UNUSED,
        1520,
        21,
        UNUSED,
        620,
        854,
        UNUSED,
        UNUSED,
        -72,
        1195,
        0,
        20,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1790,
        4,
        UNUSED,
        -1272,
        947,
        UNUSED,
        UNUSED,
        UNUSED,
        823,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1003,
        118,
        980,
        564,
        1252,
        2285,
        535,
        UNUSED,
        807,
        UNUSED,
        575,
        1978,
        UNUSED,
        UNUSED,
        490,
        UNUSED,
        UNUSED,
        436,
        1315,
        UNUSED,
        0,
        701,
        UNUSED,
        UNUSED,
        UNUSED,
        413,
        530,
        1431,
        -623,
        2505,
        UNUSED,
        -273,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        611,
        UNUSED,
        56,
        UNUSED,
        -73,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        307,
        UNUSED,
        UNUSED,
        173,
        1334,
        1295,
        196,
        -547,
        -150,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -419,
        743,
        691,
        480,
        UNUSED,
        1048,
        UNUSED,
        UNUSED,
        262,
        639,
        881,
        UNUSED,
        UNUSED,
        -158,
        UNUSED,
        991,
        1507,
        UNUSED,
        -751,
        UNUSED,
        UNUSED,
        UNUSED,
        -566,
        0,
        -46,
        UNUSED,
        UNUSED,
        959,
        0,
        896,
        -574,
        -95,
        177,
        1584,
        UNUSED,
        UNUSED,
        540,
        UNUSED,
        -589,
        672,
        UNUSED,
        467,
        113,
        UNUSED,
        -460,
        560,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1935,
        1281,
        382,
        830,
        774,
        318,
        1355,
        1184,
        UNUSED,
        UNUSED,
        565,
        UNUSED,
        1348,
        208,
        443,
        UNUSED,
        -517,
        372,
        UNUSED,
        UNUSED,
        48,
        UNUSED,
        UNUSED,
        75,
        UNUSED,
        UNUSED,
        240,
        0,
        -220,
        UNUSED,
        UNUSED,
        -170,
        UNUSED,
        UNUSED,
        19,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        884,
        1217,
        -93,
        UNUSED,
        UNUSED,
        UNUSED,
        1395,
        528,
        296,
        929,
        UNUSED,
        UNUSED,
        7,
        335,
        UNUSED,
        1146,
        1161,
        1394,
        UNUSED,
        UNUSED,
        UNUSED,
        1212,
        7,
        1600,
        1119,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -105,
        1547,
        0,
        UNUSED,
        875,
        UNUSED,
        -103,
        138,
        UNUSED,
        UNUSED,
        1426,
        1208,
        0,
        UNUSED,
        -379,
        379,
        53,
        1327,
        UNUSED,
        UNUSED,
        211,
        UNUSED,
        UNUSED,
        -136,
        851,
        UNUSED,
        1706,
        1235,
        99,
        UNUSED,
        UNUSED,
        812,
        UNUSED,
        UNUSED,
        848,
        UNUSED,
        1596,
        202,
        UNUSED,
        UNUSED,
        -122,
        622,
        1628,
        -688,
        391,
        540,
        1008,
        352,
        UNUSED,
        571,
        UNUSED,
        -237,
        1098,
        UNUSED,
        825,
        UNUSED,
        -2097,
        1023,
        UNUSED,
        836,
        -292,
        UNUSED,
        UNUSED,
        47,
        -233,
        UNUSED,
        1470,
        391,
        UNUSED,
        UNUSED,
        UNUSED,
        517,
        UNUSED,
        UNUSED,
        UNUSED,
        905,
        UNUSED,
        269,
        UNUSED,
        1157,
        473,
        -701,
        UNUSED,
        UNUSED,
        707,
        UNUSED,
        UNUSED,
        750,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        401,
        UNUSED,
        UNUSED,
        -805,
        1009,
        0,
        1094,
        507,
        741,
        UNUSED,
        1614,
        UNUSED,
        476,
        891,
        1241,
        969,
        -56,
        UNUSED,
        -341,
        UNUSED,
        285,
        944,
        1557,
        UNUSED,
        -410,
        UNUSED,
        -907,
        UNUSED,
        -241,
        UNUSED,
        UNUSED,
        UNUSED,
        1815,
        UNUSED,
        1481,
        762,
        978,
        222,
        UNUSED,
        -958,
        UNUSED,
        UNUSED,
        834,
        1429,
        UNUSED,
        568,
        UNUSED,
        993,
        UNUSED,
        299,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        700,
        UNUSED,
        1290,
        -733,
        UNUSED,
        0,
        746,
        801,
        UNUSED,
        721,
        UNUSED,
        1654,
        UNUSED,
        990,
        UNUSED,
        UNUSED,
        UNUSED,
        1126,
        -631,
        UNUSED,
        -1843,
        1456,
        -468,
        UNUSED,
        937,
        UNUSED,
        -328,
        UNUSED,
        -107,
        UNUSED,
        1627,
        1460,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        290,
        675,
        1210,
        UNUSED,
        UNUSED,
        1184,
        UNUSED,
        340,
        UNUSED,
        1279,
        947,
        1255,
        UNUSED,
        -105,
        636,
        UNUSED,
        1610,
        418,
        40,
        346,
        619,
        1736,
        750,
        UNUSED,
        -853,
        UNUSED,
        120,
        -171,
        UNUSED,
        2,
        10,
        UNUSED,
        UNUSED,
        -372,
        1855,
        -879,
        51,
        UNUSED,
        UNUSED,
        1405,
        UNUSED,
        UNUSED,
        -594,
        UNUSED,
        828,
        UNUSED,
        855,
        UNUSED,
        1165,
        1530,
        331,
        43,
        1299,
        336,
        108,
        -62,
        1497,
        UNUSED,
        UNUSED,
        141,
        46,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -364,
        275,
        UNUSED,
        1139,
        -45,
        UNUSED,
        UNUSED,
        UNUSED,
        75,
        -749,
        886,
        UNUSED,
        338,
        22,
        -70,
        217,
        UNUSED,
        951,
        UNUSED,
        UNUSED,
        95,
        -160,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        648,
        1162,
        UNUSED,
        UNUSED,
        UNUSED,
        841,
        UNUSED,
        UNUSED,
        -1711,
        767,
        UNUSED,
        UNUSED,
        822,
        -833,
        UNUSED,
        536,
        UNUSED,
        63,
        1287,
        534,
        1538,
        -1130,
        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,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        670,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        298,
        0,
        UNUSED,
        UNUSED,
        3412,
        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,
        -892,
        645,
        0,
        UNUSED,
        0,
        3358,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        581,
        0,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        -541,
        0,
        -66,
        1170,
        UNUSED,
        0,
        0,
        1051,
        0,
        UNUSED,
        UNUSED,
        -1251,
        0,
        705,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        78,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        2589,
        UNUSED,
        UNUSED,
        0,
        223,
        1556,
        0,
        691,
        UNUSED,
        944,
        0,
        UNUSED,
        -818,
        UNUSED,
        UNUSED,
        UNUSED,
        -734,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -1208,
        2107,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1414,
        UNUSED,
        UNUSED,
        171,
        UNUSED,
        0,
        1490,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        911,
        UNUSED,
        0,
        1160,
        UNUSED,
        UNUSED,
        0,
        313,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -543,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        722,
        430,
        1204,
        UNUSED,
        0,
        1522,
        UNUSED,
        1112,
        UNUSED,
        1027,
        0,
        0,
        0,
        2065,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        -176,
        1446,
        395,
        UNUSED,
        2380,
        UNUSED,
        258,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2127,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        2776,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        0,
        646,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        2530,
        449,
        3314,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -787,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        1280,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1408,
        UNUSED,
        -599,
        1450,
        UNUSED,
        UNUSED,
        143,
        UNUSED,
        0,
        1342,
        1171,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        684,
        0,
        0,
        UNUSED,
        1904,
        UNUSED,
        UNUSED,
        UNUSED,
        -987,
        UNUSED,
        986,
        UNUSED,
        0,
        -1153,
        UNUSED,
        -387,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        129,
        UNUSED,
        875,
        UNUSED,
        2400,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -562,
        0,
        989,
        -231,
        UNUSED,
        UNUSED,
        1668,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        972,
        UNUSED,
        UNUSED,
        -704,
        0,
        334,
        383,
        86,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1043,
        0,
        0,
        2473,
        UNUSED,
        2427,
        0,
        UNUSED,
        0,
        377,
        1382,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        311,
        UNUSED,
        UNUSED,
        365,
        UNUSED,
        -148,
        0,
        0,
        UNUSED,
        1083,
        -602,
        951,
        182,
        UNUSED,
        0,
        0,
        3071,
        UNUSED,
        1133,
        UNUSED,
        UNUSED,
        1250,
        0,
        UNUSED,
        0,
        0,
        2267,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        658,
        1645,
        0,
        UNUSED,
        389,
        38,
        UNUSED,
        0,
        -506,
        UNUSED,
        UNUSED,
        362,
        UNUSED,
        0,
        1471,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        217,
        2272,
        UNUSED,
        0,
        UNUSED,
        0,
        1673,
        0,
        2193,
        0,
        -669,
        240,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        1669,
        234,
        UNUSED,
        UNUSED,
        UNUSED,
        429,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        3172,
        UNUSED,
        0,
        0,
        0,
        1576,
        2057,
        0,
        1124,
        UNUSED,
        -195,
        0,
        0,
        UNUSED,
        0,
        642,
        0,
        UNUSED,
        UNUSED,
        1374,
        794,
        0,
        0,
        UNUSED,
        -169,
        2517,
        1935,
        UNUSED,
        933,
        -172,
        -122,
        0,
        UNUSED,
        470,
        481,
        0,
        1652,
        UNUSED,
        658,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        966,
        164,
        UNUSED,
        0,
        47,
        224,
        UNUSED,
        -17,
        -313,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        -969,
        UNUSED,
        2995,
        0,
        UNUSED,
        0,
        644,
        0,
        0,
        UNUSED,
        -111,
        1315,
        UNUSED,
        UNUSED,
        472,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        926,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        756,
        UNUSED,
        0,
        896,
        UNUSED,
        UNUSED,
        867,
        UNUSED,
        -963,
        320,
        -447,
        -528,
        UNUSED,
        0,
        -317,
        62,
        0,
        UNUSED,
        1173,
        831,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        790,
        UNUSED,
        1136,
        -1549,
        -309,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        1566,
        1621,
        0,
        UNUSED,
        0,
        -180,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1452,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        845,
        404,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        126,
        UNUSED,
        UNUSED,
        1551,
        0,
        1271,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1381,
        1685,
        UNUSED,
        832,
        676,
        0,
        UNUSED,
        1058,
        1028,
        UNUSED,
        163,
        UNUSED,
        618,
        914,
        UNUSED,
        UNUSED,
        UNUSED,
        1565,
        553,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -948,
        1353,
        UNUSED,
        245,
        0,
        UNUSED,
        UNUSED,
        1451,
        0,
        1246,
        UNUSED,
        UNUSED,
        635,
        UNUSED,
        UNUSED,
        UNUSED,
        403,
        -485,
        -311,
        -1178,
        UNUSED,
        UNUSED,
        0,
        -835,
        1316,
        0,
        649,
        UNUSED,
        941,
        1175,
        UNUSED,
        177,
        1307,
        51,
        UNUSED,
        -275,
        UNUSED,
        0,
        0,
        108,
        UNUSED,
        1505,
        -988,
        UNUSED,
        -734,
        UNUSED,
        23,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        796,
        0,
        UNUSED,
        503,
        UNUSED,
        UNUSED,
        UNUSED,
        1305,
        -209,
        -14,
        UNUSED,
        UNUSED,
        733,
        UNUSED,
        74,
        UNUSED,
        -509,
        UNUSED,
        UNUSED,
        1104,
        891,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        1207,
        -51,
        1101,
        0,
        37,
        UNUSED,
        UNUSED,
        UNUSED,
        1328,
        0,
        1052,
        225,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        552,
        793,
        189,
        455,
        UNUSED,
        -1284,
        310,
        90,
        564,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        450,
        UNUSED,
        UNUSED,
        160,
        UNUSED,
        355,
        0,
        UNUSED,
        699,
        0,
        1663,
        1132,
        479,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        592,
        UNUSED,
        0,
        550,
        UNUSED,
        0,
        UNUSED,
        64,
        UNUSED,
        UNUSED,
        940,
        0,
        1554,
        0,
        1108,
        10,
        UNUSED,
        UNUSED,
        471,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        208,
        416,
        1453,
        1739,
        631,
        237,
        -105,
        0,
        UNUSED,
        UNUSED,
        0,
        385,
        UNUSED,
        0,
        0,
        UNUSED,
        536,
        -866,
        10,
        UNUSED,
        UNUSED,
        0,
        143,
        0,
        293,
        273,
        UNUSED,
        UNUSED,
        666,
        345,
        UNUSED,
        0,
        -305,
        UNUSED,
        262,
        0,
        -559,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        936,
        UNUSED,
        UNUSED,
        484,
        UNUSED,
        UNUSED,
        523,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        505,
        1336,
        UNUSED,
        UNUSED,
        0,
        724,
        UNUSED,
        78,
        UNUSED,
        939,
        0,
        0,
        599,
        -37,
        UNUSED,
        1479,
        -15,
        0,
        798,
        UNUSED,
        UNUSED,
        469,
        114,
        484,
        UNUSED,
        0,
        UNUSED,
        -338,
        0,
        UNUSED,
        -567,
        UNUSED,
        464,
        UNUSED,
        UNUSED,
        -588,
        220,
        766,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1562,
        UNUSED,
        UNUSED,
        134,
        UNUSED,
        -311,
        480,
        0,
        -538,
        UNUSED,
        485,
        1146,
        UNUSED,
        390,
        715,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        58,
        UNUSED,
        1005,
        1148,
        1461,
        132,
        52,
        1900,
        784,
        UNUSED,
        UNUSED,
        1437,
        UNUSED,
        0,
        533,
        UNUSED,
        UNUSED,
        694,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1203,
        UNUSED,
        1594,
        UNUSED,
        UNUSED,
        573,
        0,
        629,
        UNUSED,
        293,
        0,
        128,
        0,
        278,
        UNUSED,
        1698,
        0,
        988,
        1936,
        UNUSED,
        UNUSED,
        427,
        UNUSED,
        UNUSED,
        UNUSED,
        1313,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        39,
        UNUSED,
        1189,
        301,
        0,
        1173,
        1477,
        -687,
        UNUSED,
        UNUSED,
        UNUSED,
        -717,
        476,
        -86,
        -131,
        UNUSED,
        0,
        0,
        UNUSED,
        -569,
        358,
        -1150,
        UNUSED,
        UNUSED,
        UNUSED,
        689,
        1454,
        UNUSED,
        UNUSED,
        -481,
        1615,
        UNUSED,
        1544,
        UNUSED,
        0,
        UNUSED,
        477,
        1604,
        0,
        UNUSED,
        674,
        UNUSED,
        94,
        UNUSED,
        1649,
        UNUSED,
        UNUSED,
        UNUSED,
        848,
        UNUSED,
        1329,
        UNUSED,
        UNUSED,
        UNUSED,
        1370,
        UNUSED,
        770,
        1468,
        UNUSED,
        586,
        UNUSED,
        -140,
        1072,
        0,
        UNUSED,
        768,
        -102,
        231,
        1440,
        428,
        -294,
        UNUSED,
        970,
        1125,
        763,
        565,
        1065,
        -1325,
        UNUSED,
        697,
        1143,
        1622,
        UNUSED,
        1425,
        398,
        UNUSED,
        329,
        2441,
        1049,
        1240,
        1640,
        UNUSED,
        731,
        UNUSED,
        1666,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        253,
        1022,
        UNUSED,
        1468,
        0,
        UNUSED,
        1416,
        -188,
        1486,
        862,
        1802,
        UNUSED,
        1606,
        UNUSED,
        UNUSED,
        700,
        0,
        UNUSED,
        UNUSED,
        -69,
        UNUSED,
        UNUSED,
        UNUSED,
        2834,
        587,
        736,
        0,
        UNUSED,
        UNUSED,
        -802,
        18,
        UNUSED,
        860,
        UNUSED,
        UNUSED,
        940,
        -892,
        -307,
        UNUSED,
        -180,
        167,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1438,
        UNUSED,
        572,
        UNUSED,
        1428,
        UNUSED,
        UNUSED,
        -108,
        1149,
        -466,
        UNUSED,
        UNUSED,
        486,
        UNUSED,
        663,
        1653,
        UNUSED,
        1257,
        -907,
        UNUSED,
        UNUSED,
        UNUSED,
        -1181,
        955,
        405,
        179,
        0,
        1345,
        UNUSED,
        181,
        0,
        1504,
        UNUSED,
        -347,
        2371,
        UNUSED,
        232,
        1053,
        107,
        495,
        1486,
        0,
        UNUSED,
        UNUSED,
        747,
        UNUSED,
        UNUSED,
        UNUSED,
        49,
        0,
        1340,
        UNUSED,
        1330,
        UNUSED,
        1109,
        -1229,
        UNUSED,
        984,
        UNUSED,
        1656,
        -520,
        791,
        1162,
        UNUSED,
        489,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        834,
        UNUSED,
        265,
        1437,
        565,
        -1096,
        914,
        -682,
        1499,
        UNUSED,
        UNUSED,
        -441,
        -12,
        UNUSED,
        712,
        954,
        1357,
        -1491,
        1039,
        0,
        UNUSED,
        UNUSED,
        1053,
        689,
        UNUSED,
        UNUSED,
        UNUSED,
        1591,
        UNUSED,
        983,
        UNUSED,
        405,
        UNUSED,
        UNUSED,
        994,
        57,
        1688,
        1377,
        1488,
        1635,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        59,
        15,
        UNUSED,
        567,
        739,
        1397,
        -78,
        1109,
        1439,
        0,
        UNUSED,
        348,
        1535,
        390,
        UNUSED,
        UNUSED,
        404,
        UNUSED,
        1461,
        365,
        UNUSED,
        1621,
        UNUSED,
        206,
        1532,
        0,
        0,
        UNUSED,
        24,
        UNUSED,
        219,
        1181,
        UNUSED,
        412,
        1154,
        UNUSED,
        870,
        UNUSED,
        280,
        -1419,
        UNUSED,
        UNUSED,
        163,
        UNUSED,
        UNUSED,
        0,
        1524,
        UNUSED,
        1536,
        1341,
        1292,
        448,
        584,
        UNUSED,
        1025,
        UNUSED,
        UNUSED,
        UNUSED,
        401,
        UNUSED,
        UNUSED,
        UNUSED,
        230,
        UNUSED,
        873,
        -458,
        1001,
        UNUSED,
        897,
        1435,
        79,
        521,
        1023,
        393,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        1163,
        UNUSED,
        2267,
        -851,
        1870,
        1638,
        UNUSED,
        1475,
        694,
        1617,
        344,
        UNUSED,
        UNUSED,
        UNUSED,
        1257,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        25,
        0,
        UNUSED,
        223,
        UNUSED,
        366,
        UNUSED,
        252,
        436,
        UNUSED,
        72,
        UNUSED,
        869,
        -682,
        UNUSED,
        0,
        1541,
        1019,
        1153,
        1478,
        UNUSED,
        1601,
        374,
        27,
        1629,
        493,
        192,
        1094,
        1196,
        0,
        1463,
        1647,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1178,
        UNUSED,
        155,
        UNUSED,
        1041,
        UNUSED,
        UNUSED,
        462,
        1250,
        UNUSED,
        -177,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1200,
        UNUSED,
        UNUSED,
        229,
        268,
        UNUSED,
        UNUSED,
        1034,
        2167,
        -23,
        1067,
        0,
        UNUSED,
        UNUSED,
        1590,
        326,
        1420,
        UNUSED,
        UNUSED,
        -1182,
        UNUSED,
        1073,
        UNUSED,
        UNUSED,
        888,
        -1419,
        877,
        1275,
        849,
        765,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1015,
        UNUSED,
        UNUSED,
        UNUSED,
        1253,
        UNUSED,
        UNUSED,
        445,
        UNUSED,
        1174,
        UNUSED,
        UNUSED,
        UNUSED,
        1311,
        -820,
        UNUSED,
        -137,
        1464,
        UNUSED,
        0,
        8,
        UNUSED,
        69,
        -813,
        UNUSED,
        282,
        UNUSED,
        931,
        46,
        UNUSED,
        548,
        -688,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        419,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1180,
        UNUSED,
        109,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        161,
        403,
        UNUSED,
        1540,
        UNUSED,
        407,
        UNUSED,
        UNUSED,
        23,
        1478,
        1436,
        89,
        -421,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        2041,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -132,
        -1677,
        -653,
        1079,
        UNUSED,
        182,
        1691,
        UNUSED,
        483,
        1303,
        623,
        UNUSED,
        913,
        447,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1474,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        661,
        293,
        0,
        555,
        0,
        1533,
        2333,
        UNUSED,
        UNUSED,
        298,
        0,
        2332,
        UNUSED,
        UNUSED,
        -1049,
        UNUSED,
        UNUSED,
        837,
        UNUSED,
        837,
        617,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        205,
        UNUSED,
        0,
        233,
        1168,
        UNUSED,
        57,
        448,
        -40,
        UNUSED,
        UNUSED,
        805,
        UNUSED,
        1215,
        338,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1423,
        840,
        573,
        1002,
        UNUSED,
        930,
        901,
        67,
        726,
        720,
        -191,
        260,
        1457,
        1211,
        79,
        239,
        UNUSED,
        UNUSED,
        723,
        1033,
        971,
        871,
        649,
        481,
        UNUSED,
        UNUSED,
        1142,
        0,
        UNUSED,
        UNUSED,
        0,
        -600,
        UNUSED,
        116,
        UNUSED,
        UNUSED,
        UNUSED,
        13,
        122,
        1127,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        137,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        251,
        UNUSED,
        UNUSED,
        UNUSED,
        94,
        1400,
        UNUSED,
        UNUSED,
        UNUSED,
        1815,
        UNUSED,
        1257,
        UNUSED,
        1368,
        710,
        1578,
        879,
        1376,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        406,
        777,
        146,
        -1043,
        147,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2132,
        303,
        39,
        1342,
        0,
        UNUSED,
        1451,
        UNUSED,
        UNUSED,
        2283,
        UNUSED,
        -771,
        -690,
        -813,
        1083,
        UNUSED,
        UNUSED,
        796,
        1369,
        UNUSED,
        676,
        UNUSED,
        1026,
        380,
        UNUSED,
        UNUSED,
        827,
        UNUSED,
        461,
        288,
        UNUSED,
        UNUSED,
        UNUSED,
        213,
        277,
        1511,
        1390,
        579,
        UNUSED,
        -336,
        1587,
        UNUSED,
        UNUSED,
        1626,
        UNUSED,
        1254,
        UNUSED,
        UNUSED,
        81,
        UNUSED,
        UNUSED,
        UNUSED,
        479,
        UNUSED,
        516,
        637,
        UNUSED,
        1763,
        UNUSED,
        3026,
        780,
        UNUSED,
        UNUSED,
        UNUSED,
        821,
        1021,
        778,
        139,
        1300,
        UNUSED,
        747,
        UNUSED,
        183,
        396,
        UNUSED,
        UNUSED,
        UNUSED,
        322,
        356,
        699,
        195,
        1570,
        UNUSED,
        UNUSED,
        614,
        UNUSED,
        UNUSED,
        UNUSED,
        711,
        735,
        0,
        1482,
        UNUSED,
        395,
        297,
        1036,
        1364,
        UNUSED,
        -254,
        677,
        1087,
        1145,
        880,
        963,
        UNUSED,
        1657,
        0,
        672,
        UNUSED,
        -851,
        0,
        689,
        1288,
        UNUSED,
        UNUSED,
        286,
        UNUSED,
        UNUSED,
        UNUSED,
        1424,
        UNUSED,
        158,
        UNUSED,
        1924,
        685,
        UNUSED,
        1035,
        UNUSED,
        -25,
        3181,
        533,
        UNUSED,
        -227,
        1494,
        139,
        437,
        -300,
        UNUSED,
        413,
        UNUSED,
        -212,
        -510,
        221,
        1661,
        1499,
        -1188,
        UNUSED,
        0,
        1493,
        1672,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -95,
        UNUSED,
        UNUSED,
        4,
        499,
        UNUSED,
        UNUSED,
        0,
        1579,
        190,
        UNUSED,
        UNUSED,
        533,
        UNUSED,
        590,
        -929,
        130,
        484,
        871,
        UNUSED,
        1523,
        UNUSED,
        UNUSED,
        -712,
        UNUSED,
        1585,
        UNUSED,
        UNUSED,
        -871,
        UNUSED,
        UNUSED,
        UNUSED,
        891,
        -815,
        UNUSED,
        -628,
        1076,
        UNUSED,
        326,
        742,
        UNUSED,
        585,
        UNUSED,
        775,
        650,
        119,
        UNUSED,
        -373,
        UNUSED,
        UNUSED,
        1036,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        42,
        UNUSED,
        UNUSED,
        829,
        UNUSED,
        234,
        UNUSED,
        UNUSED,
        UNUSED,
        545,
        UNUSED,
        -667,
        UNUSED,
        287,
        2916,
        UNUSED,
        92,
        1422,
        -875,
        -1177,
        UNUSED,
        UNUSED,
        UNUSED,
        1080,
        675,
        UNUSED,
        -926,
        -40,
        UNUSED,
        UNUSED,
        281,
        1474,
        UNUSED,
        -1015,
        -534,
        1374,
        UNUSED,
        UNUSED,
        910,
        UNUSED,
        -1782,
        -262,
        UNUSED,
        1058,
        UNUSED,
        -430,
        UNUSED,
        1248,
        616,
        UNUSED,
        UNUSED,
        534,
        1519,
        549,
        UNUSED,
        UNUSED,
        1258,
        UNUSED,
        -700,
        295,
        201,
        UNUSED,
        UNUSED,
        2052,
        UNUSED,
        921,
        1214,
        1091,
        UNUSED,
        895,
        UNUSED,
        1055,
        UNUSED,
        1421,
        148,
        302,
        1000,
        213,
        385,
        UNUSED,
        UNUSED,
        857,
        894,
        5,
        1198,
        UNUSED,
        UNUSED,
        1559,
        UNUSED,
        2541,
        UNUSED,
        1331,
        -173,
        659,
        752,
        UNUSED,
        299,
        1106,
        UNUSED,
        660,
        792,
        UNUSED,
        1166,
        501,
        UNUSED,
        1200,
        1556,
        UNUSED,
        UNUSED,
        -154,
        UNUSED,
        -1209,
        UNUSED,
        1214,
        889,
        UNUSED,
        UNUSED,
        666,
        -1479,
        UNUSED,
        63,
        UNUSED,
        UNUSED,
        59,
        UNUSED,
        1160,
        UNUSED,
        UNUSED,
        610,
        UNUSED,
        76,
        974,
        231,
        UNUSED,
        1302,
        235,
        UNUSED,
        1580,
        74,
        319,
        UNUSED,
        -699,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        465,
        1586,
        -1011,
        UNUSED,
        1260,
        UNUSED,
        UNUSED,
        130,
        135,
        UNUSED,
        UNUSED,
        491,
    };
    static const struct tokendata tokendata[1677] = {
        { "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 },
        { "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 },
        { "fxsave", TOKEN_INSN, C_none, I_FXSAVE },
        { "xgetbv", TOKEN_INSN, C_none, I_XGETBV },
        { "xsetbv", TOKEN_INSN, C_none, I_XSETBV },
        { "xsave", TOKEN_INSN, C_none, I_XSAVE },
        { "xrstor", TOKEN_INSN, C_none, I_XRSTOR },
        { "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 },
        { "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 },
        { "vcmpeqpd", TOKEN_INSN, C_none, I_VCMPEQPD },
        { "vcmpltpd", TOKEN_INSN, C_none, I_VCMPLTPD },
        { "vcmplepd", TOKEN_INSN, C_none, I_VCMPLEPD },
        { "vcmpunordpd", TOKEN_INSN, C_none, I_VCMPUNORDPD },
        { "vcmpneqpd", TOKEN_INSN, C_none, I_VCMPNEQPD },
        { "vcmpnltpd", TOKEN_INSN, C_none, I_VCMPNLTPD },
        { "vcmpnlepd", TOKEN_INSN, C_none, I_VCMPNLEPD },
        { "vcmpordpd", TOKEN_INSN, C_none, I_VCMPORDPD },
        { "vcmpeq_uqpd", TOKEN_INSN, C_none, I_VCMPEQ_UQPD },
        { "vcmpngepd", TOKEN_INSN, C_none, I_VCMPNGEPD },
        { "vcmpngtpd", TOKEN_INSN, C_none, I_VCMPNGTPD },
        { "vcmpfalsepd", TOKEN_INSN, C_none, I_VCMPFALSEPD },
        { "vcmpneq_oqpd", TOKEN_INSN, C_none, I_VCMPNEQ_OQPD },
        { "vcmpgepd", TOKEN_INSN, C_none, I_VCMPGEPD },
        { "vcmpgtpd", TOKEN_INSN, C_none, I_VCMPGTPD },
        { "vcmptruepd", TOKEN_INSN, C_none, I_VCMPTRUEPD },
        { "vcmpeq_ospd", TOKEN_INSN, C_none, I_VCMPEQ_OSPD },
        { "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 },
        { "vcmpeqps", TOKEN_INSN, C_none, I_VCMPEQPS },
        { "vcmpltps", TOKEN_INSN, C_none, I_VCMPLTPS },
        { "vcmpleps", TOKEN_INSN, C_none, I_VCMPLEPS },
        { "vcmpunordps", TOKEN_INSN, C_none, I_VCMPUNORDPS },
        { "vcmpneqps", TOKEN_INSN, C_none, I_VCMPNEQPS },
        { "vcmpnltps", TOKEN_INSN, C_none, I_VCMPNLTPS },
        { "vcmpnleps", TOKEN_INSN, C_none, I_VCMPNLEPS },
        { "vcmpordps", TOKEN_INSN, C_none, I_VCMPORDPS },
        { "vcmpeq_uqps", TOKEN_INSN, C_none, I_VCMPEQ_UQPS },
        { "vcmpngeps", TOKEN_INSN, C_none, I_VCMPNGEPS },
        { "vcmpngtps", TOKEN_INSN, C_none, I_VCMPNGTPS },
        { "vcmpfalseps", TOKEN_INSN, C_none, I_VCMPFALSEPS },
        { "vcmpneq_oqps", TOKEN_INSN, C_none, I_VCMPNEQ_OQPS },
        { "vcmpgeps", TOKEN_INSN, C_none, I_VCMPGEPS },
        { "vcmpgtps", TOKEN_INSN, C_none, I_VCMPGTPS },
        { "vcmptrueps", TOKEN_INSN, C_none, I_VCMPTRUEPS },
        { "vcmpeq_osps", TOKEN_INSN, C_none, I_VCMPEQ_OSPS },
        { "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 },
        { "vcmpeqsd", TOKEN_INSN, C_none, I_VCMPEQSD },
        { "vcmpltsd", TOKEN_INSN, C_none, I_VCMPLTSD },
        { "vcmplesd", TOKEN_INSN, C_none, I_VCMPLESD },
        { "vcmpunordsd", TOKEN_INSN, C_none, I_VCMPUNORDSD },
        { "vcmpneqsd", TOKEN_INSN, C_none, I_VCMPNEQSD },
        { "vcmpnltsd", TOKEN_INSN, C_none, I_VCMPNLTSD },
        { "vcmpnlesd", TOKEN_INSN, C_none, I_VCMPNLESD },
        { "vcmpordsd", TOKEN_INSN, C_none, I_VCMPORDSD },
        { "vcmpeq_uqsd", TOKEN_INSN, C_none, I_VCMPEQ_UQSD },
        { "vcmpngesd", TOKEN_INSN, C_none, I_VCMPNGESD },
        { "vcmpngtsd", TOKEN_INSN, C_none, I_VCMPNGTSD },
        { "vcmpfalsesd", TOKEN_INSN, C_none, I_VCMPFALSESD },
        { "vcmpneq_oqsd", TOKEN_INSN, C_none, I_VCMPNEQ_OQSD },
        { "vcmpgesd", TOKEN_INSN, C_none, I_VCMPGESD },
        { "vcmpgtsd", TOKEN_INSN, C_none, I_VCMPGTSD },
        { "vcmptruesd", TOKEN_INSN, C_none, I_VCMPTRUESD },
        { "vcmpeq_ossd", TOKEN_INSN, C_none, I_VCMPEQ_OSSD },
        { "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 },
        { "vcmpeqss", TOKEN_INSN, C_none, I_VCMPEQSS },
        { "vcmpltss", TOKEN_INSN, C_none, I_VCMPLTSS },
        { "vcmpless", TOKEN_INSN, C_none, I_VCMPLESS },
        { "vcmpunordss", TOKEN_INSN, C_none, I_VCMPUNORDSS },
        { "vcmpneqss", TOKEN_INSN, C_none, I_VCMPNEQSS },
        { "vcmpnltss", TOKEN_INSN, C_none, I_VCMPNLTSS },
        { "vcmpnless", TOKEN_INSN, C_none, I_VCMPNLESS },
        { "vcmpordss", TOKEN_INSN, C_none, I_VCMPORDSS },
        { "vcmpeq_uqss", TOKEN_INSN, C_none, I_VCMPEQ_UQSS },
        { "vcmpngess", TOKEN_INSN, C_none, I_VCMPNGESS },
        { "vcmpngtss", TOKEN_INSN, C_none, I_VCMPNGTSS },
        { "vcmpfalsess", TOKEN_INSN, C_none, I_VCMPFALSESS },
        { "vcmpneq_oqss", TOKEN_INSN, C_none, I_VCMPNEQ_OQSS },
        { "vcmpgess", TOKEN_INSN, C_none, I_VCMPGESS },
        { "vcmpgtss", TOKEN_INSN, C_none, I_VCMPGTSS },
        { "vcmptruess", TOKEN_INSN, C_none, I_VCMPTRUESS },
        { "vcmpeq_osss", TOKEN_INSN, C_none, I_VCMPEQ_OSSS },
        { "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 },
        { "vmovq", TOKEN_INSN, C_none, I_VMOVQ },
        { "vmovd", TOKEN_INSN, C_none, I_VMOVD },
        { "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 },
        { "vpermiltd2pd", TOKEN_INSN, C_none, I_VPERMILTD2PD },
        { "vpermilmo2pd", TOKEN_INSN, C_none, I_VPERMILMO2PD },
        { "vpermilmz2pd", TOKEN_INSN, C_none, I_VPERMILMZ2PD },
        { "vpermil2pd", TOKEN_INSN, C_none, I_VPERMIL2PD },
        { "vpermilps", TOKEN_INSN, C_none, I_VPERMILPS },
        { "vpermiltd2ps", TOKEN_INSN, C_none, I_VPERMILTD2PS },
        { "vpermilmo2ps", TOKEN_INSN, C_none, I_VPERMILMO2PS },
        { "vpermilmz2ps", TOKEN_INSN, C_none, I_VPERMILMZ2PS },
        { "vpermil2ps", TOKEN_INSN, C_none, I_VPERMIL2PS },
        { "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 },
        { "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 },
        { "vcvtph2ps", TOKEN_INSN, C_none, I_VCVTPH2PS },
        { "vcvtps2ph", TOKEN_INSN, C_none, I_VCVTPS2PH },
        { "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 },
        { "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 },
        { "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 },
        { "__utf32__", TOKEN_STRFUNC, 0, STRFUNC_UTF32 },
        { "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 >= 1677)
        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;
}
