/*
 * 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,
        0,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        -173,
        UNUSED,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        0,
        0,
        0,
        0,
        1123,
        1347,
        UNUSED,
        -318,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        418,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        0,
        0,
        -1871,
        837,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        516,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        435,
        -462,
        0,
        UNUSED,
        17,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        -18,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        -645,
        -479,
        898,
        0,
        0,
        0,
        UNUSED,
        4,
        UNUSED,
        UNUSED,
        UNUSED,
        89,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        628,
        UNUSED,
        -1133,
        1139,
        556,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        483,
        -554,
        UNUSED,
        UNUSED,
        UNUSED,
        614,
        UNUSED,
        0,
        0,
        19,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1753,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1034,
        UNUSED,
        UNUSED,
        468,
        0,
        0,
        0,
        -765,
        1661,
        1172,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        578,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        1222,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -924,
        0,
        0,
        613,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        1164,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        518,
        2294,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        825,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        897,
        0,
        69,
        UNUSED,
        0,
        96,
        UNUSED,
        -807,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        82,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        870,
        UNUSED,
        151,
        UNUSED,
        UNUSED,
        319,
        0,
        UNUSED,
        0,
        0,
        0,
        343,
        UNUSED,
        UNUSED,
        0,
        1886,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        1176,
        UNUSED,
        -554,
        UNUSED,
        UNUSED,
        UNUSED,
        912,
        UNUSED,
        UNUSED,
        -1635,
        UNUSED,
        UNUSED,
        5,
        0,
        1100,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1424,
        728,
        0,
        0,
        1570,
        243,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        1250,
        UNUSED,
        1304,
        UNUSED,
        UNUSED,
        UNUSED,
        724,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        564,
        0,
        875,
        UNUSED,
        UNUSED,
        -491,
        UNUSED,
        0,
        737,
        -191,
        0,
        1483,
        1617,
        0,
        UNUSED,
        -218,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        920,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        2028,
        0,
        0,
        792,
        UNUSED,
        0,
        UNUSED,
        1576,
        UNUSED,
        -1354,
        0,
        UNUSED,
        UNUSED,
        0,
        939,
        1144,
        0,
        0,
        UNUSED,
        1529,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1497,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        1036,
        -133,
        UNUSED,
        0,
        1479,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        -824,
        512,
        1153,
        UNUSED,
        UNUSED,
        -1486,
        UNUSED,
        0,
        552,
        0,
        -372,
        UNUSED,
        UNUSED,
        -1406,
        987,
        591,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1346,
        513,
        0,
        -229,
        1534,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        604,
        UNUSED,
        -578,
        -705,
        0,
        UNUSED,
        0,
        0,
        0,
        496,
        578,
        2327,
        0,
        205,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        2516,
        533,
        1699,
        0,
        0,
        UNUSED,
        UNUSED,
        1187,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        571,
        0,
        0,
        0,
        435,
        0,
        0,
        1906,
        -863,
        416,
        -202,
        192,
        697,
        UNUSED,
        UNUSED,
        697,
        -200,
        UNUSED,
        UNUSED,
        1627,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        498,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        8,
        490,
        UNUSED,
        UNUSED,
        UNUSED,
        530,
        UNUSED,
        UNUSED,
        UNUSED,
        1269,
        1747,
        -329,
        0,
        0,
        1482,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1135,
        291,
        UNUSED,
        UNUSED,
        56,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        2199,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        2643,
        0,
        UNUSED,
        0,
        555,
        UNUSED,
        UNUSED,
        0,
        -201,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        102,
        -320,
        UNUSED,
        0,
        UNUSED,
        -1669,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        656,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        818,
        0,
        UNUSED,
        -243,
        852,
        -311,
        1473,
        UNUSED,
        UNUSED,
        -615,
        UNUSED,
        UNUSED,
        -131,
        395,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        1258,
        0,
        UNUSED,
        UNUSED,
        2610,
        0,
        UNUSED,
        UNUSED,
        2112,
        1154,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        338,
        0,
        -320,
        0,
        62,
        UNUSED,
        1192,
        1467,
        UNUSED,
        -392,
        UNUSED,
        1674,
        UNUSED,
        637,
        UNUSED,
        890,
        UNUSED,
        UNUSED,
        2168,
        883,
        -791,
        364,
        1017,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        1150,
        UNUSED,
        0,
        UNUSED,
        140,
        UNUSED,
        UNUSED,
        UNUSED,
        -437,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1493,
        1761,
        UNUSED,
        1022,
        411,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        -30,
        751,
        -1200,
        0,
        1415,
        958,
        UNUSED,
        UNUSED,
        1450,
        1273,
        0,
        0,
        752,
        0,
        1571,
        1634,
        -821,
        827,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        790,
        1110,
        1606,
        UNUSED,
        53,
        552,
        0,
        UNUSED,
        -1136,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1056,
        275,
        UNUSED,
        UNUSED,
        1213,
        1651,
        1411,
        1028,
        900,
        949,
        0,
        946,
        UNUSED,
        0,
        -937,
        483,
        UNUSED,
        UNUSED,
        1234,
        1620,
        -1683,
        90,
        202,
        1577,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1048,
        1064,
        0,
        UNUSED,
        -1321,
        831,
        277,
        594,
        0,
        0,
        205,
        UNUSED,
        UNUSED,
        0,
        1255,
        UNUSED,
        UNUSED,
        307,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        124,
        UNUSED,
        UNUSED,
        UNUSED,
        -807,
        0,
        UNUSED,
        -1004,
        -716,
        0,
        UNUSED,
        182,
        1072,
        UNUSED,
        2259,
        0,
        -642,
        UNUSED,
        0,
        334,
        UNUSED,
        UNUSED,
        180,
        UNUSED,
        UNUSED,
        UNUSED,
        965,
        0,
        UNUSED,
        2632,
        355,
        -1042,
        UNUSED,
        UNUSED,
        -188,
        690,
        UNUSED,
        0,
        -721,
        UNUSED,
        -729,
        197,
        1430,
        0,
        0,
        556,
        UNUSED,
        1181,
        0,
        568,
        UNUSED,
        73,
        1146,
        0,
        UNUSED,
        UNUSED,
        1095,
        14,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        615,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        -977,
        0,
        0,
        481,
        UNUSED,
        987,
        UNUSED,
        UNUSED,
        0,
        0,
        -217,
        -314,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        325,
        -771,
        794,
        2526,
        UNUSED,
        -764,
        1243,
        0,
        1256,
        UNUSED,
        0,
        536,
        -1784,
        -292,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        279,
        -372,
        UNUSED,
        UNUSED,
        UNUSED,
        1002,
        -3,
        UNUSED,
        UNUSED,
        138,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1578,
        -410,
        UNUSED,
        0,
        UNUSED,
        772,
        UNUSED,
        -713,
        0,
        1194,
        -913,
        1384,
        1619,
        UNUSED,
        124,
        296,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        260,
        UNUSED,
        77,
        UNUSED,
        0,
        1040,
        -1328,
        1446,
        872,
        UNUSED,
        880,
        1554,
        0,
        0,
        UNUSED,
        539,
        UNUSED,
        1611,
        UNUSED,
        UNUSED,
        211,
        UNUSED,
        UNUSED,
        483,
        0,
        140,
        408,
        -475,
        UNUSED,
        1572,
        UNUSED,
        -69,
        1633,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1434,
        UNUSED,
        208,
        UNUSED,
        1357,
        UNUSED,
        813,
        382,
        0,
        1083,
        0,
        607,
        80,
        1521,
        125,
        UNUSED,
        837,
        597,
        UNUSED,
        UNUSED,
        UNUSED,
        821,
        UNUSED,
        516,
        -991,
        0,
        673,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2003,
        UNUSED,
        -259,
        UNUSED,
        UNUSED,
        -1814,
        UNUSED,
        UNUSED,
        0,
        1101,
        434,
        792,
        2022,
        -1251,
        240,
        UNUSED,
        UNUSED,
        UNUSED,
        -61,
        385,
        -415,
        693,
        UNUSED,
        UNUSED,
        -1311,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        562,
        UNUSED,
        1192,
        0,
        -1047,
        -69,
        UNUSED,
        UNUSED,
        694,
        1085,
        0,
        -268,
        1363,
        9,
        UNUSED,
        547,
        1215,
        -437,
        335,
        0,
        131,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -624,
        UNUSED,
        409,
        -445,
        524,
        UNUSED,
        UNUSED,
        -952,
        UNUSED,
        UNUSED,
        0,
        0,
        295,
        0,
        221,
        383,
        UNUSED,
        757,
        741,
        0,
        0,
        -214,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        255,
        UNUSED,
        1047,
        -144,
        1423,
        736,
        212,
        -583,
        0,
        1527,
        -70,
        1091,
        181,
        UNUSED,
        1447,
        UNUSED,
        UNUSED,
        UNUSED,
        137,
        0,
        94,
        -124,
        UNUSED,
        460,
        -1338,
        UNUSED,
        -1306,
        UNUSED,
        661,
        121,
        37,
        1157,
        UNUSED,
        UNUSED,
        UNUSED,
        560,
        0,
        9,
        758,
        UNUSED,
        UNUSED,
        241,
        UNUSED,
        1099,
        0,
        201,
        1616,
        UNUSED,
        UNUSED,
        UNUSED,
        1621,
        UNUSED,
        268,
        UNUSED,
        -161,
        587,
        0,
        132,
        UNUSED,
        1379,
        -1042,
        566,
        2051,
        -471,
        1197,
        658,
        1891,
        1651,
        UNUSED,
        1075,
        1958,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -348,
        -1281,
        UNUSED,
        0,
        1320,
        -393,
        0,
        988,
        UNUSED,
        1329,
        0,
        867,
        279,
        UNUSED,
        157,
        616,
        -1339,
        UNUSED,
        UNUSED,
        158,
        -19,
        UNUSED,
        -593,
        1637,
        0,
        164,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -232,
        UNUSED,
        UNUSED,
        UNUSED,
        -186,
        743,
        UNUSED,
        1164,
        479,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        126,
        UNUSED,
        UNUSED,
        422,
        UNUSED,
        -1076,
        UNUSED,
        UNUSED,
        UNUSED,
        1417,
        UNUSED,
        UNUSED,
        UNUSED,
        2724,
        1411,
        UNUSED,
        -1022,
        0,
        UNUSED,
        1326,
        484,
        -820,
        1200,
        1035,
        UNUSED,
        -936,
        -153,
        1957,
        1229,
        -219,
        UNUSED,
        UNUSED,
        215,
        417,
        UNUSED,
        473,
        1115,
        850,
        1053,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        936,
        UNUSED,
        UNUSED,
        UNUSED,
        1462,
        292,
        414,
        UNUSED,
        UNUSED,
        UNUSED,
        705,
        810,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2666,
        UNUSED,
        56,
        534,
        2599,
        UNUSED,
        UNUSED,
        UNUSED,
        981,
        UNUSED,
        UNUSED,
        321,
        0,
        UNUSED,
        2402,
        UNUSED,
        UNUSED,
        876,
        UNUSED,
        1330,
        UNUSED,
        486,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -629,
        370,
        UNUSED,
        982,
        1402,
        0,
        UNUSED,
        -248,
        UNUSED,
        1381,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -94,
        UNUSED,
        UNUSED,
        0,
        0,
        1452,
        918,
        UNUSED,
        0,
        UNUSED,
        1622,
        840,
        495,
        UNUSED,
        UNUSED,
        UNUSED,
        858,
        UNUSED,
        UNUSED,
        273,
        -17,
        -548,
        2647,
        0,
        UNUSED,
        -793,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        426,
        415,
        UNUSED,
        1568,
        59,
        1404,
        1763,
        UNUSED,
        1448,
        252,
        662,
        UNUSED,
        UNUSED,
        UNUSED,
        82,
        1959,
        1232,
        UNUSED,
        -861,
        UNUSED,
        0,
        293,
        UNUSED,
        -61,
        UNUSED,
        -1519,
        -555,
        0,
        1179,
        556,
        UNUSED,
        1002,
        UNUSED,
        -501,
        1416,
        -1063,
        UNUSED,
        0,
        1038,
        UNUSED,
        UNUSED,
        0,
        134,
        -243,
        1010,
        501,
        -700,
        787,
        0,
        UNUSED,
        UNUSED,
        0,
        -301,
        UNUSED,
        749,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -1065,
        0,
        UNUSED,
        UNUSED,
        -888,
        -1051,
        UNUSED,
        UNUSED,
        -284,
        UNUSED,
        227,
        1490,
        UNUSED,
        UNUSED,
        1145,
        1260,
        388,
        0,
        0,
        676,
        -799,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -942,
        UNUSED,
        356,
        UNUSED,
        UNUSED,
        74,
        UNUSED,
        UNUSED,
        UNUSED,
        -635,
        UNUSED,
        263,
        -689,
        2089,
        0,
        UNUSED,
        UNUSED,
        235,
        1310,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        408,
        UNUSED,
        UNUSED,
        UNUSED,
        -1647,
        -278,
        -1069,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1200,
        UNUSED,
        586,
        14,
        UNUSED,
        UNUSED,
        38,
        -664,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        913,
        320,
        551,
        UNUSED,
        163,
        777,
        UNUSED,
        935,
        416,
        -835,
        UNUSED,
        UNUSED,
        1485,
        1568,
        2001,
        UNUSED,
        UNUSED,
        UNUSED,
        762,
        UNUSED,
        400,
        458,
        UNUSED,
        UNUSED,
        1541,
        39,
        -121,
        UNUSED,
        0,
        -681,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -1287,
        781,
        UNUSED,
        UNUSED,
        -623,
        UNUSED,
        UNUSED,
        670,
        684,
        688,
        UNUSED,
        0,
        -1146,
        678,
        1422,
        UNUSED,
        2245,
        UNUSED,
        -1556,
        UNUSED,
        UNUSED,
        253,
        86,
        1696,
        -249,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1270,
        UNUSED,
        614,
        -810,
        UNUSED,
        0,
        2021,
        723,
        1295,
        1227,
        0,
        1654,
        UNUSED,
        UNUSED,
        UNUSED,
        279,
        -39,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1516,
        0,
        1287,
        486,
        -265,
        0,
        1103,
        -8,
        UNUSED,
        UNUSED,
        683,
        22,
        27,
        UNUSED,
        336,
        19,
        UNUSED,
        0,
        UNUSED,
        422,
        UNUSED,
        UNUSED,
        UNUSED,
        1406,
        1371,
        -1062,
        UNUSED,
        UNUSED,
        UNUSED,
        -1123,
        UNUSED,
        UNUSED,
        108,
        31,
        301,
        UNUSED,
        UNUSED,
        84,
        1251,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1351,
        -173,
        UNUSED,
        1529,
        UNUSED,
        -642,
        1069,
        UNUSED,
        1248,
        UNUSED,
        UNUSED,
        UNUSED,
        385,
        1488,
        -359,
        UNUSED,
        112,
        UNUSED,
        -84,
        86,
        UNUSED,
        UNUSED,
        237,
        UNUSED,
        370,
        565,
        1497,
        249,
        403,
        1264,
        UNUSED,
        UNUSED,
        1112,
        1514,
        UNUSED,
        1324,
        1593,
        UNUSED,
        UNUSED,
        UNUSED,
        1303,
        960,
        1655,
        -19,
        1288,
        799,
        1208,
        19,
        -1329,
        UNUSED,
        UNUSED,
        978,
        UNUSED,
        UNUSED,
        UNUSED,
        641,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -827,
        -745,
        1399,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        247,
        476,
        UNUSED,
        62,
        1152,
        UNUSED,
        UNUSED,
        974,
        UNUSED,
        -302,
        UNUSED,
        -154,
        -481,
        308,
        47,
        593,
        1614,
        -815,
        998,
        -177,
        1623,
        -9,
        1268,
        UNUSED,
        877,
        44,
        2341,
        918,
        -1393,
        0,
        20,
        2050,
        UNUSED,
        UNUSED,
        1537,
        UNUSED,
        -940,
        UNUSED,
        UNUSED,
        UNUSED,
        101,
        1141,
        638,
        1806,
        UNUSED,
        UNUSED,
        1832,
        485,
        1445,
        520,
        1490,
        UNUSED,
        345,
        UNUSED,
        UNUSED,
        413,
        272,
        UNUSED,
        -706,
        1851,
        -1158,
        -608,
        UNUSED,
        UNUSED,
        UNUSED,
        473,
        266,
        -464,
        0,
        450,
        -766,
        721,
        UNUSED,
        1756,
        UNUSED,
        UNUSED,
        1013,
        152,
        523,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        131,
        148,
        1660,
        0,
        UNUSED,
        UNUSED,
        1221,
        -830,
        UNUSED,
        -471,
        1362,
        9,
        176,
        UNUSED,
        1506,
        1711,
        -1268,
        1132,
        294,
        320,
        28,
        865,
        UNUSED,
        947,
        UNUSED,
        45,
        1239,
        1235,
        UNUSED,
        UNUSED,
        647,
        126,
        -944,
        165,
        613,
        UNUSED,
        UNUSED,
        UNUSED,
        1690,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1041,
        -322,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        677,
        UNUSED,
        839,
        UNUSED,
        UNUSED,
        221,
        926,
        UNUSED,
        -1028,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        912,
        1475,
        -53,
        743,
        UNUSED,
        -504,
        UNUSED,
        UNUSED,
        UNUSED,
        1518,
        UNUSED,
        UNUSED,
        UNUSED,
        386,
        UNUSED,
        286,
        UNUSED,
        UNUSED,
        UNUSED,
        -1063,
        2148,
        UNUSED,
        715,
        21,
        360,
        415,
        UNUSED,
        707,
        1058,
        239,
        -544,
        253,
        UNUSED,
        769,
        UNUSED,
        UNUSED,
        UNUSED,
        -391,
        UNUSED,
        776,
        UNUSED,
        1301,
        392,
        UNUSED,
        218,
        UNUSED,
        -559,
        481,
        -343,
        349,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2361,
        UNUSED,
        UNUSED,
        1531,
        UNUSED,
        589,
        UNUSED,
        289,
        UNUSED,
        -340,
        UNUSED,
        UNUSED,
        UNUSED,
        198,
        1459,
        UNUSED,
        UNUSED,
        333,
        1421,
        986,
        UNUSED,
        UNUSED,
        780,
        733,
        469,
        -492,
        679,
        UNUSED,
        1183,
        1124,
        UNUSED,
        -833,
        552,
        UNUSED,
        721,
        -1163,
        UNUSED,
        1393,
        322,
        635,
        UNUSED,
        UNUSED,
        -444,
        UNUSED,
        UNUSED,
        173,
        306,
        UNUSED,
        1022,
        271,
        1092,
        917,
        1265,
        -30,
        UNUSED,
        UNUSED,
        1398,
        UNUSED,
        UNUSED,
        -737,
        UNUSED,
        UNUSED,
        68,
        1382,
        UNUSED,
        -425,
        UNUSED,
        355,
        -121,
        239,
        -955,
        UNUSED,
        2248,
        297,
        UNUSED,
        UNUSED,
        -2382,
        1510,
        259,
        1274,
        UNUSED,
        -1004,
        6,
        79,
        UNUSED,
        UNUSED,
        562,
        1499,
        841,
        UNUSED,
        5,
        -1529,
        529,
        UNUSED,
        UNUSED,
        1495,
        -390,
        216,
        UNUSED,
        1662,
        1463,
        704,
        1054,
        UNUSED,
        93,
        1405,
        UNUSED,
        UNUSED,
        UNUSED,
        -737,
        1368,
        9,
        -318,
        UNUSED,
        209,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1635,
        -1143,
        -262,
        451,
        450,
        UNUSED,
        UNUSED,
        1312,
        1446,
        579,
        666,
        UNUSED,
        187,
        -1529,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        79,
        UNUSED,
        1397,
        1556,
        376,
        869,
        UNUSED,
        UNUSED,
        2566,
        -487,
        UNUSED,
        1072,
        UNUSED,
        1155,
        734,
        169,
        1145,
        UNUSED,
        UNUSED,
        -400,
        335,
        1406,
        547,
        UNUSED,
        210,
        1170,
        1110,
        -210,
        UNUSED,
        1275,
        UNUSED,
        UNUSED,
        UNUSED,
        -37,
        -999,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -109,
        25,
        UNUSED,
        531,
        914,
        UNUSED,
        UNUSED,
    };
    static const int16_t hash2[2048] = {
        0,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        0,
        -1134,
        UNUSED,
        1575,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        1401,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        1484,
        0,
        UNUSED,
        289,
        0,
        0,
        0,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        1569,
        0,
        0,
        0,
        UNUSED,
        0,
        442,
        UNUSED,
        0,
        0,
        0,
        0,
        46,
        0,
        954,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        284,
        0,
        UNUSED,
        647,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        164,
        UNUSED,
        UNUSED,
        1280,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        33,
        1001,
        UNUSED,
        270,
        UNUSED,
        0,
        0,
        0,
        0,
        UNUSED,
        -1054,
        0,
        0,
        0,
        UNUSED,
        0,
        61,
        1507,
        0,
        0,
        0,
        UNUSED,
        -1228,
        UNUSED,
        1618,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        1299,
        UNUSED,
        UNUSED,
        UNUSED,
        928,
        UNUSED,
        UNUSED,
        0,
        0,
        763,
        -801,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -1037,
        UNUSED,
        UNUSED,
        -392,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        91,
        0,
        238,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        -151,
        UNUSED,
        688,
        UNUSED,
        970,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        -2088,
        -247,
        151,
        1098,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        655,
        UNUSED,
        0,
        0,
        0,
        46,
        UNUSED,
        1551,
        -447,
        0,
        UNUSED,
        844,
        UNUSED,
        UNUSED,
        UNUSED,
        1610,
        UNUSED,
        1211,
        0,
        0,
        1383,
        0,
        -1376,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        -1055,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        801,
        UNUSED,
        0,
        -619,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        2463,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        -272,
        UNUSED,
        1169,
        0,
        UNUSED,
        269,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -98,
        0,
        519,
        988,
        UNUSED,
        UNUSED,
        1309,
        0,
        0,
        UNUSED,
        -315,
        UNUSED,
        0,
        UNUSED,
        0,
        1174,
        2193,
        0,
        0,
        UNUSED,
        772,
        0,
        1238,
        0,
        UNUSED,
        430,
        644,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        116,
        749,
        70,
        381,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        587,
        0,
        0,
        -1488,
        0,
        -91,
        0,
        -1028,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        116,
        0,
        UNUSED,
        -1214,
        330,
        UNUSED,
        1716,
        UNUSED,
        1312,
        UNUSED,
        0,
        0,
        0,
        0,
        241,
        UNUSED,
        -1023,
        UNUSED,
        1448,
        1480,
        1240,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        -1421,
        UNUSED,
        651,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        2522,
        0,
        1632,
        UNUSED,
        UNUSED,
        -679,
        -1701,
        1573,
        53,
        UNUSED,
        716,
        1050,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        452,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        764,
        UNUSED,
        UNUSED,
        -1205,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1496,
        1552,
        0,
        UNUSED,
        -812,
        UNUSED,
        1524,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        977,
        UNUSED,
        1513,
        UNUSED,
        0,
        -524,
        1156,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -180,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -293,
        UNUSED,
        UNUSED,
        -931,
        UNUSED,
        UNUSED,
        0,
        0,
        1160,
        UNUSED,
        1204,
        0,
        0,
        UNUSED,
        0,
        1721,
        1358,
        UNUSED,
        56,
        UNUSED,
        UNUSED,
        440,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1076,
        UNUSED,
        UNUSED,
        1197,
        1587,
        -4,
        UNUSED,
        UNUSED,
        0,
        448,
        0,
        647,
        2060,
        UNUSED,
        UNUSED,
        248,
        0,
        879,
        UNUSED,
        1349,
        126,
        0,
        561,
        UNUSED,
        0,
        1184,
        UNUSED,
        360,
        765,
        401,
        UNUSED,
        -17,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        1168,
        UNUSED,
        UNUSED,
        -744,
        394,
        0,
        0,
        1739,
        1786,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        509,
        0,
        UNUSED,
        909,
        UNUSED,
        0,
        UNUSED,
        1051,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        919,
        1339,
        2460,
        0,
        536,
        UNUSED,
        UNUSED,
        0,
        -776,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        304,
        0,
        0,
        UNUSED,
        0,
        UNUSED,
        -314,
        UNUSED,
        -407,
        1500,
        UNUSED,
        0,
        UNUSED,
        476,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        0,
        1414,
        969,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1073,
        0,
        UNUSED,
        362,
        0,
        0,
        UNUSED,
        397,
        UNUSED,
        0,
        0,
        UNUSED,
        -842,
        0,
        0,
        UNUSED,
        -399,
        UNUSED,
        0,
        744,
        UNUSED,
        UNUSED,
        0,
        731,
        0,
        1252,
        524,
        1348,
        UNUSED,
        0,
        691,
        0,
        1365,
        -554,
        1409,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1496,
        -129,
        301,
        UNUSED,
        1320,
        UNUSED,
        0,
        -534,
        0,
        UNUSED,
        0,
        351,
        0,
        UNUSED,
        0,
        0,
        -1238,
        UNUSED,
        UNUSED,
        UNUSED,
        906,
        882,
        UNUSED,
        UNUSED,
        839,
        UNUSED,
        1333,
        -1041,
        UNUSED,
        UNUSED,
        183,
        UNUSED,
        -2203,
        1160,
        1954,
        1327,
        UNUSED,
        804,
        UNUSED,
        854,
        175,
        604,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        420,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        0,
        907,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        397,
        0,
        430,
        UNUSED,
        1316,
        2604,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        0,
        -96,
        UNUSED,
        0,
        0,
        800,
        UNUSED,
        UNUSED,
        0,
        955,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1089,
        UNUSED,
        UNUSED,
        625,
        437,
        -371,
        UNUSED,
        UNUSED,
        648,
        UNUSED,
        -959,
        891,
        2273,
        1143,
        UNUSED,
        1311,
        282,
        UNUSED,
        1140,
        UNUSED,
        UNUSED,
        32,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        429,
        1241,
        UNUSED,
        -417,
        UNUSED,
        1193,
        UNUSED,
        0,
        0,
        1403,
        UNUSED,
        977,
        2208,
        UNUSED,
        514,
        0,
        -1627,
        325,
        545,
        UNUSED,
        331,
        84,
        UNUSED,
        2003,
        1199,
        UNUSED,
        UNUSED,
        68,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        250,
        -417,
        UNUSED,
        657,
        68,
        0,
        1493,
        214,
        0,
        UNUSED,
        UNUSED,
        -454,
        0,
        591,
        0,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -178,
        UNUSED,
        UNUSED,
        UNUSED,
        394,
        716,
        UNUSED,
        UNUSED,
        1442,
        1598,
        UNUSED,
        UNUSED,
        292,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        -54,
        UNUSED,
        UNUSED,
        UNUSED,
        1128,
        UNUSED,
        1552,
        1608,
        UNUSED,
        -725,
        28,
        -68,
        UNUSED,
        1068,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -2011,
        0,
        1394,
        UNUSED,
        1608,
        2075,
        -559,
        UNUSED,
        -155,
        748,
        UNUSED,
        -1616,
        0,
        487,
        1352,
        UNUSED,
        UNUSED,
        518,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -176,
        -1026,
        643,
        395,
        0,
        UNUSED,
        UNUSED,
        1441,
        458,
        UNUSED,
        UNUSED,
        892,
        0,
        UNUSED,
        1169,
        984,
        UNUSED,
        -256,
        2601,
        145,
        0,
        UNUSED,
        0,
        879,
        UNUSED,
        -195,
        1151,
        UNUSED,
        UNUSED,
        -106,
        -1416,
        132,
        866,
        UNUSED,
        2072,
        UNUSED,
        634,
        UNUSED,
        UNUSED,
        UNUSED,
        1111,
        0,
        1678,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        20,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        -622,
        UNUSED,
        UNUSED,
        -450,
        0,
        UNUSED,
        1005,
        -722,
        836,
        2356,
        0,
        705,
        UNUSED,
        UNUSED,
        722,
        164,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1465,
        944,
        UNUSED,
        UNUSED,
        UNUSED,
        38,
        UNUSED,
        UNUSED,
        UNUSED,
        866,
        1772,
        -280,
        0,
        UNUSED,
        1076,
        59,
        UNUSED,
        984,
        1253,
        1234,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        1429,
        943,
        1115,
        2378,
        491,
        -1307,
        UNUSED,
        0,
        UNUSED,
        1234,
        979,
        894,
        1550,
        1911,
        0,
        -1030,
        0,
        UNUSED,
        459,
        UNUSED,
        UNUSED,
        414,
        UNUSED,
        -1119,
        UNUSED,
        1040,
        -756,
        172,
        UNUSED,
        UNUSED,
        472,
        742,
        UNUSED,
        UNUSED,
        126,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        178,
        UNUSED,
        UNUSED,
        481,
        703,
        UNUSED,
        UNUSED,
        UNUSED,
        424,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        866,
        141,
        1340,
        1534,
        0,
        UNUSED,
        1139,
        -1052,
        UNUSED,
        2501,
        0,
        1665,
        546,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        455,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        474,
        UNUSED,
        1269,
        UNUSED,
        UNUSED,
        44,
        UNUSED,
        -208,
        UNUSED,
        1674,
        1449,
        538,
        UNUSED,
        946,
        1064,
        UNUSED,
        251,
        -1545,
        205,
        -700,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        931,
        1261,
        0,
        1173,
        -673,
        -176,
        793,
        991,
        -1153,
        0,
        UNUSED,
        843,
        UNUSED,
        271,
        UNUSED,
        212,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -546,
        590,
        UNUSED,
        UNUSED,
        461,
        -45,
        UNUSED,
        1118,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        852,
        -987,
        887,
        UNUSED,
        UNUSED,
        UNUSED,
        142,
        1519,
        UNUSED,
        -453,
        464,
        559,
        UNUSED,
        -880,
        UNUSED,
        0,
        -251,
        756,
        1823,
        0,
        1107,
        558,
        UNUSED,
        0,
        UNUSED,
        1450,
        603,
        899,
        UNUSED,
        -741,
        1096,
        799,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        0,
        UNUSED,
        92,
        UNUSED,
        1062,
        697,
        -51,
        742,
        1198,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        763,
        -599,
        UNUSED,
        1216,
        UNUSED,
        UNUSED,
        -1050,
        UNUSED,
        UNUSED,
        936,
        UNUSED,
        UNUSED,
        -1396,
        916,
        0,
        0,
        UNUSED,
        1286,
        UNUSED,
        UNUSED,
        1313,
        UNUSED,
        350,
        0,
        UNUSED,
        2629,
        1114,
        UNUSED,
        0,
        UNUSED,
        220,
        1074,
        2143,
        UNUSED,
        UNUSED,
        UNUSED,
        1367,
        -727,
        -336,
        1041,
        774,
        462,
        UNUSED,
        0,
        443,
        UNUSED,
        -531,
        1263,
        838,
        1364,
        UNUSED,
        -437,
        389,
        UNUSED,
        UNUSED,
        UNUSED,
        98,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        81,
        533,
        UNUSED,
        -215,
        986,
        -107,
        541,
        822,
        980,
        UNUSED,
        UNUSED,
        -106,
        838,
        326,
        653,
        UNUSED,
        498,
        1332,
        1084,
        -399,
        69,
        UNUSED,
        -1467,
        1355,
        UNUSED,
        UNUSED,
        1325,
        UNUSED,
        1863,
        -536,
        UNUSED,
        1457,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1249,
        972,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        1066,
        UNUSED,
        -856,
        UNUSED,
        423,
        1061,
        UNUSED,
        735,
        23,
        UNUSED,
        UNUSED,
        2173,
        UNUSED,
        0,
        957,
        1049,
        1452,
        1935,
        -285,
        934,
        UNUSED,
        1670,
        UNUSED,
        UNUSED,
        UNUSED,
        624,
        352,
        265,
        15,
        0,
        -766,
        1169,
        UNUSED,
        0,
        UNUSED,
        85,
        517,
        UNUSED,
        UNUSED,
        0,
        78,
        UNUSED,
        UNUSED,
        1190,
        UNUSED,
        UNUSED,
        1135,
        UNUSED,
        UNUSED,
        324,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        463,
        608,
        1191,
        UNUSED,
        0,
        UNUSED,
        1667,
        UNUSED,
        309,
        UNUSED,
        UNUSED,
        619,
        UNUSED,
        1063,
        2715,
        UNUSED,
        UNUSED,
        1454,
        1293,
        567,
        774,
        936,
        UNUSED,
        UNUSED,
        1077,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        78,
        -1077,
        1663,
        726,
        UNUSED,
        1022,
        UNUSED,
        -679,
        985,
        -657,
        2060,
        268,
        569,
        1417,
        -728,
        337,
        UNUSED,
        -159,
        UNUSED,
        UNUSED,
        753,
        UNUSED,
        112,
        0,
        0,
        885,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -605,
        720,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        177,
        UNUSED,
        UNUSED,
        UNUSED,
        875,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        688,
        UNUSED,
        2274,
        2600,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -43,
        UNUSED,
        1137,
        1593,
        UNUSED,
        1729,
        UNUSED,
        727,
        1282,
        404,
        696,
        971,
        0,
        1012,
        0,
        793,
        1220,
        1800,
        UNUSED,
        UNUSED,
        0,
        1532,
        1502,
        UNUSED,
        2579,
        542,
        1322,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        290,
        1669,
        930,
        UNUSED,
        -916,
        UNUSED,
        902,
        -50,
        UNUSED,
        149,
        1236,
        0,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1204,
        UNUSED,
        UNUSED,
        UNUSED,
        549,
        UNUSED,
        UNUSED,
        UNUSED,
        862,
        -345,
        UNUSED,
        661,
        648,
        UNUSED,
        UNUSED,
        845,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        469,
        254,
        UNUSED,
        UNUSED,
        UNUSED,
        -1443,
        UNUSED,
        754,
        823,
        775,
        UNUSED,
        0,
        UNUSED,
        1543,
        UNUSED,
        UNUSED,
        1188,
        0,
        UNUSED,
        -168,
        UNUSED,
        -70,
        -23,
        1044,
        299,
        UNUSED,
        UNUSED,
        702,
        UNUSED,
        UNUSED,
        550,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        UNUSED,
        398,
        201,
        UNUSED,
        UNUSED,
        -375,
        UNUSED,
        UNUSED,
        167,
        1456,
        -90,
        UNUSED,
        800,
        908,
        -1242,
        UNUSED,
        2259,
        683,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        -808,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        1032,
        -1282,
        581,
        UNUSED,
        UNUSED,
        -452,
        UNUSED,
        501,
        0,
        45,
        UNUSED,
        609,
        368,
        UNUSED,
        1717,
        612,
        1212,
        UNUSED,
        UNUSED,
        UNUSED,
        0,
        -966,
        UNUSED,
        122,
        UNUSED,
        1285,
        UNUSED,
        UNUSED,
        831,
        UNUSED,
        0,
        770,
        UNUSED,
        -896,
        1023,
        UNUSED,
        627,
        UNUSED,
        478,
        1228,
        23,
        778,
        UNUSED,
        -415,
        UNUSED,
        83,
        1043,
        0,
        2475,
        UNUSED,
        UNUSED,
        339,
        -328,
        UNUSED,
        1045,
        924,
        1190,
        UNUSED,
        757,
        UNUSED,
        UNUSED,
        UNUSED,
        318,
        UNUSED,
        UNUSED,
        UNUSED,
        1646,
        1121,
        1388,
        UNUSED,
        303,
        UNUSED,
        582,
        2286,
        UNUSED,
        UNUSED,
        UNUSED,
        -844,
        UNUSED,
        UNUSED,
        966,
        -1100,
        602,
        UNUSED,
        -1360,
        478,
        891,
        889,
        1056,
        573,
        1115,
        UNUSED,
        733,
        UNUSED,
        0,
        UNUSED,
        562,
        UNUSED,
        -557,
        391,
        0,
        UNUSED,
        UNUSED,
        696,
        363,
        UNUSED,
        34,
        UNUSED,
        1550,
        1722,
        1307,
        605,
        1148,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        36,
        1136,
        UNUSED,
        1645,
        1109,
        -532,
        UNUSED,
        0,
        UNUSED,
        UNUSED,
        1171,
        340,
        945,
        718,
        UNUSED,
        135,
        2066,
        -617,
        314,
        UNUSED,
        0,
        UNUSED,
        1474,
        1800,
        1300,
        -457,
        UNUSED,
        172,
        -343,
        915,
        188,
        UNUSED,
        UNUSED,
        UNUSED,
        1108,
        -1101,
        UNUSED,
        -1085,
        1221,
        1409,
        UNUSED,
        47,
        572,
        1304,
        1233,
        UNUSED,
        UNUSED,
        1701,
        UNUSED,
        UNUSED,
        2238,
        UNUSED,
        UNUSED,
        828,
        2359,
        374,
        713,
        UNUSED,
        UNUSED,
        587,
        UNUSED,
        -937,
        UNUSED,
        922,
        1166,
        601,
        687,
        1315,
        213,
        UNUSED,
        1205,
        UNUSED,
        374,
        UNUSED,
        -447,
        375,
        UNUSED,
        UNUSED,
        1298,
        972,
        UNUSED,
        UNUSED,
        1078,
        1515,
        179,
        UNUSED,
        UNUSED,
        UNUSED,
        945,
        1435,
        1523,
        143,
        UNUSED,
        UNUSED,
        -952,
        -1173,
        423,
        UNUSED,
        360,
        803,
        UNUSED,
        UNUSED,
        1407,
        1601,
        439,
        UNUSED,
        1528,
        1189,
        290,
        UNUSED,
        UNUSED,
        UNUSED,
        819,
        UNUSED,
        UNUSED,
        1370,
        2417,
        1427,
        UNUSED,
        681,
        UNUSED,
        -817,
        UNUSED,
        1334,
        191,
        281,
        1331,
        -317,
        UNUSED,
        UNUSED,
        42,
        1268,
        UNUSED,
        UNUSED,
        1253,
        UNUSED,
        UNUSED,
        UNUSED,
        1374,
        UNUSED,
        UNUSED,
        UNUSED,
        UNUSED,
        309,
        UNUSED,
        UNUSED,
        UNUSED,
        217,
        UNUSED,
        -846,
        UNUSED,
        -218,
        UNUSED,
        UNUSED,
        574,
        1540,
        1046,
        UNUSED,
        1413,
        467,
        UNUSED,
        1584,
        UNUSED,
        UNUSED,
        UNUSED,
        1106,
        UNUSED,
        1142,
        1728,
        UNUSED,
        UNUSED,
        810,
        911,
        UNUSED,
        UNUSED,
        UNUSED,
        1237,
        UNUSED,
        UNUSED,
        1378,
        UNUSED,
        -1358,
        UNUSED,
        868,
        UNUSED,
        UNUSED,
        -54,
        1463,
        820,
        -129,
        871,
        UNUSED,
        407,
        291,
        -408,
        UNUSED,
        794,
        278,
        2504,
        344,
        UNUSED,
        469,
        768,
        968,
        UNUSED,
        242,
        118,
        1277,
        1542,
        -102,
        753,
        362,
        -413,
        127,
        773,
        1069,
        1435,
        UNUSED,
        UNUSED,
        1104,
        874,
        424,
        748,
        2028,
        -5,
        -25,
        129,
        620,
        177,
        UNUSED,
        UNUSED,
        UNUSED,
        -154,
        UNUSED,
        1085,
        UNUSED,
        UNUSED,
        0,
        1473,
        884,
        827,
        UNUSED,
        1682,
        UNUSED,
        UNUSED,
        992,
        UNUSED,
        UNUSED,
        106,
        UNUSED,
        135,
        341,
        89,
        1090,
        UNUSED,
        1735,
        579,
        0,
        1695,
        UNUSED,
        1201,
        UNUSED,
        UNUSED,
        1458,
        236,
        1206,
        -10,
        UNUSED,
        UNUSED,
        UNUSED,
        1159,
        816,
        UNUSED,
        UNUSED,
        UNUSED,
        1054,
        UNUSED,
        595,
        UNUSED,
        63,
        UNUSED,
        UNUSED,
        UNUSED,
        1258,
        UNUSED,
        UNUSED,
        UNUSED,
        1604,
        1436,
        287,
        1055,
        UNUSED,
        1219,
        UNUSED,
        1301,
        87,
        -493,
        UNUSED,
        1023,
        1393,
        UNUSED,
        -1512,
        UNUSED,
        466,
        1429,
        UNUSED,
        1178,
        -20,
        1045,
        UNUSED,
        UNUSED,
        1296,
        UNUSED,
        UNUSED,
        140,
        UNUSED,
        UNUSED,
        1079,
        UNUSED,
        -166,
        UNUSED,
        -841,
        UNUSED,
        262,
        -951,
        1981,
        UNUSED,
        1611,
        UNUSED,
        -736,
        UNUSED,
        UNUSED,
        770,
        698,
        984,
        UNUSED,
        1569,
        273,
        UNUSED,
        1472,
        1942,
        2007,
        UNUSED,
        UNUSED,
        -1543,
        UNUSED,
        1362,
        2452,
        UNUSED,
        -33,
        UNUSED,
        UNUSED,
        UNUSED,
        -177,
        UNUSED,
        -406,
        UNUSED,
        805,
        UNUSED,
        357,
        -1417,
        1583,
        773,
        2206,
        535,
        UNUSED,
        479,
        1626,
        1117,
    };
    static const struct tokendata tokendata[1700] = {
        { "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 },
        { "jmp", TOKEN_INSN, C_none, I_JMP },
        { "jmpe", TOKEN_INSN, C_none, I_JMPE },
        { "jrcxz", TOKEN_INSN, C_none, I_JRCXZ },
        { "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 },
        { "wait", TOKEN_INSN, C_none, I_WAIT },
        { "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 },
        { "fmaddps", TOKEN_INSN, C_none, I_FMADDPS },
        { "fmaddpd", TOKEN_INSN, C_none, I_FMADDPD },
        { "fmaddss", TOKEN_INSN, C_none, I_FMADDSS },
        { "fmaddsd", TOKEN_INSN, C_none, I_FMADDSD },
        { "fmsubps", TOKEN_INSN, C_none, I_FMSUBPS },
        { "fmsubpd", TOKEN_INSN, C_none, I_FMSUBPD },
        { "fmsubss", TOKEN_INSN, C_none, I_FMSUBSS },
        { "fmsubsd", TOKEN_INSN, C_none, I_FMSUBSD },
        { "fnmaddps", TOKEN_INSN, C_none, I_FNMADDPS },
        { "fnmaddpd", TOKEN_INSN, C_none, I_FNMADDPD },
        { "fnmaddss", TOKEN_INSN, C_none, I_FNMADDSS },
        { "fnmaddsd", TOKEN_INSN, C_none, I_FNMADDSD },
        { "fnmsubps", TOKEN_INSN, C_none, I_FNMSUBPS },
        { "fnmsubpd", TOKEN_INSN, C_none, I_FNMSUBPD },
        { "fnmsubss", TOKEN_INSN, C_none, I_FNMSUBSS },
        { "fnmsubsd", TOKEN_INSN, C_none, I_FNMSUBSD },
        { "comeqps", TOKEN_INSN, C_none, I_COMEQPS },
        { "comltps", TOKEN_INSN, C_none, I_COMLTPS },
        { "comleps", TOKEN_INSN, C_none, I_COMLEPS },
        { "comunordps", TOKEN_INSN, C_none, I_COMUNORDPS },
        { "comuneqps", TOKEN_INSN, C_none, I_COMUNEQPS },
        { "comunltps", TOKEN_INSN, C_none, I_COMUNLTPS },
        { "comunleps", TOKEN_INSN, C_none, I_COMUNLEPS },
        { "comordps", TOKEN_INSN, C_none, I_COMORDPS },
        { "comueqps", TOKEN_INSN, C_none, I_COMUEQPS },
        { "comultps", TOKEN_INSN, C_none, I_COMULTPS },
        { "comuleps", TOKEN_INSN, C_none, I_COMULEPS },
        { "comfalseps", TOKEN_INSN, C_none, I_COMFALSEPS },
        { "comneqps", TOKEN_INSN, C_none, I_COMNEQPS },
        { "comnltps", TOKEN_INSN, C_none, I_COMNLTPS },
        { "comnleps", TOKEN_INSN, C_none, I_COMNLEPS },
        { "comtrueps", TOKEN_INSN, C_none, I_COMTRUEPS },
        { "comps", TOKEN_INSN, C_none, I_COMPS },
        { "comeqpd", TOKEN_INSN, C_none, I_COMEQPD },
        { "comltpd", TOKEN_INSN, C_none, I_COMLTPD },
        { "comlepd", TOKEN_INSN, C_none, I_COMLEPD },
        { "comunordpd", TOKEN_INSN, C_none, I_COMUNORDPD },
        { "comuneqpd", TOKEN_INSN, C_none, I_COMUNEQPD },
        { "comunltpd", TOKEN_INSN, C_none, I_COMUNLTPD },
        { "comunlepd", TOKEN_INSN, C_none, I_COMUNLEPD },
        { "comordpd", TOKEN_INSN, C_none, I_COMORDPD },
        { "comueqpd", TOKEN_INSN, C_none, I_COMUEQPD },
        { "comultpd", TOKEN_INSN, C_none, I_COMULTPD },
        { "comulepd", TOKEN_INSN, C_none, I_COMULEPD },
        { "comfalsepd", TOKEN_INSN, C_none, I_COMFALSEPD },
        { "comneqpd", TOKEN_INSN, C_none, I_COMNEQPD },
        { "comnltpd", TOKEN_INSN, C_none, I_COMNLTPD },
        { "comnlepd", TOKEN_INSN, C_none, I_COMNLEPD },
        { "comtruepd", TOKEN_INSN, C_none, I_COMTRUEPD },
        { "compd", TOKEN_INSN, C_none, I_COMPD },
        { "comeqss", TOKEN_INSN, C_none, I_COMEQSS },
        { "comltss", TOKEN_INSN, C_none, I_COMLTSS },
        { "comless", TOKEN_INSN, C_none, I_COMLESS },
        { "comunordss", TOKEN_INSN, C_none, I_COMUNORDSS },
        { "comuneqss", TOKEN_INSN, C_none, I_COMUNEQSS },
        { "comunltss", TOKEN_INSN, C_none, I_COMUNLTSS },
        { "comunless", TOKEN_INSN, C_none, I_COMUNLESS },
        { "comordss", TOKEN_INSN, C_none, I_COMORDSS },
        { "comueqss", TOKEN_INSN, C_none, I_COMUEQSS },
        { "comultss", TOKEN_INSN, C_none, I_COMULTSS },
        { "comuless", TOKEN_INSN, C_none, I_COMULESS },
        { "comfalsess", TOKEN_INSN, C_none, I_COMFALSESS },
        { "comneqss", TOKEN_INSN, C_none, I_COMNEQSS },
        { "comnltss", TOKEN_INSN, C_none, I_COMNLTSS },
        { "comnless", TOKEN_INSN, C_none, I_COMNLESS },
        { "comtruess", TOKEN_INSN, C_none, I_COMTRUESS },
        { "comss", TOKEN_INSN, C_none, I_COMSS },
        { "comeqsd", TOKEN_INSN, C_none, I_COMEQSD },
        { "comltsd", TOKEN_INSN, C_none, I_COMLTSD },
        { "comlesd", TOKEN_INSN, C_none, I_COMLESD },
        { "comunordsd", TOKEN_INSN, C_none, I_COMUNORDSD },
        { "comuneqsd", TOKEN_INSN, C_none, I_COMUNEQSD },
        { "comunltsd", TOKEN_INSN, C_none, I_COMUNLTSD },
        { "comunlesd", TOKEN_INSN, C_none, I_COMUNLESD },
        { "comordsd", TOKEN_INSN, C_none, I_COMORDSD },
        { "comueqsd", TOKEN_INSN, C_none, I_COMUEQSD },
        { "comultsd", TOKEN_INSN, C_none, I_COMULTSD },
        { "comulesd", TOKEN_INSN, C_none, I_COMULESD },
        { "comfalsesd", TOKEN_INSN, C_none, I_COMFALSESD },
        { "comneqsd", TOKEN_INSN, C_none, I_COMNEQSD },
        { "comnltsd", TOKEN_INSN, C_none, I_COMNLTSD },
        { "comnlesd", TOKEN_INSN, C_none, I_COMNLESD },
        { "comtruesd", TOKEN_INSN, C_none, I_COMTRUESD },
        { "comsd", TOKEN_INSN, C_none, I_COMSD },
        { "pcomltb", TOKEN_INSN, C_none, I_PCOMLTB },
        { "pcomleb", TOKEN_INSN, C_none, I_PCOMLEB },
        { "pcomgtb", TOKEN_INSN, C_none, I_PCOMGTB },
        { "pcomgeb", TOKEN_INSN, C_none, I_PCOMGEB },
        { "pcomeqb", TOKEN_INSN, C_none, I_PCOMEQB },
        { "pcomneqb", TOKEN_INSN, C_none, I_PCOMNEQB },
        { "pcomfalseb", TOKEN_INSN, C_none, I_PCOMFALSEB },
        { "pcomtrueb", TOKEN_INSN, C_none, I_PCOMTRUEB },
        { "pcomb", TOKEN_INSN, C_none, I_PCOMB },
        { "pcomltw", TOKEN_INSN, C_none, I_PCOMLTW },
        { "pcomlew", TOKEN_INSN, C_none, I_PCOMLEW },
        { "pcomgtw", TOKEN_INSN, C_none, I_PCOMGTW },
        { "pcomgew", TOKEN_INSN, C_none, I_PCOMGEW },
        { "pcomeqw", TOKEN_INSN, C_none, I_PCOMEQW },
        { "pcomneqw", TOKEN_INSN, C_none, I_PCOMNEQW },
        { "pcomfalsew", TOKEN_INSN, C_none, I_PCOMFALSEW },
        { "pcomtruew", TOKEN_INSN, C_none, I_PCOMTRUEW },
        { "pcomw", TOKEN_INSN, C_none, I_PCOMW },
        { "pcomltd", TOKEN_INSN, C_none, I_PCOMLTD },
        { "pcomled", TOKEN_INSN, C_none, I_PCOMLED },
        { "pcomgtd", TOKEN_INSN, C_none, I_PCOMGTD },
        { "pcomged", TOKEN_INSN, C_none, I_PCOMGED },
        { "pcomeqd", TOKEN_INSN, C_none, I_PCOMEQD },
        { "pcomneqd", TOKEN_INSN, C_none, I_PCOMNEQD },
        { "pcomfalsed", TOKEN_INSN, C_none, I_PCOMFALSED },
        { "pcomtrued", TOKEN_INSN, C_none, I_PCOMTRUED },
        { "pcomd", TOKEN_INSN, C_none, I_PCOMD },
        { "pcomltq", TOKEN_INSN, C_none, I_PCOMLTQ },
        { "pcomleq", TOKEN_INSN, C_none, I_PCOMLEQ },
        { "pcomgtq", TOKEN_INSN, C_none, I_PCOMGTQ },
        { "pcomgeq", TOKEN_INSN, C_none, I_PCOMGEQ },
        { "pcomeqq", TOKEN_INSN, C_none, I_PCOMEQQ },
        { "pcomneqq", TOKEN_INSN, C_none, I_PCOMNEQQ },
        { "pcomfalseq", TOKEN_INSN, C_none, I_PCOMFALSEQ },
        { "pcomtrueq", TOKEN_INSN, C_none, I_PCOMTRUEQ },
        { "pcomq", TOKEN_INSN, C_none, I_PCOMQ },
        { "pcomltub", TOKEN_INSN, C_none, I_PCOMLTUB },
        { "pcomleub", TOKEN_INSN, C_none, I_PCOMLEUB },
        { "pcomgtub", TOKEN_INSN, C_none, I_PCOMGTUB },
        { "pcomgeub", TOKEN_INSN, C_none, I_PCOMGEUB },
        { "pcomequb", TOKEN_INSN, C_none, I_PCOMEQUB },
        { "pcomnequb", TOKEN_INSN, C_none, I_PCOMNEQUB },
        { "pcomfalseub", TOKEN_INSN, C_none, I_PCOMFALSEUB },
        { "pcomtrueub", TOKEN_INSN, C_none, I_PCOMTRUEUB },
        { "pcomub", TOKEN_INSN, C_none, I_PCOMUB },
        { "pcomltuw", TOKEN_INSN, C_none, I_PCOMLTUW },
        { "pcomleuw", TOKEN_INSN, C_none, I_PCOMLEUW },
        { "pcomgtuw", TOKEN_INSN, C_none, I_PCOMGTUW },
        { "pcomgeuw", TOKEN_INSN, C_none, I_PCOMGEUW },
        { "pcomequw", TOKEN_INSN, C_none, I_PCOMEQUW },
        { "pcomnequw", TOKEN_INSN, C_none, I_PCOMNEQUW },
        { "pcomfalseuw", TOKEN_INSN, C_none, I_PCOMFALSEUW },
        { "pcomtrueuw", TOKEN_INSN, C_none, I_PCOMTRUEUW },
        { "pcomuw", TOKEN_INSN, C_none, I_PCOMUW },
        { "pcomltud", TOKEN_INSN, C_none, I_PCOMLTUD },
        { "pcomleud", TOKEN_INSN, C_none, I_PCOMLEUD },
        { "pcomgtud", TOKEN_INSN, C_none, I_PCOMGTUD },
        { "pcomgeud", TOKEN_INSN, C_none, I_PCOMGEUD },
        { "pcomequd", TOKEN_INSN, C_none, I_PCOMEQUD },
        { "pcomnequd", TOKEN_INSN, C_none, I_PCOMNEQUD },
        { "pcomfalseud", TOKEN_INSN, C_none, I_PCOMFALSEUD },
        { "pcomtrueud", TOKEN_INSN, C_none, I_PCOMTRUEUD },
        { "pcomud", TOKEN_INSN, C_none, I_PCOMUD },
        { "pcomltuq", TOKEN_INSN, C_none, I_PCOMLTUQ },
        { "pcomleuq", TOKEN_INSN, C_none, I_PCOMLEUQ },
        { "pcomgtuq", TOKEN_INSN, C_none, I_PCOMGTUQ },
        { "pcomgeuq", TOKEN_INSN, C_none, I_PCOMGEUQ },
        { "pcomequq", TOKEN_INSN, C_none, I_PCOMEQUQ },
        { "pcomnequq", TOKEN_INSN, C_none, I_PCOMNEQUQ },
        { "pcomfalseuq", TOKEN_INSN, C_none, I_PCOMFALSEUQ },
        { "pcomtrueuq", TOKEN_INSN, C_none, I_PCOMTRUEUQ },
        { "pcomuq", TOKEN_INSN, C_none, I_PCOMUQ },
        { "permps", TOKEN_INSN, C_none, I_PERMPS },
        { "permpd", TOKEN_INSN, C_none, I_PERMPD },
        { "pcmov", TOKEN_INSN, C_none, I_PCMOV },
        { "pperm", TOKEN_INSN, C_none, I_PPERM },
        { "pmacssww", TOKEN_INSN, C_none, I_PMACSSWW },
        { "pmacsww", TOKEN_INSN, C_none, I_PMACSWW },
        { "pmacsswd", TOKEN_INSN, C_none, I_PMACSSWD },
        { "pmacswd", TOKEN_INSN, C_none, I_PMACSWD },
        { "pmacssdd", TOKEN_INSN, C_none, I_PMACSSDD },
        { "pmacsdd", TOKEN_INSN, C_none, I_PMACSDD },
        { "pmacssdql", TOKEN_INSN, C_none, I_PMACSSDQL },
        { "pmacsdql", TOKEN_INSN, C_none, I_PMACSDQL },
        { "pmacssdqh", TOKEN_INSN, C_none, I_PMACSSDQH },
        { "pmacsdqh", TOKEN_INSN, C_none, I_PMACSDQH },
        { "pmadcsswd", TOKEN_INSN, C_none, I_PMADCSSWD },
        { "pmadcswd", TOKEN_INSN, C_none, I_PMADCSWD },
        { "protb", TOKEN_INSN, C_none, I_PROTB },
        { "protw", TOKEN_INSN, C_none, I_PROTW },
        { "protd", TOKEN_INSN, C_none, I_PROTD },
        { "protq", TOKEN_INSN, C_none, I_PROTQ },
        { "pshlb", TOKEN_INSN, C_none, I_PSHLB },
        { "pshlw", TOKEN_INSN, C_none, I_PSHLW },
        { "pshld", TOKEN_INSN, C_none, I_PSHLD },
        { "pshlq", TOKEN_INSN, C_none, I_PSHLQ },
        { "pshab", TOKEN_INSN, C_none, I_PSHAB },
        { "pshaw", TOKEN_INSN, C_none, I_PSHAW },
        { "pshad", TOKEN_INSN, C_none, I_PSHAD },
        { "pshaq", TOKEN_INSN, C_none, I_PSHAQ },
        { "frczps", TOKEN_INSN, C_none, I_FRCZPS },
        { "frczpd", TOKEN_INSN, C_none, I_FRCZPD },
        { "frczss", TOKEN_INSN, C_none, I_FRCZSS },
        { "frczsd", TOKEN_INSN, C_none, I_FRCZSD },
        { "cvtph2ps", TOKEN_INSN, C_none, I_CVTPH2PS },
        { "cvtps2ph", TOKEN_INSN, C_none, I_CVTPS2PH },
        { "phaddbw", TOKEN_INSN, C_none, I_PHADDBW },
        { "phaddbd", TOKEN_INSN, C_none, I_PHADDBD },
        { "phaddbq", TOKEN_INSN, C_none, I_PHADDBQ },
        { "phaddwd", TOKEN_INSN, C_none, I_PHADDWD },
        { "phaddwq", TOKEN_INSN, C_none, I_PHADDWQ },
        { "phadddq", TOKEN_INSN, C_none, I_PHADDDQ },
        { "phaddubw", TOKEN_INSN, C_none, I_PHADDUBW },
        { "phaddubd", TOKEN_INSN, C_none, I_PHADDUBD },
        { "phaddubq", TOKEN_INSN, C_none, I_PHADDUBQ },
        { "phadduwd", TOKEN_INSN, C_none, I_PHADDUWD },
        { "phadduwq", TOKEN_INSN, C_none, I_PHADDUWQ },
        { "phaddudq", TOKEN_INSN, C_none, I_PHADDUDQ },
        { "phsubbw", TOKEN_INSN, C_none, I_PHSUBBW },
        { "phsubwd", TOKEN_INSN, C_none, I_PHSUBWD },
        { "phsubdq", TOKEN_INSN, C_none, I_PHSUBDQ },
        { "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 },
        { "vcmpors_spd", TOKEN_INSN, C_none, I_VCMPORS_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 },
        { "vcmpors_sps", TOKEN_INSN, C_none, I_VCMPORS_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 },
        { "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 },
        { "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 },
        { "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 },
        { "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(0x5d3862fb2e8a3060), token);
    k1 = (uint32_t)crc;
    k2 = (uint32_t)(crc >> 32);

    ix = hash1[k1 & 0x7ff] + hash2[k2 & 0x7ff];
    if (ix >= 1700)
        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;
}
