Home | History | Annotate | Download | only in vb6
      1 Attribute VB_Name = "mx86"
      2 Option Explicit
      3 
      4 'Capstone Disassembly Engine bindings for VB6
      5 'Contributed by FireEye FLARE Team
      6 'Author:  David Zimmer <david.zimmer (a] fireeye.com>, <dzzie (a] yahoo.com>
      7 'License: Apache
      8 'Copyright: FireEye 2017
      9 
     10 
     11 Enum x86_reg
     12     X86_REG_INVALID = 0
     13     X86_REG_AH
     14     X86_REG_AL
     15     X86_REG_AX
     16     X86_REG_BH
     17     X86_REG_BL
     18     X86_REG_BP
     19     X86_REG_BPL
     20     X86_REG_BX
     21     X86_REG_CH
     22     X86_REG_CL
     23     X86_REG_CS
     24     X86_REG_CX
     25     X86_REG_DH
     26     X86_REG_DI
     27     X86_REG_DIL
     28     X86_REG_DL
     29     X86_REG_DS
     30     X86_REG_DX
     31     X86_REG_EAX
     32     X86_REG_EBP
     33     X86_REG_EBX
     34     X86_REG_ECX
     35     X86_REG_EDI
     36     X86_REG_EDX
     37     X86_REG_EFLAGS
     38     X86_REG_EIP
     39     X86_REG_EIZ
     40     X86_REG_ES
     41     X86_REG_ESI
     42     X86_REG_ESP
     43     X86_REG_FPSW
     44     X86_REG_FS
     45     X86_REG_GS
     46     X86_REG_IP
     47     X86_REG_RAX
     48     X86_REG_RBP
     49     X86_REG_RBX
     50     X86_REG_RCX
     51     X86_REG_RDI
     52     X86_REG_RDX
     53     X86_REG_RIP
     54     X86_REG_RIZ
     55     X86_REG_RSI
     56     X86_REG_RSP
     57     X86_REG_SI
     58     X86_REG_SIL
     59     X86_REG_SP
     60     X86_REG_SPL
     61     X86_REG_SS
     62     X86_REG_CR0
     63     X86_REG_CR1
     64     X86_REG_CR2
     65     X86_REG_CR3
     66     X86_REG_CR4
     67     X86_REG_CR5
     68     X86_REG_CR6
     69     X86_REG_CR7
     70     X86_REG_CR8
     71     X86_REG_CR9
     72     X86_REG_CR10
     73     X86_REG_CR11
     74     X86_REG_CR12
     75     X86_REG_CR13
     76     X86_REG_CR14
     77     X86_REG_CR15
     78     X86_REG_DR0
     79     X86_REG_DR1
     80     X86_REG_DR2
     81     X86_REG_DR3
     82     X86_REG_DR4
     83     X86_REG_DR5
     84     X86_REG_DR6
     85     X86_REG_DR7
     86     X86_REG_FP0
     87     X86_REG_FP1
     88     X86_REG_FP2
     89     X86_REG_FP3
     90     X86_REG_FP4
     91     X86_REG_FP5
     92     X86_REG_FP6
     93     X86_REG_FP7
     94     X86_REG_K0
     95     X86_REG_K1
     96     X86_REG_K2
     97     X86_REG_K3
     98     X86_REG_K4
     99     X86_REG_K5
    100     X86_REG_K6
    101     X86_REG_K7
    102     X86_REG_MM0
    103     X86_REG_MM1
    104     X86_REG_MM2
    105     X86_REG_MM3
    106     X86_REG_MM4
    107     X86_REG_MM5
    108     X86_REG_MM6
    109     X86_REG_MM7
    110     X86_REG_R8
    111     X86_REG_R9
    112     X86_REG_R10
    113     X86_REG_R11
    114     X86_REG_R12
    115     X86_REG_R13
    116     X86_REG_R14
    117     X86_REG_R15
    118     X86_REG_ST0
    119     X86_REG_ST1
    120     X86_REG_ST2
    121     X86_REG_ST3
    122     X86_REG_ST4
    123     X86_REG_ST5
    124     X86_REG_ST6
    125     X86_REG_ST7
    126     X86_REG_XMM0
    127     X86_REG_XMM1
    128     X86_REG_XMM2
    129     X86_REG_XMM3
    130     X86_REG_XMM4
    131     X86_REG_XMM5
    132     X86_REG_XMM6
    133     X86_REG_XMM7
    134     X86_REG_XMM8
    135     X86_REG_XMM9
    136     X86_REG_XMM10
    137     X86_REG_XMM11
    138     X86_REG_XMM12
    139     X86_REG_XMM13
    140     X86_REG_XMM14
    141     X86_REG_XMM15
    142     X86_REG_XMM16
    143     X86_REG_XMM17
    144     X86_REG_XMM18
    145     X86_REG_XMM19
    146     X86_REG_XMM20
    147     X86_REG_XMM21
    148     X86_REG_XMM22
    149     X86_REG_XMM23
    150     X86_REG_XMM24
    151     X86_REG_XMM25
    152     X86_REG_XMM26
    153     X86_REG_XMM27
    154     X86_REG_XMM28
    155     X86_REG_XMM29
    156     X86_REG_XMM30
    157     X86_REG_XMM31
    158     X86_REG_YMM0
    159     X86_REG_YMM1
    160     X86_REG_YMM2
    161     X86_REG_YMM3
    162     X86_REG_YMM4
    163     X86_REG_YMM5
    164     X86_REG_YMM6
    165     X86_REG_YMM7
    166     X86_REG_YMM8
    167     X86_REG_YMM9
    168     X86_REG_YMM10
    169     X86_REG_YMM11
    170     X86_REG_YMM12
    171     X86_REG_YMM13
    172     X86_REG_YMM14
    173     X86_REG_YMM15
    174     X86_REG_YMM16
    175     X86_REG_YMM17
    176     X86_REG_YMM18
    177     X86_REG_YMM19
    178     X86_REG_YMM20
    179     X86_REG_YMM21
    180     X86_REG_YMM22
    181     X86_REG_YMM23
    182     X86_REG_YMM24
    183     X86_REG_YMM25
    184     X86_REG_YMM26
    185     X86_REG_YMM27
    186     X86_REG_YMM28
    187     X86_REG_YMM29
    188     X86_REG_YMM30
    189     X86_REG_YMM31
    190     X86_REG_ZMM0
    191     X86_REG_ZMM1
    192     X86_REG_ZMM2
    193     X86_REG_ZMM3
    194     X86_REG_ZMM4
    195     X86_REG_ZMM5
    196     X86_REG_ZMM6
    197     X86_REG_ZMM7
    198     X86_REG_ZMM8
    199     X86_REG_ZMM9
    200     X86_REG_ZMM10
    201     X86_REG_ZMM11
    202     X86_REG_ZMM12
    203     X86_REG_ZMM13
    204     X86_REG_ZMM14
    205     X86_REG_ZMM15
    206     X86_REG_ZMM16
    207     X86_REG_ZMM17
    208     X86_REG_ZMM18
    209     X86_REG_ZMM19
    210     X86_REG_ZMM20
    211     X86_REG_ZMM21
    212     X86_REG_ZMM22
    213     X86_REG_ZMM23
    214     X86_REG_ZMM24
    215     X86_REG_ZMM25
    216     X86_REG_ZMM26
    217     X86_REG_ZMM27
    218     X86_REG_ZMM28
    219     X86_REG_ZMM29
    220     X86_REG_ZMM30
    221     X86_REG_ZMM31
    222     X86_REG_R8B
    223     X86_REG_R9B
    224     X86_REG_R10B
    225     X86_REG_R11B
    226     X86_REG_R12B
    227     X86_REG_R13B
    228     X86_REG_R14B
    229     X86_REG_R15B
    230     X86_REG_R8D
    231     X86_REG_R9D
    232     X86_REG_R10D
    233     X86_REG_R11D
    234     X86_REG_R12D
    235     X86_REG_R13D
    236     X86_REG_R14D
    237     X86_REG_R15D
    238     X86_REG_R8W
    239     X86_REG_R9W
    240     X86_REG_R10W
    241     X86_REG_R11W
    242     X86_REG_R12W
    243     X86_REG_R13W
    244     X86_REG_R14W
    245     X86_REG_R15W
    246     X86_REG_ENDING          '  <-- mark    the end of  the list    of  registers
    247 End Enum
    248 
    249 'Operand type for instruction's operands
    250 Enum x86_op_type
    251     X86_OP_INVALID = 0   'CS_OP_INVALID (Uninitialized).
    252     X86_OP_REG           'CS_OP_REG (Register operand).
    253     X86_OP_IMM           'CS_OP_IMM (Immediate operand).
    254     x86_op_mem           'CS_OP_MEM (Memory operand).
    255     X86_OP_FP            'CS_OP_FP  (Floating-Point operand).
    256 End Enum
    257 
    258 'AVX broadcast type
    259 Public Enum x86_avx_bcast
    260     X86_AVX_BCAST_INVALID = 0 ' Uninitialized.
    261     X86_AVX_BCAST_2         ' AVX512 broadcast type {1to2}
    262     X86_AVX_BCAST_4         ' AVX512 broadcast type {1to4}
    263     X86_AVX_BCAST_8         ' AVX512 broadcast type {1to8}
    264     X86_AVX_BCAST_16        ' AVX512 broadcast type {1to16}
    265 End Enum
    266 
    267 
    268 'SSE Code Condition type
    269 Public Enum x86_sse_cc
    270     X86_SSE_CC_INVALID = 0 ' Uninitialized.
    271     X86_SSE_CC_EQ
    272     X86_SSE_CC_LT
    273     X86_SSE_CC_LE
    274     X86_SSE_CC_UNORD
    275     X86_SSE_CC_NEQ
    276     X86_SSE_CC_NLT
    277     X86_SSE_CC_NLE
    278     X86_SSE_CC_ORD
    279     X86_SSE_CC_EQ_UQ
    280     X86_SSE_CC_NGE
    281     X86_SSE_CC_NGT
    282     X86_SSE_CC_FALSE
    283     X86_SSE_CC_NEQ_OQ
    284     X86_SSE_CC_GE
    285     X86_SSE_CC_GT
    286     X86_SSE_CC_TRUE
    287 End Enum
    288 
    289 'AVX Code Condition type
    290 Public Enum x86_avx_cc
    291     X86_AVX_CC_INVALID = 0 ' Uninitialized.
    292     X86_AVX_CC_EQ
    293     X86_AVX_CC_LT
    294     X86_AVX_CC_LE
    295     X86_AVX_CC_UNORD
    296     X86_AVX_CC_NEQ
    297     X86_AVX_CC_NLT
    298     X86_AVX_CC_NLE
    299     X86_AVX_CC_ORD
    300     X86_AVX_CC_EQ_UQ
    301     X86_AVX_CC_NGE
    302     X86_AVX_CC_NGT
    303     X86_AVX_CC_FALSE
    304     X86_AVX_CC_NEQ_OQ
    305     X86_AVX_CC_GE
    306     X86_AVX_CC_GT
    307     X86_AVX_CC_TRUE
    308     X86_AVX_CC_EQ_OS
    309     X86_AVX_CC_LT_OQ
    310     X86_AVX_CC_LE_OQ
    311     X86_AVX_CC_UNORD_S
    312     X86_AVX_CC_NEQ_US
    313     X86_AVX_CC_NLT_UQ
    314     X86_AVX_CC_NLE_UQ
    315     X86_AVX_CC_ORD_S
    316     X86_AVX_CC_EQ_US
    317     X86_AVX_CC_NGE_UQ
    318     X86_AVX_CC_NGT_UQ
    319     X86_AVX_CC_FALSE_OS
    320     X86_AVX_CC_NEQ_OS
    321     X86_AVX_CC_GE_OQ
    322     X86_AVX_CC_GT_OQ
    323     X86_AVX_CC_TRUE_US
    324 End Enum
    325 
    326 'AVX static rounding mode type
    327 Public Enum x86_avx_rm
    328     X86_AVX_RM_INVALID = 0 ' Uninitialized.
    329     X86_AVX_RM_RN        ' Round to nearest
    330     X86_AVX_RM_RD        ' Round down
    331     X86_AVX_RM_RU        ' Round up
    332     X86_AVX_RM_RZ        ' Round toward zero
    333 End Enum
    334 
    335 'Instruction prefixes - to be used in cs_x86.prefix[]
    336 Public Enum x86_prefix
    337     X86_PREFIX_LOCK = &HF0     ' lock (cs_x86.prefix[0]
    338     X86_PREFIX_REP = &HF3      ' rep (cs_x86.prefix[0]
    339     X86_PREFIX_REPNE = &HF2    ' repne (cs_x86.prefix[0]
    340     X86_PREFIX_CS = &H2E       ' segment override CS (cs_x86.prefix[1]
    341     X86_PREFIX_SS = &H36       ' segment override SS (cs_x86.prefix[1]
    342     X86_PREFIX_DS = &H3E       ' segment override DS (cs_x86.prefix[1]
    343     X86_PREFIX_ES = &H26       ' segment override ES (cs_x86.prefix[1]
    344     X86_PREFIX_FS = &H64       ' segment override FS (cs_x86.prefix[1]
    345     X86_PREFIX_GS = &H65       ' segment override GS (cs_x86.prefix[1]
    346     X86_PREFIX_OPSIZE = &H66   ' operand-size override (cs_x86.prefix[2]
    347     X86_PREFIX_ADDRSIZE = &H67 ' address-size override (cs_x86.prefix[3]
    348 End Enum
    349 
    350 'Instruction's operand referring to memory
    351 'This is associated with X86_OP_MEM operand type above
    352 Public Type x86_op_mem
    353     segment As Long  ' segment register (or X86_REG_INVALID if irrelevant) UNSIGNED
    354     base As Long     ' base register (or X86_REG_INVALID if irrelevant) UNSIGNED
    355     index As Long    ' index register (or X86_REG_INVALID if irrelevant) UNSIGNED
    356     scale As Long    ' scale for index register
    357     disp As Currency ' displacement value
    358 End Type
    359 
    360 'Instruction operand 48 bytes
    361 'typedef struct cs_x86_op {
    362 '        x86_op_type type;   // operand type
    363 '        union {
    364 '            x86_reg reg;    // register value for REG operand
    365 '            int64_t imm;        // immediate value for IMM operand
    366 '            double fp;      // floating point value for FP operand
    367 '            x86_op_mem mem;     // base/index/scale/disp value for MEM operand
    368 '        };
    369 '
    370 '        // size of this operand (in bytes).
    371 '        uint8_t size;
    372 '
    373 '        // AVX broadcast type, or 0 if irrelevant
    374 '        x86_avx_bcast avx_bcast;
    375 '
    376 '        // AVX zero opmask {z}
    377 '        bool avx_zero_opmask;
    378 '} cs_x86_op;
    379 
    380 'Instruction structure
    381 Public Type cs_x86
    382     ' Instruction prefix, which can be up to 4 bytes.
    383     ' A prefix byte gets value 0 when irrelevant.
    384     ' prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above)
    385     ' prefix[1] indicates segment override (irrelevant for x86_64):
    386     ' See X86_PREFIX_CS/SS/DS/ES/FS/GS above.
    387     ' prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE)
    388     ' prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE)
    389     prefix(0 To 3) As Byte        ' UNSIGNED
    390     
    391     ' Instruction opcode, wich can be from 1 to 4 bytes in size.
    392     ' This contains VEX opcode as well.
    393     ' An trailing opcode byte gets value 0 when irrelevant.
    394     opcode(0 To 3) As Byte        ' UNSIGNED
    395 
    396     rex As Byte                   ' REX prefix: only a non-zero value is relavant for x86_64  UNSIGNED
    397     addr_size As Byte             ' Address size, which can be overrided with above prefix[5].  UNSIGNED
    398     modrm As Byte                 ' ModR/M byte  UNSIGNED
    399     sib As Byte                   ' SIB value, or 0 when irrelevant.  UNSIGNED
    400     disp As Long                  ' Displacement value, or 0 when irrelevant.
    401     sib_index As x86_reg          ' SIB index register, or X86_REG_INVALID when irrelevant.
    402     sib_scale As Byte             ' SIB scale. only applicable if sib_index is relavant.
    403     sib_base As x86_reg           ' SIB base register, or X86_REG_INVALID when irrelevant.
    404     sse_cc As x86_sse_cc          ' SSE Code Condition
    405     avx_cc As x86_avx_cc          ' AVX Code Condition
    406     avx_sae As Byte               ' AVX Suppress all Exception
    407     avx_rm As x86_avx_rm          ' AVX static rounding mode
    408     op_count As Byte              ' Number of operands of this instruction, or 0 when instruction has no operand.UNSIGNED
    409     
    410     'operands(0 To 7) As cs_x86_op ' operands for this instruction.
    411     'opBuf(0 To 383) As Byte
    412     
    413 End Type
    414 
    415 'X86 instructions
    416 Public Enum x86_insn
    417     X86_INS_INVALID = 0
    418     X86_INS_AAA
    419     X86_INS_AAD
    420     X86_INS_AAM
    421     X86_INS_AAS
    422     X86_INS_FABS
    423     X86_INS_ADC
    424     X86_INS_ADCX
    425     X86_INS_ADD
    426     X86_INS_ADDPD
    427     X86_INS_ADDPS
    428     X86_INS_ADDSD
    429     X86_INS_ADDSS
    430     X86_INS_ADDSUBPD
    431     X86_INS_ADDSUBPS
    432     X86_INS_FADD
    433     X86_INS_FIADD
    434     X86_INS_FADDP
    435     X86_INS_ADOX
    436     X86_INS_AESDECLAST
    437     X86_INS_AESDEC
    438     X86_INS_AESENCLAST
    439     X86_INS_AESENC
    440     X86_INS_AESIMC
    441     X86_INS_AESKEYGENASSIST
    442     X86_INS_AND
    443     X86_INS_ANDN
    444     X86_INS_ANDNPD
    445     X86_INS_ANDNPS
    446     X86_INS_ANDPD
    447     X86_INS_ANDPS
    448     X86_INS_ARPL
    449     X86_INS_BEXTR
    450     X86_INS_BLCFILL
    451     X86_INS_BLCI
    452     X86_INS_BLCIC
    453     X86_INS_BLCMSK
    454     X86_INS_BLCS
    455     X86_INS_BLENDPD
    456     X86_INS_BLENDPS
    457     X86_INS_BLENDVPD
    458     X86_INS_BLENDVPS
    459     X86_INS_BLSFILL
    460     X86_INS_BLSI
    461     X86_INS_BLSIC
    462     X86_INS_BLSMSK
    463     X86_INS_BLSR
    464     X86_INS_BOUND
    465     X86_INS_BSF
    466     X86_INS_BSR
    467     X86_INS_BSWAP
    468     X86_INS_BT
    469     X86_INS_BTC
    470     X86_INS_BTR
    471     X86_INS_BTS
    472     X86_INS_BZHI
    473     X86_INS_CALL
    474     X86_INS_CBW
    475     X86_INS_CDQ
    476     X86_INS_CDQE
    477     X86_INS_FCHS
    478     X86_INS_CLAC
    479     X86_INS_CLC
    480     X86_INS_CLD
    481     X86_INS_CLFLUSH
    482     X86_INS_CLGI
    483     X86_INS_CLI
    484     X86_INS_CLTS
    485     X86_INS_CMC
    486     X86_INS_CMOVA
    487     X86_INS_CMOVAE
    488     X86_INS_CMOVB
    489     X86_INS_CMOVBE
    490     X86_INS_FCMOVBE
    491     X86_INS_FCMOVB
    492     X86_INS_CMOVE
    493     X86_INS_FCMOVE
    494     X86_INS_CMOVG
    495     X86_INS_CMOVGE
    496     X86_INS_CMOVL
    497     X86_INS_CMOVLE
    498     X86_INS_FCMOVNBE
    499     X86_INS_FCMOVNB
    500     X86_INS_CMOVNE
    501     X86_INS_FCMOVNE
    502     X86_INS_CMOVNO
    503     X86_INS_CMOVNP
    504     X86_INS_FCMOVNU
    505     X86_INS_CMOVNS
    506     X86_INS_CMOVO
    507     X86_INS_CMOVP
    508     X86_INS_FCMOVU
    509     X86_INS_CMOVS
    510     X86_INS_CMP
    511     X86_INS_CMPPD
    512     X86_INS_CMPPS
    513     X86_INS_CMPSB
    514     X86_INS_CMPSD
    515     X86_INS_CMPSQ
    516     X86_INS_CMPSS
    517     X86_INS_CMPSW
    518     X86_INS_CMPXCHG16B
    519     X86_INS_CMPXCHG
    520     X86_INS_CMPXCHG8B
    521     X86_INS_COMISD
    522     X86_INS_COMISS
    523     X86_INS_FCOMP
    524     X86_INS_FCOMPI
    525     X86_INS_FCOMI
    526     X86_INS_FCOM
    527     X86_INS_FCOS
    528     X86_INS_CPUID
    529     X86_INS_CQO
    530     X86_INS_CRC32
    531     X86_INS_CVTDQ2PD
    532     X86_INS_CVTDQ2PS
    533     X86_INS_CVTPD2DQ
    534     X86_INS_CVTPD2PS
    535     X86_INS_CVTPS2DQ
    536     X86_INS_CVTPS2PD
    537     X86_INS_CVTSD2SI
    538     X86_INS_CVTSD2SS
    539     X86_INS_CVTSI2SD
    540     X86_INS_CVTSI2SS
    541     X86_INS_CVTSS2SD
    542     X86_INS_CVTSS2SI
    543     X86_INS_CVTTPD2DQ
    544     X86_INS_CVTTPS2DQ
    545     X86_INS_CVTTSD2SI
    546     X86_INS_CVTTSS2SI
    547     X86_INS_CWD
    548     X86_INS_CWDE
    549     X86_INS_DAA
    550     X86_INS_DAS
    551     X86_INS_DATA16
    552     X86_INS_DEC
    553     X86_INS_DIV
    554     X86_INS_DIVPD
    555     X86_INS_DIVPS
    556     X86_INS_FDIVR
    557     X86_INS_FIDIVR
    558     X86_INS_FDIVRP
    559     X86_INS_DIVSD
    560     X86_INS_DIVSS
    561     X86_INS_FDIV
    562     X86_INS_FIDIV
    563     X86_INS_FDIVP
    564     X86_INS_DPPD
    565     X86_INS_DPPS
    566     X86_INS_RET
    567     X86_INS_ENCLS
    568     X86_INS_ENCLU
    569     X86_INS_ENTER
    570     X86_INS_EXTRACTPS
    571     X86_INS_EXTRQ
    572     X86_INS_F2XM1
    573     X86_INS_LCALL
    574     X86_INS_LJMP
    575     X86_INS_FBLD
    576     X86_INS_FBSTP
    577     X86_INS_FCOMPP
    578     X86_INS_FDECSTP
    579     X86_INS_FEMMS
    580     X86_INS_FFREE
    581     X86_INS_FICOM
    582     X86_INS_FICOMP
    583     X86_INS_FINCSTP
    584     X86_INS_FLDCW
    585     X86_INS_FLDENV
    586     X86_INS_FLDL2E
    587     X86_INS_FLDL2T
    588     X86_INS_FLDLG2
    589     X86_INS_FLDLN2
    590     X86_INS_FLDPI
    591     X86_INS_FNCLEX
    592     X86_INS_FNINIT
    593     X86_INS_FNOP
    594     X86_INS_FNSTCW
    595     X86_INS_FNSTSW
    596     X86_INS_FPATAN
    597     X86_INS_FPREM
    598     X86_INS_FPREM1
    599     X86_INS_FPTAN
    600     X86_INS_FRNDINT
    601     X86_INS_FRSTOR
    602     X86_INS_FNSAVE
    603     X86_INS_FSCALE
    604     X86_INS_FSETPM
    605     X86_INS_FSINCOS
    606     X86_INS_FNSTENV
    607     X86_INS_FXAM
    608     X86_INS_FXRSTOR
    609     X86_INS_FXRSTOR64
    610     X86_INS_FXSAVE
    611     X86_INS_FXSAVE64
    612     X86_INS_FXTRACT
    613     X86_INS_FYL2X
    614     X86_INS_FYL2XP1
    615     X86_INS_MOVAPD
    616     X86_INS_MOVAPS
    617     X86_INS_ORPD
    618     X86_INS_ORPS
    619     X86_INS_VMOVAPD
    620     X86_INS_VMOVAPS
    621     X86_INS_XORPD
    622     X86_INS_XORPS
    623     X86_INS_GETSEC
    624     X86_INS_HADDPD
    625     X86_INS_HADDPS
    626     X86_INS_HLT
    627     X86_INS_HSUBPD
    628     X86_INS_HSUBPS
    629     X86_INS_IDIV
    630     X86_INS_FILD
    631     X86_INS_IMUL
    632     X86_INS_IN
    633     X86_INS_INC
    634     X86_INS_INSB
    635     X86_INS_INSERTPS
    636     X86_INS_INSERTQ
    637     X86_INS_INSD
    638     X86_INS_INSW
    639     X86_INS_INT
    640     X86_INS_INT1
    641     X86_INS_INT3
    642     X86_INS_INTO
    643     X86_INS_INVD
    644     X86_INS_INVEPT
    645     X86_INS_INVLPG
    646     X86_INS_INVLPGA
    647     X86_INS_INVPCID
    648     X86_INS_INVVPID
    649     X86_INS_IRET
    650     X86_INS_IRETD
    651     X86_INS_IRETQ
    652     X86_INS_FISTTP
    653     X86_INS_FIST
    654     X86_INS_FISTP
    655     X86_INS_UCOMISD
    656     X86_INS_UCOMISS
    657     X86_INS_VCMP
    658     X86_INS_VCOMISD
    659     X86_INS_VCOMISS
    660     X86_INS_VCVTSD2SS
    661     X86_INS_VCVTSI2SD
    662     X86_INS_VCVTSI2SS
    663     X86_INS_VCVTSS2SD
    664     X86_INS_VCVTTSD2SI
    665     X86_INS_VCVTTSD2USI
    666     X86_INS_VCVTTSS2SI
    667     X86_INS_VCVTTSS2USI
    668     X86_INS_VCVTUSI2SD
    669     X86_INS_VCVTUSI2SS
    670     X86_INS_VUCOMISD
    671     X86_INS_VUCOMISS
    672     X86_INS_JAE
    673     X86_INS_JA
    674     X86_INS_JBE
    675     X86_INS_JB
    676     X86_INS_JCXZ
    677     X86_INS_JECXZ
    678     X86_INS_JE
    679     X86_INS_JGE
    680     X86_INS_JG
    681     X86_INS_JLE
    682     X86_INS_JL
    683     X86_INS_JMP
    684     X86_INS_JNE
    685     X86_INS_JNO
    686     X86_INS_JNP
    687     X86_INS_JNS
    688     X86_INS_JO
    689     X86_INS_JP
    690     X86_INS_JRCXZ
    691     X86_INS_JS
    692     X86_INS_KANDB
    693     X86_INS_KANDD
    694     X86_INS_KANDNB
    695     X86_INS_KANDND
    696     X86_INS_KANDNQ
    697     X86_INS_KANDNW
    698     X86_INS_KANDQ
    699     X86_INS_KANDW
    700     X86_INS_KMOVB
    701     X86_INS_KMOVD
    702     X86_INS_KMOVQ
    703     X86_INS_KMOVW
    704     X86_INS_KNOTB
    705     X86_INS_KNOTD
    706     X86_INS_KNOTQ
    707     X86_INS_KNOTW
    708     X86_INS_KORB
    709     X86_INS_KORD
    710     X86_INS_KORQ
    711     X86_INS_KORTESTW
    712     X86_INS_KORW
    713     X86_INS_KSHIFTLW
    714     X86_INS_KSHIFTRW
    715     X86_INS_KUNPCKBW
    716     X86_INS_KXNORB
    717     X86_INS_KXNORD
    718     X86_INS_KXNORQ
    719     X86_INS_KXNORW
    720     X86_INS_KXORB
    721     X86_INS_KXORD
    722     X86_INS_KXORQ
    723     X86_INS_KXORW
    724     X86_INS_LAHF
    725     X86_INS_LAR
    726     X86_INS_LDDQU
    727     X86_INS_LDMXCSR
    728     X86_INS_LDS
    729     X86_INS_FLDZ
    730     X86_INS_FLD1
    731     X86_INS_FLD
    732     X86_INS_LEA
    733     X86_INS_LEAVE
    734     X86_INS_LES
    735     X86_INS_LFENCE
    736     X86_INS_LFS
    737     X86_INS_LGDT
    738     X86_INS_LGS
    739     X86_INS_LIDT
    740     X86_INS_LLDT
    741     X86_INS_LMSW
    742     X86_INS_OR
    743     X86_INS_SUB
    744     X86_INS_XOR
    745     X86_INS_LODSB
    746     X86_INS_LODSD
    747     X86_INS_LODSQ
    748     X86_INS_LODSW
    749     X86_INS_LOOP
    750     X86_INS_LOOPE
    751     X86_INS_LOOPNE
    752     X86_INS_RETF
    753     X86_INS_RETFQ
    754     X86_INS_LSL
    755     X86_INS_LSS
    756     X86_INS_LTR
    757     X86_INS_XADD
    758     X86_INS_LZCNT
    759     X86_INS_MASKMOVDQU
    760     X86_INS_MAXPD
    761     X86_INS_MAXPS
    762     X86_INS_MAXSD
    763     X86_INS_MAXSS
    764     X86_INS_MFENCE
    765     X86_INS_MINPD
    766     X86_INS_MINPS
    767     X86_INS_MINSD
    768     X86_INS_MINSS
    769     X86_INS_CVTPD2PI
    770     X86_INS_CVTPI2PD
    771     X86_INS_CVTPI2PS
    772     X86_INS_CVTPS2PI
    773     X86_INS_CVTTPD2PI
    774     X86_INS_CVTTPS2PI
    775     X86_INS_EMMS
    776     X86_INS_MASKMOVQ
    777     X86_INS_MOVD
    778     X86_INS_MOVDQ2Q
    779     X86_INS_MOVNTQ
    780     X86_INS_MOVQ2DQ
    781     X86_INS_MOVQ
    782     X86_INS_PABSB
    783     X86_INS_PABSD
    784     X86_INS_PABSW
    785     X86_INS_PACKSSDW
    786     X86_INS_PACKSSWB
    787     X86_INS_PACKUSWB
    788     X86_INS_PADDB
    789     X86_INS_PADDD
    790     X86_INS_PADDQ
    791     X86_INS_PADDSB
    792     X86_INS_PADDSW
    793     X86_INS_PADDUSB
    794     X86_INS_PADDUSW
    795     X86_INS_PADDW
    796     X86_INS_PALIGNR
    797     X86_INS_PANDN
    798     X86_INS_PAND
    799     X86_INS_PAVGB
    800     X86_INS_PAVGW
    801     X86_INS_PCMPEQB
    802     X86_INS_PCMPEQD
    803     X86_INS_PCMPEQW
    804     X86_INS_PCMPGTB
    805     X86_INS_PCMPGTD
    806     X86_INS_PCMPGTW
    807     X86_INS_PEXTRW
    808     X86_INS_PHADDSW
    809     X86_INS_PHADDW
    810     X86_INS_PHADDD
    811     X86_INS_PHSUBD
    812     X86_INS_PHSUBSW
    813     X86_INS_PHSUBW
    814     X86_INS_PINSRW
    815     X86_INS_PMADDUBSW
    816     X86_INS_PMADDWD
    817     X86_INS_PMAXSW
    818     X86_INS_PMAXUB
    819     X86_INS_PMINSW
    820     X86_INS_PMINUB
    821     X86_INS_PMOVMSKB
    822     X86_INS_PMULHRSW
    823     X86_INS_PMULHUW
    824     X86_INS_PMULHW
    825     X86_INS_PMULLW
    826     X86_INS_PMULUDQ
    827     X86_INS_POR
    828     X86_INS_PSADBW
    829     X86_INS_PSHUFB
    830     X86_INS_PSHUFW
    831     X86_INS_PSIGNB
    832     X86_INS_PSIGND
    833     X86_INS_PSIGNW
    834     X86_INS_PSLLD
    835     X86_INS_PSLLQ
    836     X86_INS_PSLLW
    837     X86_INS_PSRAD
    838     X86_INS_PSRAW
    839     X86_INS_PSRLD
    840     X86_INS_PSRLQ
    841     X86_INS_PSRLW
    842     X86_INS_PSUBB
    843     X86_INS_PSUBD
    844     X86_INS_PSUBQ
    845     X86_INS_PSUBSB
    846     X86_INS_PSUBSW
    847     X86_INS_PSUBUSB
    848     X86_INS_PSUBUSW
    849     X86_INS_PSUBW
    850     X86_INS_PUNPCKHBW
    851     X86_INS_PUNPCKHDQ
    852     X86_INS_PUNPCKHWD
    853     X86_INS_PUNPCKLBW
    854     X86_INS_PUNPCKLDQ
    855     X86_INS_PUNPCKLWD
    856     X86_INS_PXOR
    857     X86_INS_MONITOR
    858     X86_INS_MONTMUL
    859     X86_INS_MOV
    860     X86_INS_MOVABS
    861     X86_INS_MOVBE
    862     X86_INS_MOVDDUP
    863     X86_INS_MOVDQA
    864     X86_INS_MOVDQU
    865     X86_INS_MOVHLPS
    866     X86_INS_MOVHPD
    867     X86_INS_MOVHPS
    868     X86_INS_MOVLHPS
    869     X86_INS_MOVLPD
    870     X86_INS_MOVLPS
    871     X86_INS_MOVMSKPD
    872     X86_INS_MOVMSKPS
    873     X86_INS_MOVNTDQA
    874     X86_INS_MOVNTDQ
    875     X86_INS_MOVNTI
    876     X86_INS_MOVNTPD
    877     X86_INS_MOVNTPS
    878     X86_INS_MOVNTSD
    879     X86_INS_MOVNTSS
    880     X86_INS_MOVSB
    881     X86_INS_MOVSD
    882     X86_INS_MOVSHDUP
    883     X86_INS_MOVSLDUP
    884     X86_INS_MOVSQ
    885     X86_INS_MOVSS
    886     X86_INS_MOVSW
    887     X86_INS_MOVSX
    888     X86_INS_MOVSXD
    889     X86_INS_MOVUPD
    890     X86_INS_MOVUPS
    891     X86_INS_MOVZX
    892     X86_INS_MPSADBW
    893     X86_INS_MUL
    894     X86_INS_MULPD
    895     X86_INS_MULPS
    896     X86_INS_MULSD
    897     X86_INS_MULSS
    898     X86_INS_MULX
    899     X86_INS_FMUL
    900     X86_INS_FIMUL
    901     X86_INS_FMULP
    902     X86_INS_MWAIT
    903     X86_INS_NEG
    904     X86_INS_NOP
    905     X86_INS_NOT
    906     X86_INS_OUT
    907     X86_INS_OUTSB
    908     X86_INS_OUTSD
    909     X86_INS_OUTSW
    910     X86_INS_PACKUSDW
    911     X86_INS_PAUSE
    912     X86_INS_PAVGUSB
    913     X86_INS_PBLENDVB
    914     X86_INS_PBLENDW
    915     X86_INS_PCLMULQDQ
    916     X86_INS_PCMPEQQ
    917     X86_INS_PCMPESTRI
    918     X86_INS_PCMPESTRM
    919     X86_INS_PCMPGTQ
    920     X86_INS_PCMPISTRI
    921     X86_INS_PCMPISTRM
    922     X86_INS_PDEP
    923     X86_INS_PEXT
    924     X86_INS_PEXTRB
    925     X86_INS_PEXTRD
    926     X86_INS_PEXTRQ
    927     X86_INS_PF2ID
    928     X86_INS_PF2IW
    929     X86_INS_PFACC
    930     X86_INS_PFADD
    931     X86_INS_PFCMPEQ
    932     X86_INS_PFCMPGE
    933     X86_INS_PFCMPGT
    934     X86_INS_PFMAX
    935     X86_INS_PFMIN
    936     X86_INS_PFMUL
    937     X86_INS_PFNACC
    938     X86_INS_PFPNACC
    939     X86_INS_PFRCPIT1
    940     X86_INS_PFRCPIT2
    941     X86_INS_PFRCP
    942     X86_INS_PFRSQIT1
    943     X86_INS_PFRSQRT
    944     X86_INS_PFSUBR
    945     X86_INS_PFSUB
    946     X86_INS_PHMINPOSUW
    947     X86_INS_PI2FD
    948     X86_INS_PI2FW
    949     X86_INS_PINSRB
    950     X86_INS_PINSRD
    951     X86_INS_PINSRQ
    952     X86_INS_PMAXSB
    953     X86_INS_PMAXSD
    954     X86_INS_PMAXUD
    955     X86_INS_PMAXUW
    956     X86_INS_PMINSB
    957     X86_INS_PMINSD
    958     X86_INS_PMINUD
    959     X86_INS_PMINUW
    960     X86_INS_PMOVSXBD
    961     X86_INS_PMOVSXBQ
    962     X86_INS_PMOVSXBW
    963     X86_INS_PMOVSXDQ
    964     X86_INS_PMOVSXWD
    965     X86_INS_PMOVSXWQ
    966     X86_INS_PMOVZXBD
    967     X86_INS_PMOVZXBQ
    968     X86_INS_PMOVZXBW
    969     X86_INS_PMOVZXDQ
    970     X86_INS_PMOVZXWD
    971     X86_INS_PMOVZXWQ
    972     X86_INS_PMULDQ
    973     X86_INS_PMULHRW
    974     X86_INS_PMULLD
    975     X86_INS_POP
    976     X86_INS_POPAW
    977     X86_INS_POPAL
    978     X86_INS_POPCNT
    979     X86_INS_POPF
    980     X86_INS_POPFD
    981     X86_INS_POPFQ
    982     X86_INS_PREFETCH
    983     X86_INS_PREFETCHNTA
    984     X86_INS_PREFETCHT0
    985     X86_INS_PREFETCHT1
    986     X86_INS_PREFETCHT2
    987     X86_INS_PREFETCHW
    988     X86_INS_PSHUFD
    989     X86_INS_PSHUFHW
    990     X86_INS_PSHUFLW
    991     X86_INS_PSLLDQ
    992     X86_INS_PSRLDQ
    993     X86_INS_PSWAPD
    994     X86_INS_PTEST
    995     X86_INS_PUNPCKHQDQ
    996     X86_INS_PUNPCKLQDQ
    997     X86_INS_PUSH
    998     X86_INS_PUSHAW
    999     X86_INS_PUSHAL
   1000     X86_INS_PUSHF
   1001     X86_INS_PUSHFD
   1002     X86_INS_PUSHFQ
   1003     X86_INS_RCL
   1004     X86_INS_RCPPS
   1005     X86_INS_RCPSS
   1006     X86_INS_RCR
   1007     X86_INS_RDFSBASE
   1008     X86_INS_RDGSBASE
   1009     X86_INS_RDMSR
   1010     X86_INS_RDPMC
   1011     X86_INS_RDRAND
   1012     X86_INS_RDSEED
   1013     X86_INS_RDTSC
   1014     X86_INS_RDTSCP
   1015     X86_INS_ROL
   1016     X86_INS_ROR
   1017     X86_INS_RORX
   1018     X86_INS_ROUNDPD
   1019     X86_INS_ROUNDPS
   1020     X86_INS_ROUNDSD
   1021     X86_INS_ROUNDSS
   1022     X86_INS_RSM
   1023     X86_INS_RSQRTPS
   1024     X86_INS_RSQRTSS
   1025     X86_INS_SAHF
   1026     X86_INS_SAL
   1027     X86_INS_SALC
   1028     X86_INS_SAR
   1029     X86_INS_SARX
   1030     X86_INS_SBB
   1031     X86_INS_SCASB
   1032     X86_INS_SCASD
   1033     X86_INS_SCASQ
   1034     X86_INS_SCASW
   1035     X86_INS_SETAE
   1036     X86_INS_SETA
   1037     X86_INS_SETBE
   1038     X86_INS_SETB
   1039     X86_INS_SETE
   1040     X86_INS_SETGE
   1041     X86_INS_SETG
   1042     X86_INS_SETLE
   1043     X86_INS_SETL
   1044     X86_INS_SETNE
   1045     X86_INS_SETNO
   1046     X86_INS_SETNP
   1047     X86_INS_SETNS
   1048     X86_INS_SETO
   1049     X86_INS_SETP
   1050     X86_INS_SETS
   1051     X86_INS_SFENCE
   1052     X86_INS_SGDT
   1053     X86_INS_SHA1MSG1
   1054     X86_INS_SHA1MSG2
   1055     X86_INS_SHA1NEXTE
   1056     X86_INS_SHA1RNDS4
   1057     X86_INS_SHA256MSG1
   1058     X86_INS_SHA256MSG2
   1059     X86_INS_SHA256RNDS2
   1060     X86_INS_SHL
   1061     X86_INS_SHLD
   1062     X86_INS_SHLX
   1063     X86_INS_SHR
   1064     X86_INS_SHRD
   1065     X86_INS_SHRX
   1066     X86_INS_SHUFPD
   1067     X86_INS_SHUFPS
   1068     X86_INS_SIDT
   1069     X86_INS_FSIN
   1070     X86_INS_SKINIT
   1071     X86_INS_SLDT
   1072     X86_INS_SMSW
   1073     X86_INS_SQRTPD
   1074     X86_INS_SQRTPS
   1075     X86_INS_SQRTSD
   1076     X86_INS_SQRTSS
   1077     X86_INS_FSQRT
   1078     X86_INS_STAC
   1079     X86_INS_STC
   1080     X86_INS_STD
   1081     X86_INS_STGI
   1082     X86_INS_STI
   1083     X86_INS_STMXCSR
   1084     X86_INS_STOSB
   1085     X86_INS_STOSD
   1086     X86_INS_STOSQ
   1087     X86_INS_STOSW
   1088     X86_INS_STR
   1089     X86_INS_FST
   1090     X86_INS_FSTP
   1091     X86_INS_FSTPNCE
   1092     X86_INS_SUBPD
   1093     X86_INS_SUBPS
   1094     X86_INS_FSUBR
   1095     X86_INS_FISUBR
   1096     X86_INS_FSUBRP
   1097     X86_INS_SUBSD
   1098     X86_INS_SUBSS
   1099     X86_INS_FSUB
   1100     X86_INS_FISUB
   1101     X86_INS_FSUBP
   1102     X86_INS_SWAPGS
   1103     X86_INS_SYSCALL
   1104     X86_INS_SYSENTER
   1105     X86_INS_SYSEXIT
   1106     X86_INS_SYSRET
   1107     X86_INS_T1MSKC
   1108     X86_INS_TEST
   1109     X86_INS_UD2
   1110     X86_INS_FTST
   1111     X86_INS_TZCNT
   1112     X86_INS_TZMSK
   1113     X86_INS_FUCOMPI
   1114     X86_INS_FUCOMI
   1115     X86_INS_FUCOMPP
   1116     X86_INS_FUCOMP
   1117     X86_INS_FUCOM
   1118     X86_INS_UD2B
   1119     X86_INS_UNPCKHPD
   1120     X86_INS_UNPCKHPS
   1121     X86_INS_UNPCKLPD
   1122     X86_INS_UNPCKLPS
   1123     X86_INS_VADDPD
   1124     X86_INS_VADDPS
   1125     X86_INS_VADDSD
   1126     X86_INS_VADDSS
   1127     X86_INS_VADDSUBPD
   1128     X86_INS_VADDSUBPS
   1129     X86_INS_VAESDECLAST
   1130     X86_INS_VAESDEC
   1131     X86_INS_VAESENCLAST
   1132     X86_INS_VAESENC
   1133     X86_INS_VAESIMC
   1134     X86_INS_VAESKEYGENASSIST
   1135     X86_INS_VALIGND
   1136     X86_INS_VALIGNQ
   1137     X86_INS_VANDNPD
   1138     X86_INS_VANDNPS
   1139     X86_INS_VANDPD
   1140     X86_INS_VANDPS
   1141     X86_INS_VBLENDMPD
   1142     X86_INS_VBLENDMPS
   1143     X86_INS_VBLENDPD
   1144     X86_INS_VBLENDPS
   1145     X86_INS_VBLENDVPD
   1146     X86_INS_VBLENDVPS
   1147     X86_INS_VBROADCASTF128
   1148     X86_INS_VBROADCASTI128
   1149     X86_INS_VBROADCASTI32X4
   1150     X86_INS_VBROADCASTI64X4
   1151     X86_INS_VBROADCASTSD
   1152     X86_INS_VBROADCASTSS
   1153     X86_INS_VCMPPD
   1154     X86_INS_VCMPPS
   1155     X86_INS_VCMPSD
   1156     X86_INS_VCMPSS
   1157     X86_INS_VCVTDQ2PD
   1158     X86_INS_VCVTDQ2PS
   1159     X86_INS_VCVTPD2DQX
   1160     X86_INS_VCVTPD2DQ
   1161     X86_INS_VCVTPD2PSX
   1162     X86_INS_VCVTPD2PS
   1163     X86_INS_VCVTPD2UDQ
   1164     X86_INS_VCVTPH2PS
   1165     X86_INS_VCVTPS2DQ
   1166     X86_INS_VCVTPS2PD
   1167     X86_INS_VCVTPS2PH
   1168     X86_INS_VCVTPS2UDQ
   1169     X86_INS_VCVTSD2SI
   1170     X86_INS_VCVTSD2USI
   1171     X86_INS_VCVTSS2SI
   1172     X86_INS_VCVTSS2USI
   1173     X86_INS_VCVTTPD2DQX
   1174     X86_INS_VCVTTPD2DQ
   1175     X86_INS_VCVTTPD2UDQ
   1176     X86_INS_VCVTTPS2DQ
   1177     X86_INS_VCVTTPS2UDQ
   1178     X86_INS_VCVTUDQ2PD
   1179     X86_INS_VCVTUDQ2PS
   1180     X86_INS_VDIVPD
   1181     X86_INS_VDIVPS
   1182     X86_INS_VDIVSD
   1183     X86_INS_VDIVSS
   1184     X86_INS_VDPPD
   1185     X86_INS_VDPPS
   1186     X86_INS_VERR
   1187     X86_INS_VERW
   1188     X86_INS_VEXTRACTF128
   1189     X86_INS_VEXTRACTF32X4
   1190     X86_INS_VEXTRACTF64X4
   1191     X86_INS_VEXTRACTI128
   1192     X86_INS_VEXTRACTI32X4
   1193     X86_INS_VEXTRACTI64X4
   1194     X86_INS_VEXTRACTPS
   1195     X86_INS_VFMADD132PD
   1196     X86_INS_VFMADD132PS
   1197     X86_INS_VFMADD213PD
   1198     X86_INS_VFMADD213PS
   1199     X86_INS_VFMADDPD
   1200     X86_INS_VFMADD231PD
   1201     X86_INS_VFMADDPS
   1202     X86_INS_VFMADD231PS
   1203     X86_INS_VFMADDSD
   1204     X86_INS_VFMADD213SD
   1205     X86_INS_VFMADD132SD
   1206     X86_INS_VFMADD231SD
   1207     X86_INS_VFMADDSS
   1208     X86_INS_VFMADD213SS
   1209     X86_INS_VFMADD132SS
   1210     X86_INS_VFMADD231SS
   1211     X86_INS_VFMADDSUB132PD
   1212     X86_INS_VFMADDSUB132PS
   1213     X86_INS_VFMADDSUB213PD
   1214     X86_INS_VFMADDSUB213PS
   1215     X86_INS_VFMADDSUBPD
   1216     X86_INS_VFMADDSUB231PD
   1217     X86_INS_VFMADDSUBPS
   1218     X86_INS_VFMADDSUB231PS
   1219     X86_INS_VFMSUB132PD
   1220     X86_INS_VFMSUB132PS
   1221     X86_INS_VFMSUB213PD
   1222     X86_INS_VFMSUB213PS
   1223     X86_INS_VFMSUBADD132PD
   1224     X86_INS_VFMSUBADD132PS
   1225     X86_INS_VFMSUBADD213PD
   1226     X86_INS_VFMSUBADD213PS
   1227     X86_INS_VFMSUBADDPD
   1228     X86_INS_VFMSUBADD231PD
   1229     X86_INS_VFMSUBADDPS
   1230     X86_INS_VFMSUBADD231PS
   1231     X86_INS_VFMSUBPD
   1232     X86_INS_VFMSUB231PD
   1233     X86_INS_VFMSUBPS
   1234     X86_INS_VFMSUB231PS
   1235     X86_INS_VFMSUBSD
   1236     X86_INS_VFMSUB213SD
   1237     X86_INS_VFMSUB132SD
   1238     X86_INS_VFMSUB231SD
   1239     X86_INS_VFMSUBSS
   1240     X86_INS_VFMSUB213SS
   1241     X86_INS_VFMSUB132SS
   1242     X86_INS_VFMSUB231SS
   1243     X86_INS_VFNMADD132PD
   1244     X86_INS_VFNMADD132PS
   1245     X86_INS_VFNMADD213PD
   1246     X86_INS_VFNMADD213PS
   1247     X86_INS_VFNMADDPD
   1248     X86_INS_VFNMADD231PD
   1249     X86_INS_VFNMADDPS
   1250     X86_INS_VFNMADD231PS
   1251     X86_INS_VFNMADDSD
   1252     X86_INS_VFNMADD213SD
   1253     X86_INS_VFNMADD132SD
   1254     X86_INS_VFNMADD231SD
   1255     X86_INS_VFNMADDSS
   1256     X86_INS_VFNMADD213SS
   1257     X86_INS_VFNMADD132SS
   1258     X86_INS_VFNMADD231SS
   1259     X86_INS_VFNMSUB132PD
   1260     X86_INS_VFNMSUB132PS
   1261     X86_INS_VFNMSUB213PD
   1262     X86_INS_VFNMSUB213PS
   1263     X86_INS_VFNMSUBPD
   1264     X86_INS_VFNMSUB231PD
   1265     X86_INS_VFNMSUBPS
   1266     X86_INS_VFNMSUB231PS
   1267     X86_INS_VFNMSUBSD
   1268     X86_INS_VFNMSUB213SD
   1269     X86_INS_VFNMSUB132SD
   1270     X86_INS_VFNMSUB231SD
   1271     X86_INS_VFNMSUBSS
   1272     X86_INS_VFNMSUB213SS
   1273     X86_INS_VFNMSUB132SS
   1274     X86_INS_VFNMSUB231SS
   1275     X86_INS_VFRCZPD
   1276     X86_INS_VFRCZPS
   1277     X86_INS_VFRCZSD
   1278     X86_INS_VFRCZSS
   1279     X86_INS_VORPD
   1280     X86_INS_VORPS
   1281     X86_INS_VXORPD
   1282     X86_INS_VXORPS
   1283     X86_INS_VGATHERDPD
   1284     X86_INS_VGATHERDPS
   1285     X86_INS_VGATHERPF0DPD
   1286     X86_INS_VGATHERPF0DPS
   1287     X86_INS_VGATHERPF0QPD
   1288     X86_INS_VGATHERPF0QPS
   1289     X86_INS_VGATHERPF1DPD
   1290     X86_INS_VGATHERPF1DPS
   1291     X86_INS_VGATHERPF1QPD
   1292     X86_INS_VGATHERPF1QPS
   1293     X86_INS_VGATHERQPD
   1294     X86_INS_VGATHERQPS
   1295     X86_INS_VHADDPD
   1296     X86_INS_VHADDPS
   1297     X86_INS_VHSUBPD
   1298     X86_INS_VHSUBPS
   1299     X86_INS_VINSERTF128
   1300     X86_INS_VINSERTF32X4
   1301     X86_INS_VINSERTF64X4
   1302     X86_INS_VINSERTI128
   1303     X86_INS_VINSERTI32X4
   1304     X86_INS_VINSERTI64X4
   1305     X86_INS_VINSERTPS
   1306     X86_INS_VLDDQU
   1307     X86_INS_VLDMXCSR
   1308     X86_INS_VMASKMOVDQU
   1309     X86_INS_VMASKMOVPD
   1310     X86_INS_VMASKMOVPS
   1311     X86_INS_VMAXPD
   1312     X86_INS_VMAXPS
   1313     X86_INS_VMAXSD
   1314     X86_INS_VMAXSS
   1315     X86_INS_VMCALL
   1316     X86_INS_VMCLEAR
   1317     X86_INS_VMFUNC
   1318     X86_INS_VMINPD
   1319     X86_INS_VMINPS
   1320     X86_INS_VMINSD
   1321     X86_INS_VMINSS
   1322     X86_INS_VMLAUNCH
   1323     X86_INS_VMLOAD
   1324     X86_INS_VMMCALL
   1325     X86_INS_VMOVQ
   1326     X86_INS_VMOVDDUP
   1327     X86_INS_VMOVD
   1328     X86_INS_VMOVDQA32
   1329     X86_INS_VMOVDQA64
   1330     X86_INS_VMOVDQA
   1331     X86_INS_VMOVDQU16
   1332     X86_INS_VMOVDQU32
   1333     X86_INS_VMOVDQU64
   1334     X86_INS_VMOVDQU8
   1335     X86_INS_VMOVDQU
   1336     X86_INS_VMOVHLPS
   1337     X86_INS_VMOVHPD
   1338     X86_INS_VMOVHPS
   1339     X86_INS_VMOVLHPS
   1340     X86_INS_VMOVLPD
   1341     X86_INS_VMOVLPS
   1342     X86_INS_VMOVMSKPD
   1343     X86_INS_VMOVMSKPS
   1344     X86_INS_VMOVNTDQA
   1345     X86_INS_VMOVNTDQ
   1346     X86_INS_VMOVNTPD
   1347     X86_INS_VMOVNTPS
   1348     X86_INS_VMOVSD
   1349     X86_INS_VMOVSHDUP
   1350     X86_INS_VMOVSLDUP
   1351     X86_INS_VMOVSS
   1352     X86_INS_VMOVUPD
   1353     X86_INS_VMOVUPS
   1354     X86_INS_VMPSADBW
   1355     X86_INS_VMPTRLD
   1356     X86_INS_VMPTRST
   1357     X86_INS_VMREAD
   1358     X86_INS_VMRESUME
   1359     X86_INS_VMRUN
   1360     X86_INS_VMSAVE
   1361     X86_INS_VMULPD
   1362     X86_INS_VMULPS
   1363     X86_INS_VMULSD
   1364     X86_INS_VMULSS
   1365     X86_INS_VMWRITE
   1366     X86_INS_VMXOFF
   1367     X86_INS_VMXON
   1368     X86_INS_VPABSB
   1369     X86_INS_VPABSD
   1370     X86_INS_VPABSQ
   1371     X86_INS_VPABSW
   1372     X86_INS_VPACKSSDW
   1373     X86_INS_VPACKSSWB
   1374     X86_INS_VPACKUSDW
   1375     X86_INS_VPACKUSWB
   1376     X86_INS_VPADDB
   1377     X86_INS_VPADDD
   1378     X86_INS_VPADDQ
   1379     X86_INS_VPADDSB
   1380     X86_INS_VPADDSW
   1381     X86_INS_VPADDUSB
   1382     X86_INS_VPADDUSW
   1383     X86_INS_VPADDW
   1384     X86_INS_VPALIGNR
   1385     X86_INS_VPANDD
   1386     X86_INS_VPANDND
   1387     X86_INS_VPANDNQ
   1388     X86_INS_VPANDN
   1389     X86_INS_VPANDQ
   1390     X86_INS_VPAND
   1391     X86_INS_VPAVGB
   1392     X86_INS_VPAVGW
   1393     X86_INS_VPBLENDD
   1394     X86_INS_VPBLENDMD
   1395     X86_INS_VPBLENDMQ
   1396     X86_INS_VPBLENDVB
   1397     X86_INS_VPBLENDW
   1398     X86_INS_VPBROADCASTB
   1399     X86_INS_VPBROADCASTD
   1400     X86_INS_VPBROADCASTMB2Q
   1401     X86_INS_VPBROADCASTMW2D
   1402     X86_INS_VPBROADCASTQ
   1403     X86_INS_VPBROADCASTW
   1404     X86_INS_VPCLMULQDQ
   1405     X86_INS_VPCMOV
   1406     X86_INS_VPCMP
   1407     X86_INS_VPCMPD
   1408     X86_INS_VPCMPEQB
   1409     X86_INS_VPCMPEQD
   1410     X86_INS_VPCMPEQQ
   1411     X86_INS_VPCMPEQW
   1412     X86_INS_VPCMPESTRI
   1413     X86_INS_VPCMPESTRM
   1414     X86_INS_VPCMPGTB
   1415     X86_INS_VPCMPGTD
   1416     X86_INS_VPCMPGTQ
   1417     X86_INS_VPCMPGTW
   1418     X86_INS_VPCMPISTRI
   1419     X86_INS_VPCMPISTRM
   1420     X86_INS_VPCMPQ
   1421     X86_INS_VPCMPUD
   1422     X86_INS_VPCMPUQ
   1423     X86_INS_VPCOMB
   1424     X86_INS_VPCOMD
   1425     X86_INS_VPCOMQ
   1426     X86_INS_VPCOMUB
   1427     X86_INS_VPCOMUD
   1428     X86_INS_VPCOMUQ
   1429     X86_INS_VPCOMUW
   1430     X86_INS_VPCOMW
   1431     X86_INS_VPCONFLICTD
   1432     X86_INS_VPCONFLICTQ
   1433     X86_INS_VPERM2F128
   1434     X86_INS_VPERM2I128
   1435     X86_INS_VPERMD
   1436     X86_INS_VPERMI2D
   1437     X86_INS_VPERMI2PD
   1438     X86_INS_VPERMI2PS
   1439     X86_INS_VPERMI2Q
   1440     X86_INS_VPERMIL2PD
   1441     X86_INS_VPERMIL2PS
   1442     X86_INS_VPERMILPD
   1443     X86_INS_VPERMILPS
   1444     X86_INS_VPERMPD
   1445     X86_INS_VPERMPS
   1446     X86_INS_VPERMQ
   1447     X86_INS_VPERMT2D
   1448     X86_INS_VPERMT2PD
   1449     X86_INS_VPERMT2PS
   1450     X86_INS_VPERMT2Q
   1451     X86_INS_VPEXTRB
   1452     X86_INS_VPEXTRD
   1453     X86_INS_VPEXTRQ
   1454     X86_INS_VPEXTRW
   1455     X86_INS_VPGATHERDD
   1456     X86_INS_VPGATHERDQ
   1457     X86_INS_VPGATHERQD
   1458     X86_INS_VPGATHERQQ
   1459     X86_INS_VPHADDBD
   1460     X86_INS_VPHADDBQ
   1461     X86_INS_VPHADDBW
   1462     X86_INS_VPHADDDQ
   1463     X86_INS_VPHADDD
   1464     X86_INS_VPHADDSW
   1465     X86_INS_VPHADDUBD
   1466     X86_INS_VPHADDUBQ
   1467     X86_INS_VPHADDUBW
   1468     X86_INS_VPHADDUDQ
   1469     X86_INS_VPHADDUWD
   1470     X86_INS_VPHADDUWQ
   1471     X86_INS_VPHADDWD
   1472     X86_INS_VPHADDWQ
   1473     X86_INS_VPHADDW
   1474     X86_INS_VPHMINPOSUW
   1475     X86_INS_VPHSUBBW
   1476     X86_INS_VPHSUBDQ
   1477     X86_INS_VPHSUBD
   1478     X86_INS_VPHSUBSW
   1479     X86_INS_VPHSUBWD
   1480     X86_INS_VPHSUBW
   1481     X86_INS_VPINSRB
   1482     X86_INS_VPINSRD
   1483     X86_INS_VPINSRQ
   1484     X86_INS_VPINSRW
   1485     X86_INS_VPLZCNTD
   1486     X86_INS_VPLZCNTQ
   1487     X86_INS_VPMACSDD
   1488     X86_INS_VPMACSDQH
   1489     X86_INS_VPMACSDQL
   1490     X86_INS_VPMACSSDD
   1491     X86_INS_VPMACSSDQH
   1492     X86_INS_VPMACSSDQL
   1493     X86_INS_VPMACSSWD
   1494     X86_INS_VPMACSSWW
   1495     X86_INS_VPMACSWD
   1496     X86_INS_VPMACSWW
   1497     X86_INS_VPMADCSSWD
   1498     X86_INS_VPMADCSWD
   1499     X86_INS_VPMADDUBSW
   1500     X86_INS_VPMADDWD
   1501     X86_INS_VPMASKMOVD
   1502     X86_INS_VPMASKMOVQ
   1503     X86_INS_VPMAXSB
   1504     X86_INS_VPMAXSD
   1505     X86_INS_VPMAXSQ
   1506     X86_INS_VPMAXSW
   1507     X86_INS_VPMAXUB
   1508     X86_INS_VPMAXUD
   1509     X86_INS_VPMAXUQ
   1510     X86_INS_VPMAXUW
   1511     X86_INS_VPMINSB
   1512     X86_INS_VPMINSD
   1513     X86_INS_VPMINSQ
   1514     X86_INS_VPMINSW
   1515     X86_INS_VPMINUB
   1516     X86_INS_VPMINUD
   1517     X86_INS_VPMINUQ
   1518     X86_INS_VPMINUW
   1519     X86_INS_VPMOVDB
   1520     X86_INS_VPMOVDW
   1521     X86_INS_VPMOVMSKB
   1522     X86_INS_VPMOVQB
   1523     X86_INS_VPMOVQD
   1524     X86_INS_VPMOVQW
   1525     X86_INS_VPMOVSDB
   1526     X86_INS_VPMOVSDW
   1527     X86_INS_VPMOVSQB
   1528     X86_INS_VPMOVSQD
   1529     X86_INS_VPMOVSQW
   1530     X86_INS_VPMOVSXBD
   1531     X86_INS_VPMOVSXBQ
   1532     X86_INS_VPMOVSXBW
   1533     X86_INS_VPMOVSXDQ
   1534     X86_INS_VPMOVSXWD
   1535     X86_INS_VPMOVSXWQ
   1536     X86_INS_VPMOVUSDB
   1537     X86_INS_VPMOVUSDW
   1538     X86_INS_VPMOVUSQB
   1539     X86_INS_VPMOVUSQD
   1540     X86_INS_VPMOVUSQW
   1541     X86_INS_VPMOVZXBD
   1542     X86_INS_VPMOVZXBQ
   1543     X86_INS_VPMOVZXBW
   1544     X86_INS_VPMOVZXDQ
   1545     X86_INS_VPMOVZXWD
   1546     X86_INS_VPMOVZXWQ
   1547     X86_INS_VPMULDQ
   1548     X86_INS_VPMULHRSW
   1549     X86_INS_VPMULHUW
   1550     X86_INS_VPMULHW
   1551     X86_INS_VPMULLD
   1552     X86_INS_VPMULLW
   1553     X86_INS_VPMULUDQ
   1554     X86_INS_VPORD
   1555     X86_INS_VPORQ
   1556     X86_INS_VPOR
   1557     X86_INS_VPPERM
   1558     X86_INS_VPROTB
   1559     X86_INS_VPROTD
   1560     X86_INS_VPROTQ
   1561     X86_INS_VPROTW
   1562     X86_INS_VPSADBW
   1563     X86_INS_VPSCATTERDD
   1564     X86_INS_VPSCATTERDQ
   1565     X86_INS_VPSCATTERQD
   1566     X86_INS_VPSCATTERQQ
   1567     X86_INS_VPSHAB
   1568     X86_INS_VPSHAD
   1569     X86_INS_VPSHAQ
   1570     X86_INS_VPSHAW
   1571     X86_INS_VPSHLB
   1572     X86_INS_VPSHLD
   1573     X86_INS_VPSHLQ
   1574     X86_INS_VPSHLW
   1575     X86_INS_VPSHUFB
   1576     X86_INS_VPSHUFD
   1577     X86_INS_VPSHUFHW
   1578     X86_INS_VPSHUFLW
   1579     X86_INS_VPSIGNB
   1580     X86_INS_VPSIGND
   1581     X86_INS_VPSIGNW
   1582     X86_INS_VPSLLDQ
   1583     X86_INS_VPSLLD
   1584     X86_INS_VPSLLQ
   1585     X86_INS_VPSLLVD
   1586     X86_INS_VPSLLVQ
   1587     X86_INS_VPSLLW
   1588     X86_INS_VPSRAD
   1589     X86_INS_VPSRAQ
   1590     X86_INS_VPSRAVD
   1591     X86_INS_VPSRAVQ
   1592     X86_INS_VPSRAW
   1593     X86_INS_VPSRLDQ
   1594     X86_INS_VPSRLD
   1595     X86_INS_VPSRLQ
   1596     X86_INS_VPSRLVD
   1597     X86_INS_VPSRLVQ
   1598     X86_INS_VPSRLW
   1599     X86_INS_VPSUBB
   1600     X86_INS_VPSUBD
   1601     X86_INS_VPSUBQ
   1602     X86_INS_VPSUBSB
   1603     X86_INS_VPSUBSW
   1604     X86_INS_VPSUBUSB
   1605     X86_INS_VPSUBUSW
   1606     X86_INS_VPSUBW
   1607     X86_INS_VPTESTMD
   1608     X86_INS_VPTESTMQ
   1609     X86_INS_VPTESTNMD
   1610     X86_INS_VPTESTNMQ
   1611     X86_INS_VPTEST
   1612     X86_INS_VPUNPCKHBW
   1613     X86_INS_VPUNPCKHDQ
   1614     X86_INS_VPUNPCKHQDQ
   1615     X86_INS_VPUNPCKHWD
   1616     X86_INS_VPUNPCKLBW
   1617     X86_INS_VPUNPCKLDQ
   1618     X86_INS_VPUNPCKLQDQ
   1619     X86_INS_VPUNPCKLWD
   1620     X86_INS_VPXORD
   1621     X86_INS_VPXORQ
   1622     X86_INS_VPXOR
   1623     X86_INS_VRCP14PD
   1624     X86_INS_VRCP14PS
   1625     X86_INS_VRCP14SD
   1626     X86_INS_VRCP14SS
   1627     X86_INS_VRCP28PD
   1628     X86_INS_VRCP28PS
   1629     X86_INS_VRCP28SD
   1630     X86_INS_VRCP28SS
   1631     X86_INS_VRCPPS
   1632     X86_INS_VRCPSS
   1633     X86_INS_VRNDSCALEPD
   1634     X86_INS_VRNDSCALEPS
   1635     X86_INS_VRNDSCALESD
   1636     X86_INS_VRNDSCALESS
   1637     X86_INS_VROUNDPD
   1638     X86_INS_VROUNDPS
   1639     X86_INS_VROUNDSD
   1640     X86_INS_VROUNDSS
   1641     X86_INS_VRSQRT14PD
   1642     X86_INS_VRSQRT14PS
   1643     X86_INS_VRSQRT14SD
   1644     X86_INS_VRSQRT14SS
   1645     X86_INS_VRSQRT28PD
   1646     X86_INS_VRSQRT28PS
   1647     X86_INS_VRSQRT28SD
   1648     X86_INS_VRSQRT28SS
   1649     X86_INS_VRSQRTPS
   1650     X86_INS_VRSQRTSS
   1651     X86_INS_VSCATTERDPD
   1652     X86_INS_VSCATTERDPS
   1653     X86_INS_VSCATTERPF0DPD
   1654     X86_INS_VSCATTERPF0DPS
   1655     X86_INS_VSCATTERPF0QPD
   1656     X86_INS_VSCATTERPF0QPS
   1657     X86_INS_VSCATTERPF1DPD
   1658     X86_INS_VSCATTERPF1DPS
   1659     X86_INS_VSCATTERPF1QPD
   1660     X86_INS_VSCATTERPF1QPS
   1661     X86_INS_VSCATTERQPD
   1662     X86_INS_VSCATTERQPS
   1663     X86_INS_VSHUFPD
   1664     X86_INS_VSHUFPS
   1665     X86_INS_VSQRTPD
   1666     X86_INS_VSQRTPS
   1667     X86_INS_VSQRTSD
   1668     X86_INS_VSQRTSS
   1669     X86_INS_VSTMXCSR
   1670     X86_INS_VSUBPD
   1671     X86_INS_VSUBPS
   1672     X86_INS_VSUBSD
   1673     X86_INS_VSUBSS
   1674     X86_INS_VTESTPD
   1675     X86_INS_VTESTPS
   1676     X86_INS_VUNPCKHPD
   1677     X86_INS_VUNPCKHPS
   1678     X86_INS_VUNPCKLPD
   1679     X86_INS_VUNPCKLPS
   1680     X86_INS_VZEROALL
   1681     X86_INS_VZEROUPPER
   1682     X86_INS_WAIT
   1683     X86_INS_WBINVD
   1684     X86_INS_WRFSBASE
   1685     X86_INS_WRGSBASE
   1686     X86_INS_WRMSR
   1687     X86_INS_XABORT
   1688     X86_INS_XACQUIRE
   1689     X86_INS_XBEGIN
   1690     X86_INS_XCHG
   1691     X86_INS_FXCH
   1692     X86_INS_XCRYPTCBC
   1693     X86_INS_XCRYPTCFB
   1694     X86_INS_XCRYPTCTR
   1695     X86_INS_XCRYPTECB
   1696     X86_INS_XCRYPTOFB
   1697     X86_INS_XEND
   1698     X86_INS_XGETBV
   1699     X86_INS_XLATB
   1700     X86_INS_XRELEASE
   1701     X86_INS_XRSTOR
   1702     X86_INS_XRSTOR64
   1703     X86_INS_XSAVE
   1704     X86_INS_XSAVE64
   1705     X86_INS_XSAVEOPT
   1706     X86_INS_XSAVEOPT64
   1707     X86_INS_XSETBV
   1708     X86_INS_XSHA1
   1709     X86_INS_XSHA256
   1710     X86_INS_XSTORE
   1711     X86_INS_XTEST
   1712     X86_INS_ENDING ' mark the end of the list of insn
   1713 End Enum
   1714 
   1715 'Group of X86 instructions
   1716 Public Enum x86_insn_group
   1717     X86_GRP_INVALID = 0 ' = CS_GRP_INVALID
   1718     
   1719     ' > Generic groups                      '
   1720     X86_GRP_JUMP      'all jump instructions (conditional+direct+indirect jumps) = CS_GRP_JUMP
   1721     X86_GRP_CALL      'all call instructions = CS_GRP_CALL
   1722     X86_GRP_RET       ' all return instructions = CS_GRP_RET
   1723     X86_GRP_INT       'all interrupt instructions (int+syscall) = CS_GRP_INT
   1724     X86_GRP_IRET      'all interrupt return instructions = CS_GRP_IRET
   1725     
   1726     ' > Architecture-specific groups
   1727     X86_GRP_VM = 128  ' all virtualization instructions (VT-x + AMD-V)
   1728     X86_GRP_3DNOW
   1729     X86_GRP_AES
   1730     X86_GRP_ADX
   1731     X86_GRP_AVX
   1732     X86_GRP_AVX2
   1733     X86_GRP_AVX512
   1734     X86_GRP_BMI
   1735     X86_GRP_BMI2
   1736     X86_GRP_CMOV
   1737     X86_GRP_F16C
   1738     X86_GRP_FMA
   1739     X86_GRP_FMA4
   1740     X86_GRP_FSGSBASE
   1741     X86_GRP_HLE
   1742     X86_GRP_MMX
   1743     X86_GRP_MODE32
   1744     X86_GRP_MODE64
   1745     X86_GRP_RTM
   1746     X86_GRP_SHA
   1747     X86_GRP_SSE1
   1748     X86_GRP_SSE2
   1749     X86_GRP_SSE3
   1750     X86_GRP_SSE41
   1751     X86_GRP_SSE42
   1752     X86_GRP_SSE4A
   1753     X86_GRP_SSSE3
   1754     X86_GRP_PCLMUL
   1755     X86_GRP_XOP
   1756     X86_GRP_CDI
   1757     X86_GRP_ERI
   1758     X86_GRP_TBM
   1759     X86_GRP_16BITMODE
   1760     X86_GRP_NOT64BITMODE
   1761     X86_GRP_SGX
   1762     X86_GRP_DQI
   1763     X86_GRP_BWI
   1764     X86_GRP_PFI
   1765     X86_GRP_VLX
   1766     X86_GRP_SMAP
   1767     X86_GRP_NOVLX
   1768     X86_GRP_ENDING
   1769 End Enum
   1770 
   1771 
   1772 
   1773 Function x86_sse_cc2str(v As x86_sse_cc) As String
   1774      Dim r As String
   1775     If v = X86_SSE_CC_INVALID Then r = "X86_SSE_CC_INVALID"
   1776     If v = X86_SSE_CC_EQ Then r = "X86_SSE_CC_EQ"
   1777     If v = X86_SSE_CC_LT Then r = "X86_SSE_CC_LT"
   1778     If v = X86_SSE_CC_LE Then r = "X86_SSE_CC_LE"
   1779     If v = X86_SSE_CC_UNORD Then r = "X86_SSE_CC_UNORD"
   1780     If v = X86_SSE_CC_NEQ Then r = "X86_SSE_CC_NEQ"
   1781     If v = X86_SSE_CC_NLT Then r = "X86_SSE_CC_NLT"
   1782     If v = X86_SSE_CC_NLE Then r = "X86_SSE_CC_NLE"
   1783     If v = X86_SSE_CC_ORD Then r = "X86_SSE_CC_ORD"
   1784     If v = X86_SSE_CC_EQ_UQ Then r = "X86_SSE_CC_EQ_UQ"
   1785     If v = X86_SSE_CC_NGE Then r = "X86_SSE_CC_NGE"
   1786     If v = X86_SSE_CC_NGT Then r = "X86_SSE_CC_NGT"
   1787     If v = X86_SSE_CC_FALSE Then r = "X86_SSE_CC_FALSE"
   1788     If v = X86_SSE_CC_NEQ_OQ Then r = "X86_SSE_CC_NEQ_OQ"
   1789     If v = X86_SSE_CC_GE Then r = "X86_SSE_CC_GE"
   1790     If v = X86_SSE_CC_GT Then r = "X86_SSE_CC_GT"
   1791     If v = X86_SSE_CC_TRUE Then r = "X86_SSE_CC_TRUE"
   1792     
   1793     If Len(r) = 0 Then
   1794         r = "Unknown: " & Hex(v)
   1795     ElseIf DEBUG_DUMP Then
   1796         r = r & " (" & Hex(v) & ")"
   1797     End If
   1798     
   1799     x86_sse_cc2str = r
   1800     
   1801 End Function
   1802 
   1803 Function x86_avx_cc2str(v As x86_avx_cc) As String
   1804      Dim r As String
   1805     If v = X86_AVX_CC_INVALID Then r = "X86_AVX_CC_INVALID"
   1806     If v = X86_AVX_CC_EQ Then r = "X86_AVX_CC_EQ"
   1807     If v = X86_AVX_CC_LT Then r = "X86_AVX_CC_LT"
   1808     If v = X86_AVX_CC_LE Then r = "X86_AVX_CC_LE"
   1809     If v = X86_AVX_CC_UNORD Then r = "X86_AVX_CC_UNORD"
   1810     If v = X86_AVX_CC_NEQ Then r = "X86_AVX_CC_NEQ"
   1811     If v = X86_AVX_CC_NLT Then r = "X86_AVX_CC_NLT"
   1812     If v = X86_AVX_CC_NLE Then r = "X86_AVX_CC_NLE"
   1813     If v = X86_AVX_CC_ORD Then r = "X86_AVX_CC_ORD"
   1814     If v = X86_AVX_CC_EQ_UQ Then r = "X86_AVX_CC_EQ_UQ"
   1815     If v = X86_AVX_CC_NGE Then r = "X86_AVX_CC_NGE"
   1816     If v = X86_AVX_CC_NGT Then r = "X86_AVX_CC_NGT"
   1817     If v = X86_AVX_CC_FALSE Then r = "X86_AVX_CC_FALSE"
   1818     If v = X86_AVX_CC_NEQ_OQ Then r = "X86_AVX_CC_NEQ_OQ"
   1819     If v = X86_AVX_CC_GE Then r = "X86_AVX_CC_GE"
   1820     If v = X86_AVX_CC_GT Then r = "X86_AVX_CC_GT"
   1821     If v = X86_AVX_CC_TRUE Then r = "X86_AVX_CC_TRUE"
   1822     If v = X86_AVX_CC_EQ_OS Then r = "X86_AVX_CC_EQ_OS"
   1823     If v = X86_AVX_CC_LT_OQ Then r = "X86_AVX_CC_LT_OQ"
   1824     If v = X86_AVX_CC_LE_OQ Then r = "X86_AVX_CC_LE_OQ"
   1825     If v = X86_AVX_CC_UNORD_S Then r = "X86_AVX_CC_UNORD_S"
   1826     If v = X86_AVX_CC_NEQ_US Then r = "X86_AVX_CC_NEQ_US"
   1827     If v = X86_AVX_CC_NLT_UQ Then r = "X86_AVX_CC_NLT_UQ"
   1828     If v = X86_AVX_CC_NLE_UQ Then r = "X86_AVX_CC_NLE_UQ"
   1829     If v = X86_AVX_CC_ORD_S Then r = "X86_AVX_CC_ORD_S"
   1830     If v = X86_AVX_CC_EQ_US Then r = "X86_AVX_CC_EQ_US"
   1831     If v = X86_AVX_CC_NGE_UQ Then r = "X86_AVX_CC_NGE_UQ"
   1832     If v = X86_AVX_CC_NGT_UQ Then r = "X86_AVX_CC_NGT_UQ"
   1833     If v = X86_AVX_CC_FALSE_OS Then r = "X86_AVX_CC_FALSE_OS"
   1834     If v = X86_AVX_CC_NEQ_OS Then r = "X86_AVX_CC_NEQ_OS"
   1835     If v = X86_AVX_CC_GE_OQ Then r = "X86_AVX_CC_GE_OQ"
   1836     If v = X86_AVX_CC_GT_OQ Then r = "X86_AVX_CC_GT_OQ"
   1837     If v = X86_AVX_CC_TRUE_US Then r = "X86_AVX_CC_TRUE_US"
   1838     
   1839     If Len(r) = 0 Then
   1840         r = "Unknown: " & Hex(v)
   1841     ElseIf DEBUG_DUMP Then
   1842         r = r & " (" & Hex(v) & ")"
   1843     End If
   1844     
   1845     x86_avx_cc2str = r
   1846     
   1847 End Function
   1848 
   1849 
   1850 Function x86_avx_rm2str(v As x86_avx_rm) As String
   1851     Dim r As String
   1852     
   1853     If v = X86_AVX_RM_INVALID Then r = "X86_AVX_RM_INVALID"
   1854     If v = X86_AVX_RM_RN Then r = "X86_AVX_RM_RN"
   1855     If v = X86_AVX_RM_RD Then r = "X86_AVX_RM_RD"
   1856     If v = X86_AVX_RM_RU Then r = "X86_AVX_RM_RU"
   1857     If v = X86_AVX_RM_RZ Then r = "X86_AVX_RM_RZ"
   1858     
   1859     If Len(r) = 0 Then
   1860         r = "Unknown: " & Hex(v)
   1861     ElseIf DEBUG_DUMP Then
   1862         r = r & " (" & Hex(v) & ")"
   1863     End If
   1864     
   1865     x86_avx_rm2str = r
   1866 End Function
   1867 
   1868 
   1869