capstone/arch/X86/X86GenAsmWriter1_reduce.inc

2836 lines
83 KiB
C++

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Assembly Writer Source Fragment *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
/* Capstone Disassembly Engine, http://www.capstone-engine.org */
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
/// printInstruction - This method is automatically generated by tablegen
/// from the instruction set description.
static void printInstruction(MCInst *MI, SStream *O, MCRegisterInfo *MRI)
{
static const uint32_t OpInfo[] = {
0U, // PHI
0U, // INLINEASM
0U, // CFI_INSTRUCTION
0U, // EH_LABEL
0U, // GC_LABEL
0U, // KILL
0U, // EXTRACT_SUBREG
0U, // INSERT_SUBREG
0U, // IMPLICIT_DEF
0U, // SUBREG_TO_REG
0U, // COPY_TO_REGCLASS
2566U, // DBG_VALUE
0U, // REG_SEQUENCE
0U, // COPY
2559U, // BUNDLE
2622U, // LIFETIME_START
2546U, // LIFETIME_END
0U, // STACKMAP
0U, // PATCHPOINT
0U, // LOAD_STACK_GUARD
2637U, // AAA
4269U, // AAD8i8
4749U, // AAM8i8
3179U, // AAS
2301U, // ACQUIRE_MOV16rm
2301U, // ACQUIRE_MOV32rm
2301U, // ACQUIRE_MOV64rm
2301U, // ACQUIRE_MOV8rm
5486U, // ADC16i16
139395U, // ADC16mi
139395U, // ADC16mi8
139395U, // ADC16mr
2240643U, // ADC16ri
2240643U, // ADC16ri8
4337795U, // ADC16rm
2240643U, // ADC16rr
2232451U, // ADC16rr_REV
5622U, // ADC32i32
147587U, // ADC32mi
147587U, // ADC32mi8
147587U, // ADC32mr
2240643U, // ADC32ri
2240643U, // ADC32ri8
6434947U, // ADC32rm
2240643U, // ADC32rr
2232451U, // ADC32rr_REV
5770U, // ADC64i32
151683U, // ADC64mi32
151683U, // ADC64mi8
151683U, // ADC64mr
2240643U, // ADC64ri32
2240643U, // ADC64ri8
8532099U, // ADC64rm
2240643U, // ADC64rr
2232451U, // ADC64rr_REV
5384U, // ADC8i8
155779U, // ADC8mi
155779U, // ADC8mr
2240643U, // ADC8ri
10629251U, // ADC8rm
2240643U, // ADC8rr
2232451U, // ADC8rr_REV
6427796U, // ADCX32rm
2233492U, // ADCX32rr
8524948U, // ADCX64rm
2233492U, // ADCX64rr
5495U, // ADD16i16
139451U, // ADD16mi
139451U, // ADD16mi8
139451U, // ADD16mr
2240699U, // ADD16ri
2240699U, // ADD16ri8
0U, // ADD16ri8_DB
0U, // ADD16ri_DB
4337851U, // ADD16rm
2240699U, // ADD16rr
0U, // ADD16rr_DB
2232507U, // ADD16rr_REV
5632U, // ADD32i32
147643U, // ADD32mi
147643U, // ADD32mi8
147643U, // ADD32mr
2240699U, // ADD32ri
2240699U, // ADD32ri8
0U, // ADD32ri8_DB
0U, // ADD32ri_DB
6435003U, // ADD32rm
2240699U, // ADD32rr
0U, // ADD32rr_DB
2232507U, // ADD32rr_REV
5780U, // ADD64i32
151739U, // ADD64mi32
151739U, // ADD64mi8
151739U, // ADD64mr
2240699U, // ADD64ri32
0U, // ADD64ri32_DB
2240699U, // ADD64ri8
0U, // ADD64ri8_DB
8532155U, // ADD64rm
2240699U, // ADD64rr
0U, // ADD64rr_DB
2232507U, // ADD64rr_REV
5393U, // ADD8i8
155835U, // ADD8mi
155835U, // ADD8mr
2240699U, // ADD8ri
2240699U, // ADD8ri8
10629307U, // ADD8rm
2240699U, // ADD8rr
2232507U, // ADD8rr_REV
2576U, // ADJCALLSTACKDOWN32
2576U, // ADJCALLSTACKDOWN64
2594U, // ADJCALLSTACKUP32
2594U, // ADJCALLSTACKUP64
12719270U, // ADOX32rm
14816422U, // ADOX32rr
16913574U, // ADOX64rm
14816422U, // ADOX64rr
5504U, // AND16i16
139500U, // AND16mi
139500U, // AND16mi8
139500U, // AND16mr
2240748U, // AND16ri
2240748U, // AND16ri8
4337900U, // AND16rm
2240748U, // AND16rr
2232556U, // AND16rr_REV
5642U, // AND32i32
147692U, // AND32mi
147692U, // AND32mi8
147692U, // AND32mr
2240748U, // AND32ri
2240748U, // AND32ri8
6435052U, // AND32rm
2240748U, // AND32rr
2232556U, // AND32rr_REV
5790U, // AND64i32
151788U, // AND64mi32
151788U, // AND64mi8
151788U, // AND64mr
2240748U, // AND64ri32
2240748U, // AND64ri8
8532204U, // AND64rm
2240748U, // AND64rr
2232556U, // AND64rr_REV
5402U, // AND8i8
155884U, // AND8mi
155884U, // AND8mr
2240748U, // AND8ri
2240748U, // AND8ri8
10629356U, // AND8rm
2240748U, // AND8rr
2232556U, // AND8rr_REV
81924754U, // ANDN32rm
350360210U, // ANDN32rr
618795666U, // ANDN64rm
350360210U, // ANDN64rr
139887U, // ARPL16mr
14815855U, // ARPL16rr
885134227U, // BEXTR32rm
350360467U, // BEXTR32rr
889328531U, // BEXTR64rm
350360467U, // BEXTR64rr
885134227U, // BEXTRI32mi
350360467U, // BEXTRI32ri
889328531U, // BEXTRI64mi
350360467U, // BEXTRI64ri
12718680U, // BLCFILL32rm
14815832U, // BLCFILL32rr
16912984U, // BLCFILL64rm
14815832U, // BLCFILL64rr
12718613U, // BLCI32rm
14815765U, // BLCI32rr
16912917U, // BLCI64rm
14815765U, // BLCI64rr
12718221U, // BLCIC32rm
14815373U, // BLCIC32rr
16912525U, // BLCIC64rm
14815373U, // BLCIC64rr
12718631U, // BLCMSK32rm
14815783U, // BLCMSK32rr
16912935U, // BLCMSK64rm
14815783U, // BLCMSK64rr
12719010U, // BLCS32rm
14816162U, // BLCS32rr
16913314U, // BLCS64rm
14816162U, // BLCS64rr
12718689U, // BLSFILL32rm
14815841U, // BLSFILL32rr
16912993U, // BLSFILL64rm
14815841U, // BLSFILL64rr
12718625U, // BLSI32rm
14815777U, // BLSI32rr
16912929U, // BLSI64rm
14815777U, // BLSI64rr
12718228U, // BLSIC32rm
14815380U, // BLSIC32rr
16912532U, // BLSIC64rm
14815380U, // BLSIC64rr
12718639U, // BLSMSK32rm
14815791U, // BLSMSK32rr
16912943U, // BLSMSK64rm
14815791U, // BLSMSK64rr
12718974U, // BLSR32rm
14816126U, // BLSR32rr
16913278U, // BLSR64rm
14816126U, // BLSR64rr
12718321U, // BOUNDS16rm
16912625U, // BOUNDS32rm
19010013U, // BSF16rm
14815709U, // BSF16rr
12718557U, // BSF32rm
14815709U, // BSF32rr
16912861U, // BSF64rm
14815709U, // BSF64rr
19010425U, // BSR16rm
14816121U, // BSR16rr
12718969U, // BSR32rm
14816121U, // BSR32rr
16913273U, // BSR64rm
14816121U, // BSR64rr
4804U, // BSWAP32r
4804U, // BSWAP64r
140267U, // BT16mi8
140267U, // BT16mr
14816235U, // BT16ri8
14816235U, // BT16rr
148459U, // BT32mi8
148459U, // BT32mr
14816235U, // BT32ri8
14816235U, // BT32rr
152555U, // BT64mi8
152555U, // BT64mr
14816235U, // BT64ri8
14816235U, // BT64rr
139432U, // BTC16mi8
139432U, // BTC16mr
14815400U, // BTC16ri8
14815400U, // BTC16rr
147624U, // BTC32mi8
147624U, // BTC32mr
14815400U, // BTC32ri8
14815400U, // BTC32rr
151720U, // BTC64mi8
151720U, // BTC64mr
14815400U, // BTC64ri8
14815400U, // BTC64rr
140164U, // BTR16mi8
140164U, // BTR16mr
14816132U, // BTR16ri8
14816132U, // BTR16rr
148356U, // BTR32mi8
148356U, // BTR32mr
14816132U, // BTR32ri8
14816132U, // BTR32rr
152452U, // BTR64mi8
152452U, // BTR64mr
14816132U, // BTR64ri8
14816132U, // BTR64rr
140249U, // BTS16mi8
140249U, // BTS16mr
14816217U, // BTS16ri8
14816217U, // BTS16rr
148441U, // BTS32mi8
148441U, // BTS32mr
14816217U, // BTS32ri8
14816217U, // BTS32rr
152537U, // BTS64mi8
152537U, // BTS64mr
14816217U, // BTS64ri8
14816217U, // BTS64rr
885133851U, // BZHI32rm
350360091U, // BZHI32rr
889328155U, // BZHI64rm
350360091U, // BZHI64rr
8786U, // CALL16m
4690U, // CALL16r
16978U, // CALL32m
4690U, // CALL32r
21074U, // CALL64m
29266U, // CALL64pcrel32
4690U, // CALL64r
29266U, // CALLpcrel16
29266U, // CALLpcrel32
3378U, // CBW
3099U, // CDQ
2853U, // CDQE
2706U, // CLAC
2738U, // CLC
2788U, // CLD
2944U, // CLGI
2954U, // CLI
3322U, // CLTS
2742U, // CMC
4329519U, // CMOVA16rm
2232367U, // CMOVA16rr
6426671U, // CMOVA32rm
2232367U, // CMOVA32rr
8523823U, // CMOVA64rm
2232367U, // CMOVA64rr
4329773U, // CMOVAE16rm
2232621U, // CMOVAE16rr
6426925U, // CMOVAE32rm
2232621U, // CMOVAE32rr
8524077U, // CMOVAE64rm
2232621U, // CMOVAE64rr
4329596U, // CMOVB16rm
2232444U, // CMOVB16rr
6426748U, // CMOVB32rm
2232444U, // CMOVB32rr
8523900U, // CMOVB64rm
2232444U, // CMOVB64rr
4329793U, // CMOVBE16rm
2232641U, // CMOVBE16rr
6426945U, // CMOVBE32rm
2232641U, // CMOVBE32rr
8524097U, // CMOVBE64rm
2232641U, // CMOVBE64rr
4329942U, // CMOVE16rm
2232790U, // CMOVE16rr
6427094U, // CMOVE32rm
2232790U, // CMOVE32rr
8524246U, // CMOVE64rm
2232790U, // CMOVE64rr
4329992U, // CMOVG16rm
2232840U, // CMOVG16rr
6427144U, // CMOVG32rm
2232840U, // CMOVG32rr
8524296U, // CMOVG64rm
2232840U, // CMOVG64rr
4329813U, // CMOVGE16rm
2232661U, // CMOVGE16rr
6426965U, // CMOVGE32rm
2232661U, // CMOVGE32rr
8524117U, // CMOVGE64rm
2232661U, // CMOVGE64rr
4330118U, // CMOVL16rm
2232966U, // CMOVL16rr
6427270U, // CMOVL32rm
2232966U, // CMOVL32rr
8524422U, // CMOVL64rm
2232966U, // CMOVL64rr
4329837U, // CMOVLE16rm
2232685U, // CMOVLE16rr
6426989U, // CMOVLE32rm
2232685U, // CMOVLE32rr
8524141U, // CMOVLE64rm
2232685U, // CMOVLE64rr
4329865U, // CMOVNE16rm
2232713U, // CMOVNE16rr
6427017U, // CMOVNE32rm
2232713U, // CMOVNE32rr
8524169U, // CMOVNE64rm
2232713U, // CMOVNE64rr
4330159U, // CMOVNO16rm
2233007U, // CMOVNO16rr
6427311U, // CMOVNO32rm
2233007U, // CMOVNO32rr
8524463U, // CMOVNO64rm
2233007U, // CMOVNO64rr
4330220U, // CMOVNP16rm
2233068U, // CMOVNP16rr
6427372U, // CMOVNP32rm
2233068U, // CMOVNP32rr
8524524U, // CMOVNP64rm
2233068U, // CMOVNP64rr
4330444U, // CMOVNS16rm
2233292U, // CMOVNS16rr
6427596U, // CMOVNS32rm
2233292U, // CMOVNS32rr
8524748U, // CMOVNS64rm
2233292U, // CMOVNS64rr
4330173U, // CMOVO16rm
2233021U, // CMOVO16rr
6427325U, // CMOVO32rm
2233021U, // CMOVO32rr
8524477U, // CMOVO64rm
2233021U, // CMOVO64rr
4330266U, // CMOVP16rm
2233114U, // CMOVP16rr
6427418U, // CMOVP32rm
2233114U, // CMOVP32rr
8524570U, // CMOVP64rm
2233114U, // CMOVP64rr
4330468U, // CMOVS16rm
2233316U, // CMOVS16rr
6427620U, // CMOVS32rm
2233316U, // CMOVS32rr
8524772U, // CMOVS64rm
2233316U, // CMOVS64rr
2105U, // CMOV_FR32
2264U, // CMOV_FR64
1984U, // CMOV_GR16
1964U, // CMOV_GR32
2283U, // CMOV_GR8
2085U, // CMOV_RFP32
2244U, // CMOV_RFP64
2004U, // CMOV_RFP80
2044U, // CMOV_V16F32
2124U, // CMOV_V2F64
2184U, // CMOV_V2I64
2024U, // CMOV_V4F32
2144U, // CMOV_V4F64
2204U, // CMOV_V4I64
2065U, // CMOV_V8F32
2164U, // CMOV_V8F64
2224U, // CMOV_V8I64
5531U, // CMP16i16
139989U, // CMP16mi
139989U, // CMP16mi8
139989U, // CMP16mr
14815957U, // CMP16ri
14815957U, // CMP16ri8
19010261U, // CMP16rm
14815957U, // CMP16rr
14815957U, // CMP16rr_REV
5696U, // CMP32i32
148181U, // CMP32mi
148181U, // CMP32mi8
148181U, // CMP32mr
14815957U, // CMP32ri
14815957U, // CMP32ri8
12718805U, // CMP32rm
14815957U, // CMP32rr
14815957U, // CMP32rr_REV
5811U, // CMP64i32
152277U, // CMP64mi32
152277U, // CMP64mi8
152277U, // CMP64mr
14815957U, // CMP64ri32
14815957U, // CMP64ri8
16913109U, // CMP64rm
14815957U, // CMP64rr
14815957U, // CMP64rr_REV
5419U, // CMP8i8
156373U, // CMP8mi
156373U, // CMP8mr
14815957U, // CMP8ri
21107413U, // CMP8rm
14815957U, // CMP8rr
14815957U, // CMP8rr_REV
32867U, // CMPSB
37131U, // CMPSL
41775U, // CMPSQ
46214U, // CMPSW
49206U, // CMPXCHG16B
139757U, // CMPXCHG16rm
14815725U, // CMPXCHG16rr
147949U, // CMPXCHG32rm
14815725U, // CMPXCHG32rr
152045U, // CMPXCHG64rm
14815725U, // CMPXCHG64rr
20546U, // CMPXCHG8B
156141U, // CMPXCHG8rm
14815725U, // CMPXCHG8rr
2782U, // CPUID32
2782U, // CPUID64
3075U, // CQO
2829U, // CWD
2833U, // CWDE
2641U, // DAA
3183U, // DAS
2531U, // DATA16_PREFIX
8328U, // DEC16m
4232U, // DEC16r
4232U, // DEC32_16r
4232U, // DEC32_32r
16520U, // DEC32m
4232U, // DEC32r
8328U, // DEC64_16m
4232U, // DEC64_16r
16520U, // DEC64_32m
4232U, // DEC64_32r
20616U, // DEC64m
4232U, // DEC64r
24712U, // DEC8m
4232U, // DEC8r
9309U, // DIV16m
5213U, // DIV16r
17501U, // DIV32m
5213U, // DIV32r
21597U, // DIV64m
5213U, // DIV64r
25693U, // DIV8m
5213U, // DIV8r
5923U, // EH_RETURN
5923U, // EH_RETURN64
2354U, // EH_SjLj_LongJmp32
2444U, // EH_SjLj_LongJmp64
2373U, // EH_SjLj_SetJmp32
2463U, // EH_SjLj_SetJmp64
29450U, // EH_SjLj_Setup
14816085U, // ENTER
275025U, // FARCALL16i
53841U, // FARCALL16m
275025U, // FARCALL32i
53841U, // FARCALL32m
53841U, // FARCALL64
275162U, // FARJMP16i
53978U, // FARJMP16m
275162U, // FARJMP32i
53978U, // FARJMP32m
53978U, // FARJMP64
3037U, // FSETPM
2726U, // GETSEC
3347U, // HLT
9308U, // IDIV16m
5212U, // IDIV16r
17500U, // IDIV32m
5212U, // IDIV32r
21596U, // IDIV64m
5212U, // IDIV64r
25692U, // IDIV8m
5212U, // IDIV8r
8832U, // IMUL16m
4736U, // IMUL16r
4330112U, // IMUL16rm
891425408U, // IMUL16rmi
891425408U, // IMUL16rmi8
2232960U, // IMUL16rr
350360192U, // IMUL16rri
350360192U, // IMUL16rri8
17024U, // IMUL32m
4736U, // IMUL32r
6427264U, // IMUL32rm
885133952U, // IMUL32rmi
885133952U, // IMUL32rmi8
2232960U, // IMUL32rr
350360192U, // IMUL32rri
350360192U, // IMUL32rri8
21120U, // IMUL64m
4736U, // IMUL64r
8524416U, // IMUL64rm
889328256U, // IMUL64rmi32
889328256U, // IMUL64rmi8
2232960U, // IMUL64rr
350360192U, // IMUL64rri32
350360192U, // IMUL64rri8
25216U, // IMUL8m
4736U, // IMUL8r
5523U, // IN16ri
3544U, // IN16rr
5687U, // IN32ri
3554U, // IN32rr
5411U, // IN8ri
3534U, // IN8rr
8355U, // INC16m
4259U, // INC16r
4259U, // INC32_16r
4259U, // INC32_32r
16547U, // INC32m
4259U, // INC32r
8355U, // INC64_16m
4259U, // INC64_16r
16547U, // INC64_32m
4259U, // INC64_32r
20643U, // INC64m
4259U, // INC64r
24739U, // INC8m
4259U, // INC8r
450646U, // INSB
454910U, // INSL
459897U, // INSW
5158U, // INT
2349U, // INT1
2439U, // INT3
3079U, // INTO
2824U, // INVD
23204912U, // INVEPT32
23204912U, // INVEPT64
25082U, // INVLPG
3500U, // INVLPGA32
3517U, // INVLPGA64
23204040U, // INVPCID32
23204040U, // INVPCID64
23204049U, // INVVPID32
23204049U, // INVVPID64
3327U, // IRET16
2812U, // IRET32
3142U, // IRET64
2610U, // Int_MemBarrier
28961U, // JAE_1
28961U, // JAE_2
28961U, // JAE_4
28709U, // JA_1
28709U, // JA_2
28709U, // JA_4
28981U, // JBE_1
28981U, // JBE_2
28981U, // JBE_4
28754U, // JB_1
28754U, // JB_2
28754U, // JB_4
29907U, // JCXZ
29900U, // JECXZ_32
29900U, // JECXZ_64
29021U, // JE_1
29021U, // JE_2
29021U, // JE_4
29001U, // JGE_1
29001U, // JGE_2
29001U, // JGE_4
29174U, // JG_1
29174U, // JG_2
29174U, // JG_4
29025U, // JLE_1
29025U, // JLE_2
29025U, // JLE_4
29261U, // JL_1
29261U, // JL_2
29261U, // JL_4
8923U, // JMP16m
4827U, // JMP16r
17115U, // JMP32m
4827U, // JMP32r
21211U, // JMP64m
4827U, // JMP64r
29403U, // JMP_1
29403U, // JMP_2
29403U, // JMP_4
29045U, // JNE_1
29045U, // JNE_2
29045U, // JNE_4
29347U, // JNO_1
29347U, // JNO_2
29347U, // JNO_4
29408U, // JNP_1
29408U, // JNP_2
29408U, // JNP_4
29632U, // JNS_1
29632U, // JNS_2
29632U, // JNS_4
29343U, // JO_1
29343U, // JO_2
29343U, // JO_4
29393U, // JP_1
29393U, // JP_2
29393U, // JP_4
29913U, // JRCXZ
29628U, // JS_1
29628U, // JS_2
29628U, // JS_4
2909U, // LAHF
19010374U, // LAR16rm
14816070U, // LAR16rr
19010374U, // LAR32rm
14816070U, // LAR32rr
19010374U, // LAR64rm
14816070U, // LAR64rr
139757U, // LCMPXCHG16
49206U, // LCMPXCHG16B
147949U, // LCMPXCHG32
152045U, // LCMPXCHG64
156141U, // LCMPXCHG8
20546U, // LCMPXCHG8B
25301928U, // LDS16rm
25301928U, // LDS32rm
19009568U, // LEA16r
12718112U, // LEA32r
12718112U, // LEA64_32r
16912416U, // LEA64r
2896U, // LEAVE
2896U, // LEAVE64
25301933U, // LES16rm
25301933U, // LES32rm
25301938U, // LFS16rm
25301938U, // LFS32rm
25301938U, // LFS64rm
54255U, // LGDT16m
54255U, // LGDT32m
54255U, // LGDT64m
25301943U, // LGS16rm
25301943U, // LGS32rm
25301943U, // LGS64rm
54267U, // LIDT16m
54267U, // LIDT32m
54267U, // LIDT64m
9223U, // LLDT16m
5127U, // LLDT16r
9325U, // LMSW16m
5229U, // LMSW16r
139451U, // LOCK_ADD16mi
139451U, // LOCK_ADD16mi8
139451U, // LOCK_ADD16mr
147643U, // LOCK_ADD32mi
147643U, // LOCK_ADD32mi8
147643U, // LOCK_ADD32mr
151739U, // LOCK_ADD64mi32
151739U, // LOCK_ADD64mi8
151739U, // LOCK_ADD64mr
155835U, // LOCK_ADD8mi
155835U, // LOCK_ADD8mr
139500U, // LOCK_AND16mi
139500U, // LOCK_AND16mi8
139500U, // LOCK_AND16mr
147692U, // LOCK_AND32mi
147692U, // LOCK_AND32mi8
147692U, // LOCK_AND32mr
151788U, // LOCK_AND64mi32
151788U, // LOCK_AND64mi8
151788U, // LOCK_AND64mr
155884U, // LOCK_AND8mi
155884U, // LOCK_AND8mr
8328U, // LOCK_DEC16m
16520U, // LOCK_DEC32m
20616U, // LOCK_DEC64m
24712U, // LOCK_DEC8m
8355U, // LOCK_INC16m
16547U, // LOCK_INC32m
20643U, // LOCK_INC64m
24739U, // LOCK_INC8m
140130U, // LOCK_OR16mi
140130U, // LOCK_OR16mi8
140130U, // LOCK_OR16mr
148322U, // LOCK_OR32mi
148322U, // LOCK_OR32mi8
148322U, // LOCK_OR32mr
152418U, // LOCK_OR64mi32
152418U, // LOCK_OR64mi8
152418U, // LOCK_OR64mr
156514U, // LOCK_OR8mi
156514U, // LOCK_OR8mr
2977U, // LOCK_PREFIX
139383U, // LOCK_SUB16mi
139383U, // LOCK_SUB16mi8
139383U, // LOCK_SUB16mr
147575U, // LOCK_SUB32mi
147575U, // LOCK_SUB32mi8
147575U, // LOCK_SUB32mr
151671U, // LOCK_SUB64mi32
151671U, // LOCK_SUB64mi8
151671U, // LOCK_SUB64mr
155767U, // LOCK_SUB8mi
155767U, // LOCK_SUB8mr
140142U, // LOCK_XOR16mi
140142U, // LOCK_XOR16mi8
140142U, // LOCK_XOR16mr
148334U, // LOCK_XOR32mi
148334U, // LOCK_XOR32mi8
148334U, // LOCK_XOR32mr
152430U, // LOCK_XOR64mi32
152430U, // LOCK_XOR64mi8
152430U, // LOCK_XOR64mr
156526U, // LOCK_XOR8mi
156526U, // LOCK_XOR8mr
70900U, // LODSB
75296U, // LODSL
79561U, // LODSQ
83415U, // LODSW
29433U, // LOOP
29073U, // LOOPE
29050U, // LOOPNE
4578U, // LRETIL
4897U, // LRETIQ
4578U, // LRETIW
2930U, // LRETL
3116U, // LRETQ
2930U, // LRETW
19010165U, // LSL16rm
14815861U, // LSL16rr
12718709U, // LSL32rm
14815861U, // LSL32rr
16913013U, // LSL64rm
14815861U, // LSL64rr
25301972U, // LSS16rm
25301972U, // LSS32rm
25301972U, // LSS64rm
9097U, // LTRm
5001U, // LTRr
86202U, // LXADD16
90298U, // LXADD32
94394U, // LXADD64
98490U, // LXADD8
19010584U, // LZCNT16rm
14816280U, // LZCNT16rr
12719128U, // LZCNT32rm
14816280U, // LZCNT32rr
16913432U, // LZCNT64rm
14816280U, // LZCNT64rr
3029U, // MONTMUL
0U, // MORESTACK_RET
0U, // MORESTACK_RET_RESTORE_R10
627810U, // MOV16ao16
627810U, // MOV16ao16_16
140386U, // MOV16mi
140386U, // MOV16mr
140386U, // MOV16ms
103875U, // MOV16o16a
103875U, // MOV16o16a_16
14816354U, // MOV16ri
14816354U, // MOV16ri_alt
19010658U, // MOV16rm
14816354U, // MOV16rr
14816354U, // MOV16rr_REV
14816354U, // MOV16rs
19010658U, // MOV16sm
14816354U, // MOV16sr
762978U, // MOV32ao32
762978U, // MOV32ao32_16
14816354U, // MOV32cr
14816354U, // MOV32dr
148578U, // MOV32mi
148578U, // MOV32mr
140386U, // MOV32ms
108140U, // MOV32o32a
108140U, // MOV32o32a_16
0U, // MOV32r0
14816354U, // MOV32rc
14816354U, // MOV32rd
14816354U, // MOV32ri
0U, // MOV32ri64
14816354U, // MOV32ri_alt
12719202U, // MOV32rm
14816354U, // MOV32rr
14816354U, // MOV32rr_REV
14816354U, // MOV32rs
19010658U, // MOV32sm
14816354U, // MOV32sr
627610U, // MOV64ao16
762778U, // MOV64ao32
897946U, // MOV64ao64
1033114U, // MOV64ao8
14816354U, // MOV64cr
14816354U, // MOV64dr
152674U, // MOV64mi32
152674U, // MOV64mr
140386U, // MOV64ms
103853U, // MOV64o16a
108116U, // MOV64o32a
112351U, // MOV64o64a
116029U, // MOV64o8a
14816354U, // MOV64rc
14816354U, // MOV64rd
14816154U, // MOV64ri
14816354U, // MOV64ri32
16913506U, // MOV64rm
14816354U, // MOV64rr
14816354U, // MOV64rr_REV
14816354U, // MOV64rs
19010658U, // MOV64sm
14816354U, // MOV64sr
1033314U, // MOV8ao8
1033314U, // MOV8ao8_16
156770U, // MOV8mi
156770U, // MOV8mr
134374498U, // MOV8mr_NOREX
116051U, // MOV8o8a
116051U, // MOV8o8a_16
14816354U, // MOV8ri
14816354U, // MOV8ri_alt
21107810U, // MOV8rm
155325538U, // MOV8rm_NOREX
14816354U, // MOV8rr
149034082U, // MOV8rr_NOREX
14816354U, // MOV8rr_REV
139586U, // MOVBE16mr
19009858U, // MOVBE16rm
147778U, // MOVBE32mr
12718402U, // MOVBE32rm
151874U, // MOVBE64mr
16912706U, // MOVBE64rm
0U, // MOVPC32r
27451498U, // MOVSB
29552914U, // MOVSL
31707958U, // MOVSQ
33752205U, // MOVSW
21107902U, // MOVSX16rm8
14816446U, // MOVSX16rr8
19010750U, // MOVSX32rm16
21107902U, // MOVSX32rm8
14816446U, // MOVSX32rr16
14816446U, // MOVSX32rr8
14815513U, // MOVSX64_NOREXrr32
19010750U, // MOVSX64rm16
12718361U, // MOVSX64rm32
21107902U, // MOVSX64rm8
14816446U, // MOVSX64rr16
14815513U, // MOVSX64rr32
14816446U, // MOVSX64rr8
21107909U, // MOVZX16rm8
14816453U, // MOVZX16rr8
21107909U, // MOVZX32_NOREXrm8
14816453U, // MOVZX32_NOREXrr8
19010757U, // MOVZX32rm16
21107909U, // MOVZX32rm8
14816453U, // MOVZX32rr16
14816453U, // MOVZX32rr8
19010757U, // MOVZX64rm16_Q
21107909U, // MOVZX64rm8_Q
14816453U, // MOVZX64rr16_Q
14816453U, // MOVZX64rr8_Q
8833U, // MUL16m
4737U, // MUL16r
17025U, // MUL32m
4737U, // MUL32r
21121U, // MUL64m
4737U, // MUL64r
25217U, // MUL8m
4737U, // MUL8r
81925280U, // MULX32rm
350360736U, // MULX32rr
618796192U, // MULX64rm
350360736U, // MULX64rr
8680U, // NEG16m
4584U, // NEG16r
16872U, // NEG32m
4584U, // NEG32r
20968U, // NEG64m
4584U, // NEG64r
25064U, // NEG8m
4584U, // NEG8r
3095U, // NOOP
8948U, // NOOP18_16m4
8948U, // NOOP18_16m5
8948U, // NOOP18_16m6
8948U, // NOOP18_16m7
4852U, // NOOP18_16r4
4852U, // NOOP18_16r5
4852U, // NOOP18_16r6
4852U, // NOOP18_16r7
17140U, // NOOP18_m4
17140U, // NOOP18_m5
17140U, // NOOP18_m6
17140U, // NOOP18_m7
4852U, // NOOP18_r4
4852U, // NOOP18_r5
4852U, // NOOP18_r6
4852U, // NOOP18_r7
35795700U, // NOOP19rr
17140U, // NOOPL
17140U, // NOOPL_19
17140U, // NOOPL_1a
17140U, // NOOPL_1b
17140U, // NOOPL_1c
17140U, // NOOPL_1d
17140U, // NOOPL_1e
8948U, // NOOPW
8948U, // NOOPW_19
8948U, // NOOPW_1a
8948U, // NOOPW_1b
8948U, // NOOPW_1c
8948U, // NOOPW_1d
8948U, // NOOPW_1e
9259U, // NOT16m
5163U, // NOT16r
17451U, // NOT32m
5163U, // NOT32r
21547U, // NOT64m
5163U, // NOT64r
25643U, // NOT8m
5163U, // NOT8r
5541U, // OR16i16
140130U, // OR16mi
140130U, // OR16mi8
140130U, // OR16mr
2241378U, // OR16ri
2241378U, // OR16ri8
4338530U, // OR16rm
2241378U, // OR16rr
2233186U, // OR16rr_REV
5707U, // OR32i32
148322U, // OR32mi
148322U, // OR32mi8
148322U, // OR32mr
148322U, // OR32mrLocked
2241378U, // OR32ri
2241378U, // OR32ri8
6435682U, // OR32rm
2241378U, // OR32rr
2233186U, // OR32rr_REV
5846U, // OR64i32
152418U, // OR64mi32
152418U, // OR64mi8
152418U, // OR64mr
2241378U, // OR64ri32
2241378U, // OR64ri8
8532834U, // OR64rm
2241378U, // OR64rr
2233186U, // OR64rr_REV
5429U, // OR8i8
156514U, // OR8mi
156514U, // OR8mr
2241378U, // OR8ri
2241378U, // OR8ri8
10629986U, // OR8rm
2241378U, // OR8rr
2233186U, // OR8rr_REV
529489U, // OUT16ir
3402U, // OUT16rr
660561U, // OUT32ir
3456U, // OUT32rr
922705U, // OUT8ir
2982U, // OUT8rr
71415U, // OUTSB
75522U, // OUTSL
83725U, // OUTSW
81924811U, // PDEP32rm
350360267U, // PDEP32rr
618795723U, // PDEP64rm
350360267U, // PDEP64rr
81925206U, // PEXT32rm
350360662U, // PEXT32rr
618796118U, // PEXT64rm
350360662U, // PEXT64rr
4863U, // POP16r
8959U, // POP16rmm
4863U, // POP16rmr
4863U, // POP32r
17151U, // POP32rmm
4863U, // POP32rmr
4863U, // POP64r
21247U, // POP64rmm
4863U, // POP64rmr
3372U, // POPA16
3000U, // POPA32
3203U, // POPDS16
3203U, // POPDS32
3218U, // POPES16
3218U, // POPES32
2925U, // POPF16
2776U, // POPF32
3110U, // POPF64
3233U, // POPFS16
3233U, // POPFS32
3233U, // POPFS64
3248U, // POPGS16
3248U, // POPGS32
3248U, // POPGS64
3315U, // POPSS16
3315U, // POPSS32
4623U, // PUSH16i8
4623U, // PUSH16r
8719U, // PUSH16rmm
4623U, // PUSH16rmr
4623U, // PUSH32i8
4623U, // PUSH32r
16911U, // PUSH32rmm
4623U, // PUSH32rmr
4623U, // PUSH64i16
4623U, // PUSH64i32
4623U, // PUSH64i8
4623U, // PUSH64r
21007U, // PUSH64rmm
4623U, // PUSH64rmr
3365U, // PUSHA16
2993U, // PUSHA32
3187U, // PUSHCS16
3187U, // PUSHCS32
3195U, // PUSHDS16
3195U, // PUSHDS32
3210U, // PUSHES16
3210U, // PUSHES32
2919U, // PUSHF16
2769U, // PUSHF32
3103U, // PUSHF64
3225U, // PUSHFS16
3225U, // PUSHFS32
3225U, // PUSHFS64
3240U, // PUSHGS16
3240U, // PUSHGS32
3240U, // PUSHGS64
3307U, // PUSHSS16
3307U, // PUSHSS32
4623U, // PUSHi16
4623U, // PUSHi32
1057347U, // RCL16m1
1188419U, // RCL16mCL
139843U, // RCL16mi
1053251U, // RCL16r1
1184323U, // RCL16rCL
2232899U, // RCL16ri
1065539U, // RCL32m1
1196611U, // RCL32mCL
148035U, // RCL32mi
1053251U, // RCL32r1
1184323U, // RCL32rCL
2232899U, // RCL32ri
1069635U, // RCL64m1
1200707U, // RCL64mCL
152131U, // RCL64mi
1053251U, // RCL64r1
1184323U, // RCL64rCL
2232899U, // RCL64ri
1073731U, // RCL8m1
1204803U, // RCL8mCL
156227U, // RCL8mi
1053251U, // RCL8r1
1184323U, // RCL8rCL
2232899U, // RCL8ri
1057616U, // RCR16m1
1188688U, // RCR16mCL
140112U, // RCR16mi
1053520U, // RCR16r1
1184592U, // RCR16rCL
2233168U, // RCR16ri
1065808U, // RCR32m1
1196880U, // RCR32mCL
148304U, // RCR32mi
1053520U, // RCR32r1
1184592U, // RCR32rCL
2233168U, // RCR32ri
1069904U, // RCR64m1
1200976U, // RCR64mCL
152400U, // RCR64mi
1053520U, // RCR64r1
1184592U, // RCR64rCL
2233168U, // RCR64ri
1074000U, // RCR8m1
1205072U, // RCR8mCL
156496U, // RCR8mi
1053520U, // RCR8r1
1184592U, // RCR8rCL
2233168U, // RCR8ri
4504U, // RDFSBASE
4504U, // RDFSBASE64
4524U, // RDGSBASE
4524U, // RDGSBASE64
3157U, // RDMSR
2746U, // RDPMC
4329U, // RDRAND16r
4329U, // RDRAND32r
4329U, // RDRAND64r
4288U, // RDSEED16r
4288U, // RDSEED32r
4288U, // RDSEED64r
2759U, // RDTSC
3084U, // RDTSCP
2322U, // RELEASE_MOV16mr
2322U, // RELEASE_MOV32mr
2322U, // RELEASE_MOV64mr
2322U, // RELEASE_MOV8mr
2847U, // REPNE_PREFIX
2690U, // REP_MOVSB_32
2690U, // REP_MOVSB_64
2802U, // REP_MOVSD_32
2802U, // REP_MOVSD_64
3132U, // REP_MOVSQ_64
3392U, // REP_MOVSW_32
3392U, // REP_MOVSW_64
3091U, // REP_PREFIX
2680U, // REP_STOSB_32
2680U, // REP_STOSB_64
2792U, // REP_STOSD_32
2792U, // REP_STOSD_64
3122U, // REP_STOSQ_64
3382U, // REP_STOSW_32
3382U, // REP_STOSW_64
5139U, // RETIL
5139U, // RETIQ
5139U, // RETIW
3328U, // RETL
3328U, // RETQ
3328U, // RETW
2525U, // REX64_PREFIX
1057386U, // ROL16m1
1188458U, // ROL16mCL
139882U, // ROL16mi
1053290U, // ROL16r1
1184362U, // ROL16rCL
2232938U, // ROL16ri
1065578U, // ROL32m1
1196650U, // ROL32mCL
148074U, // ROL32mi
1053290U, // ROL32r1
1184362U, // ROL32rCL
2232938U, // ROL32ri
1069674U, // ROL64m1
1200746U, // ROL64mCL
152170U, // ROL64mi
1053290U, // ROL64r1
1184362U, // ROL64rCL
2232938U, // ROL64ri
1073770U, // ROL8m1
1204842U, // ROL8mCL
156266U, // ROL8mi
1053290U, // ROL8r1
1184362U, // ROL8rCL
2232938U, // ROL8ri
1057633U, // ROR16m1
1188705U, // ROR16mCL
140129U, // ROR16mi
1053537U, // ROR16r1
1184609U, // ROR16rCL
2233185U, // ROR16ri
1065825U, // ROR32m1
1196897U, // ROR32mCL
148321U, // ROR32mi
1053537U, // ROR32r1
1184609U, // ROR32rCL
2233185U, // ROR32ri
1069921U, // ROR64m1
1200993U, // ROR64mCL
152417U, // ROR64mi
1053537U, // ROR64r1
1184609U, // ROR64rCL
2233185U, // ROR64ri
1074017U, // ROR8m1
1205089U, // ROR8mCL
156513U, // ROR8mi
1053537U, // ROR8r1
1184609U, // ROR8rCL
2233185U, // ROR8ri
885134520U, // RORX32mi
350360760U, // RORX32ri
889328824U, // RORX64mi
350360760U, // RORX64ri
3044U, // RSM
2914U, // SAHF
1057342U, // SAL16m1
1188414U, // SAL16mCL
139838U, // SAL16mi
1053246U, // SAL16r1
1184318U, // SAL16rCL
2232894U, // SAL16ri
1065534U, // SAL32m1
1196606U, // SAL32mCL
148030U, // SAL32mi
1053246U, // SAL32r1
1184318U, // SAL32rCL
2232894U, // SAL32ri
1069630U, // SAL64m1
1200702U, // SAL64mCL
152126U, // SAL64mi
1053246U, // SAL64r1
1184318U, // SAL64rCL
2232894U, // SAL64ri
1073726U, // SAL8m1
1204798U, // SAL8mCL
156222U, // SAL8mi
1053246U, // SAL8r1
1184318U, // SAL8rCL
2232894U, // SAL8ri
2733U, // SALC
1057611U, // SAR16m1
1188683U, // SAR16mCL
140107U, // SAR16mi
1053515U, // SAR16r1
1184587U, // SAR16rCL
2233163U, // SAR16ri
1065803U, // SAR32m1
1196875U, // SAR32mCL
148299U, // SAR32mi
1053515U, // SAR32r1
1184587U, // SAR32rCL
2233163U, // SAR32ri
1069899U, // SAR64m1
1200971U, // SAR64mCL
152395U, // SAR64mi
1053515U, // SAR64r1
1184587U, // SAR64rCL
2233163U, // SAR64ri
1073995U, // SAR8m1
1205067U, // SAR8mCL
156491U, // SAR8mi
1053515U, // SAR8r1
1184587U, // SAR8rCL
2233163U, // SAR8ri
885134508U, // SARX32rm
350360748U, // SARX32rr
889328812U, // SARX64rm
350360748U, // SARX64rr
5468U, // SBB16i16
139341U, // SBB16mi
139341U, // SBB16mi8
139341U, // SBB16mr
2240589U, // SBB16ri
2240589U, // SBB16ri8
4337741U, // SBB16rm
2240589U, // SBB16rr
2232397U, // SBB16rr_REV
5602U, // SBB32i32
147533U, // SBB32mi
147533U, // SBB32mi8
147533U, // SBB32mr
2240589U, // SBB32ri
2240589U, // SBB32ri8
6434893U, // SBB32rm
2240589U, // SBB32rr
2232397U, // SBB32rr_REV
5750U, // SBB64i32
151629U, // SBB64mi32
151629U, // SBB64mi8
151629U, // SBB64mr
2240589U, // SBB64ri32
2240589U, // SBB64ri8
8532045U, // SBB64rm
2240589U, // SBB64rr
2232397U, // SBB64rr_REV
5344U, // SBB8i8
155725U, // SBB8mi
155725U, // SBB8mr
2240589U, // SBB8ri
10629197U, // SBB8rm
2240589U, // SBB8rr
2232397U, // SBB8rr_REV
58601U, // SCASB
62996U, // SCASL
120509U, // SCASQ
67020U, // SCASW
3262U, // SEG_ALLOCA_32
3262U, // SEG_ALLOCA_64
2879U, // SEH_EndPrologue
2865U, // SEH_Epilogue
6001U, // SEH_PushFrame
6046U, // SEH_PushReg
14817168U, // SEH_SaveReg
14817082U, // SEH_SaveXMM
14817153U, // SEH_SetFrame
5984U, // SEH_StackAlloc
24870U, // SETAEm
4390U, // SETAEr
24617U, // SETAm
4137U, // SETAr
24890U, // SETBEm
4410U, // SETBEr
0U, // SETB_C16r
0U, // SETB_C32r
0U, // SETB_C64r
0U, // SETB_C8r
24689U, // SETBm
4209U, // SETBr
25024U, // SETEm
4544U, // SETEr
24910U, // SETGEm
4430U, // SETGEr
25090U, // SETGm
4610U, // SETGr
24934U, // SETLEm
4454U, // SETLEr
25210U, // SETLm
4730U, // SETLr
24962U, // SETNEm
4482U, // SETNEr
25256U, // SETNOm
4776U, // SETNOr
25317U, // SETNPm
4837U, // SETNPr
25541U, // SETNSm
5061U, // SETNSr
25271U, // SETOm
4791U, // SETOr
25348U, // SETPm
4868U, // SETPr
25566U, // SETSm
5086U, // SETSr
54261U, // SGDT16m
54261U, // SGDT32m
54261U, // SGDT64m
1057352U, // SHL16m1
1188424U, // SHL16mCL
139848U, // SHL16mi
1053256U, // SHL16r1
1184328U, // SHL16rCL
2232904U, // SHL16ri
1065544U, // SHL32m1
1196616U, // SHL32mCL
148040U, // SHL32mi
1053256U, // SHL32r1
1184328U, // SHL32rCL
2232904U, // SHL32ri
1069640U, // SHL64m1
1200712U, // SHL64mCL
152136U, // SHL64mi
1053256U, // SHL64r1
1184328U, // SHL64rCL
2232904U, // SHL64ri
1073736U, // SHL8m1
1204808U, // SHL8mCL
156232U, // SHL8mi
1053256U, // SHL8r1
1184328U, // SHL8rCL
2232904U, // SHL8ri
201466074U, // SHLD16mrCL
872554714U, // SHLD16mri8
203559130U, // SHLD16rrCL
1143083226U, // SHLD16rri8
201474266U, // SHLD32mrCL
872562906U, // SHLD32mri8
203559130U, // SHLD32rrCL
1143083226U, // SHLD32rri8
201478362U, // SHLD64mrCL
872567002U, // SHLD64mri8
203559130U, // SHLD64rrCL
1143083226U, // SHLD64rri8
885134490U, // SHLX32rm
350360730U, // SHLX32rr
889328794U, // SHLX64rm
350360730U, // SHLX64rr
1057628U, // SHR16m1
1188700U, // SHR16mCL
140124U, // SHR16mi
1053532U, // SHR16r1
1184604U, // SHR16rCL
2233180U, // SHR16ri
1065820U, // SHR32m1
1196892U, // SHR32mCL
148316U, // SHR32mi
1053532U, // SHR32r1
1184604U, // SHR32rCL
2233180U, // SHR32ri
1069916U, // SHR64m1
1200988U, // SHR64mCL
152412U, // SHR64mi
1053532U, // SHR64r1
1184604U, // SHR64rCL
2233180U, // SHR64ri
1074012U, // SHR8m1
1205084U, // SHR8mCL
156508U, // SHR8mi
1053532U, // SHR8r1
1184604U, // SHR8rCL
2233180U, // SHR8ri
201466104U, // SHRD16mrCL
872554744U, // SHRD16mri8
203559160U, // SHRD16rrCL
1143083256U, // SHRD16rri8
201474296U, // SHRD32mrCL
872562936U, // SHRD32mri8
203559160U, // SHRD32rrCL
1143083256U, // SHRD32rri8
201478392U, // SHRD64mrCL
872567032U, // SHRD64mri8
203559160U, // SHRD64rrCL
1143083256U, // SHRD64rri8
885134514U, // SHRX32rm
350360754U, // SHRX32rr
889328818U, // SHRX64rm
350360754U, // SHRX64rr
54273U, // SIDT16m
54273U, // SIDT32m
54273U, // SIDT64m
3445U, // SKINIT
9229U, // SLDT16m
5133U, // SLDT16r
5133U, // SLDT32r
9229U, // SLDT64m
5133U, // SLDT64r
9331U, // SMSW16m
5235U, // SMSW16r
5235U, // SMSW32r
5235U, // SMSW64r
2711U, // STAC
2765U, // STC
2818U, // STD
2949U, // STGI
2958U, // STI
974940U, // STOSB
717060U, // STOSL
906024U, // STOSQ
590975U, // STOSW
5006U, // STR16r
5006U, // STR32r
5006U, // STR64r
9102U, // STRm
5477U, // SUB16i16
139383U, // SUB16mi
139383U, // SUB16mi8
139383U, // SUB16mr
2240631U, // SUB16ri
2240631U, // SUB16ri8
4337783U, // SUB16rm
2240631U, // SUB16rr
2232439U, // SUB16rr_REV
5612U, // SUB32i32
147575U, // SUB32mi
147575U, // SUB32mi8
147575U, // SUB32mr
2240631U, // SUB32ri
2240631U, // SUB32ri8
6434935U, // SUB32rm
2240631U, // SUB32rr
2232439U, // SUB32rr_REV
5760U, // SUB64i32
151671U, // SUB64mi32
151671U, // SUB64mi8
151671U, // SUB64mr
2240631U, // SUB64ri32
2240631U, // SUB64ri8
8532087U, // SUB64rm
2240631U, // SUB64rr
2232439U, // SUB64rr_REV
5375U, // SUB8i8
155767U, // SUB8mi
155767U, // SUB8mr
2240631U, // SUB8ri
2240631U, // SUB8ri8
10629239U, // SUB8rm
2240631U, // SUB8rr
2232439U, // SUB8rr_REV
3255U, // SWAPGS
3021U, // SYSCALL
3148U, // SYSENTER
3339U, // SYSEXIT
3339U, // SYSEXIT64
3332U, // SYSRET
3332U, // SYSRET64
12718235U, // T1MSKC32rm
14815387U, // T1MSKC32rr
16912539U, // T1MSKC64rm
14815387U, // T1MSKC64rr
1340123U, // TAILJMPd
1340123U, // TAILJMPd64
1327835U, // TAILJMPm
1331931U, // TAILJMPm64
0U, // TAILJMPr
1315547U, // TAILJMPr64
0U, // TCRETURNdi
0U, // TCRETURNdi64
0U, // TCRETURNmi
0U, // TCRETURNmi64
0U, // TCRETURNri
0U, // TCRETURNri64
5561U, // TEST16i16
140354U, // TEST16mi
140354U, // TEST16mi_alt
14816322U, // TEST16ri
14816322U, // TEST16ri_alt
140354U, // TEST16rm
14816322U, // TEST16rr
5729U, // TEST32i32
148546U, // TEST32mi
148546U, // TEST32mi_alt
14816322U, // TEST32ri
14816322U, // TEST32ri_alt
148546U, // TEST32rm
14816322U, // TEST32rr
5868U, // TEST64i32
152642U, // TEST64mi32
152642U, // TEST64mi32_alt
14816322U, // TEST64ri32
14816322U, // TEST64ri32_alt
152642U, // TEST64rm
14816322U, // TEST64rr
5449U, // TEST8i8
156738U, // TEST8mi
156738U, // TEST8mi_alt
14816322U, // TEST8ri
0U, // TEST8ri_NOREX
14816322U, // TEST8ri_alt
156738U, // TEST8rm
14816322U, // TEST8rr
2391U, // TLSCall_32
2481U, // TLSCall_64
2404U, // TLS_addr32
2494U, // TLS_addr64
2417U, // TLS_base_addr32
2507U, // TLS_base_addr64
2435U, // TRAP
19010591U, // TZCNT16rm
14816287U, // TZCNT16rr
12719135U, // TZCNT32rm
14816287U, // TZCNT32rr
16913439U, // TZCNT64rm
14816287U, // TZCNT64rr
12718647U, // TZMSK32rm
14815799U, // TZMSK32rr
16912951U, // TZMSK64rm
14815799U, // TZMSK64rr
2645U, // UD2B
3041007384U, // VAARG_64
350361416U, // VASTART_SAVE_XMM_REGS
9075U, // VERRm
4979U, // VERRr
9319U, // VERWm
5223U, // VERWr
3014U, // VMCALL
21309U, // VMCLEARm
2752U, // VMFUNC
2935U, // VMLAUNCH
3413U, // VMLOAD32
3468U, // VMLOAD64
3006U, // VMMCALL
20704U, // VMPTRLDm
21576U, // VMPTRSTm
147634U, // VMREAD32rm
14815410U, // VMREAD32rr
151730U, // VMREAD64rm
14815410U, // VMREAD64rr
2838U, // VMRESUME
3435U, // VMRUN32
3490U, // VMRUN64
3424U, // VMSAVE32
3479U, // VMSAVE64
12718534U, // VMWRITE32rm
14815686U, // VMWRITE32rr
16912838U, // VMWRITE64rm
14815686U, // VMWRITE64rr
2902U, // VMXOFF
21144U, // VMXON
29266U, // W64ALLOCA
2822U, // WBINVD
3048U, // WIN_ALLOCA
2962U, // WIN_FTOL_32
2962U, // WIN_FTOL_64
4514U, // WRFSBASE
4514U, // WRFSBASE64
4534U, // WRGSBASE
4534U, // WRGSBASE64
3163U, // WRMSR
139450U, // XADD16rm
14815418U, // XADD16rr
147642U, // XADD32rm
14815418U, // XADD32rr
151738U, // XADD64rm
14815418U, // XADD64rr
155834U, // XADD8rm
14815418U, // XADD8rr
5513U, // XCHG16ar
86512U, // XCHG16rm
123376U, // XCHG16rr
5676U, // XCHG32ar
5676U, // XCHG32ar64
90608U, // XCHG32rm
123376U, // XCHG32rr
5800U, // XCHG64ar
94704U, // XCHG64rm
123376U, // XCHG64rr
98800U, // XCHG8rm
123376U, // XCHG8rr
2716U, // XCRYPTCBC
2660U, // XCRYPTCFB
3169U, // XCRYPTCTR
2650U, // XCRYPTECB
2670U, // XCRYPTOFB
3351U, // XGETBV
2700U, // XLAT
5540U, // XOR16i16
140142U, // XOR16mi
140142U, // XOR16mi8
140142U, // XOR16mr
2241390U, // XOR16ri
2241390U, // XOR16ri8
4338542U, // XOR16rm
2241390U, // XOR16rr
2233198U, // XOR16rr_REV
5706U, // XOR32i32
148334U, // XOR32mi
148334U, // XOR32mi8
148334U, // XOR32mr
2241390U, // XOR32ri
2241390U, // XOR32ri8
6435694U, // XOR32rm
2241390U, // XOR32rr
2233198U, // XOR32rr_REV
5845U, // XOR64i32
152430U, // XOR64mi32
152430U, // XOR64mi8
152430U, // XOR64mr
2241390U, // XOR64ri32
2241390U, // XOR64ri8
8532846U, // XOR64rm
2241390U, // XOR64rr
2233198U, // XOR64rr_REV
5428U, // XOR8i8
156526U, // XOR8mi
156526U, // XOR8mr
2241390U, // XOR8ri
2241390U, // XOR8ri8
10629998U, // XOR8rm
2241390U, // XOR8rr
2233198U, // XOR8rr_REV
54118U, // XRSTOR
53258U, // XRSTOR64
53711U, // XSAVE
53249U, // XSAVE64
54328U, // XSAVEOPT
53268U, // XSAVEOPT64
3358U, // XSETBV
2343U, // XSHA1
2538U, // XSHA256
2858U, // XSTORE
0U
};
#ifndef CAPSTONE_DIET
static char AsmStrs[] = {
/* 0 */ 'x', 's', 'a', 'v', 'e', '6', '4', 9, 0,
/* 9 */ 'x', 'r', 's', 't', 'o', 'r', '6', '4', 9, 0,
/* 19 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', '6', '4', 9, 0,
/* 31 */ 'l', 'e', 'a', 9, 0,
/* 36 */ 'j', 'a', 9, 0,
/* 40 */ 's', 'e', 't', 'a', 9, 0,
/* 46 */ 'c', 'm', 'o', 'v', 'a', 9, 0,
/* 53 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '1', '6', 'b', 9, 0,
/* 65 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '8', 'b', 9, 0,
/* 76 */ 's', 'b', 'b', 9, 0,
/* 81 */ 'j', 'b', 9, 0,
/* 85 */ 'i', 'n', 's', 'b', 9, 0,
/* 91 */ 's', 't', 'o', 's', 'b', 9, 0,
/* 98 */ 'c', 'm', 'p', 's', 'b', 9, 0,
/* 105 */ 'm', 'o', 'v', 's', 'b', 9, 0,
/* 112 */ 's', 'e', 't', 'b', 9, 0,
/* 118 */ 's', 'u', 'b', 9, 0,
/* 123 */ 'c', 'm', 'o', 'v', 'b', 9, 0,
/* 130 */ 'a', 'd', 'c', 9, 0,
/* 135 */ 'd', 'e', 'c', 9, 0,
/* 140 */ 'b', 'l', 'c', 'i', 'c', 9, 0,
/* 147 */ 'b', 'l', 's', 'i', 'c', 9, 0,
/* 154 */ 't', '1', 'm', 's', 'k', 'c', 9, 0,
/* 162 */ 'i', 'n', 'c', 9, 0,
/* 167 */ 'b', 't', 'c', 9, 0,
/* 172 */ 'a', 'a', 'd', 9, 0,
/* 177 */ 'v', 'm', 'r', 'e', 'a', 'd', 9, 0,
/* 185 */ 'x', 'a', 'd', 'd', 9, 0,
/* 191 */ 'r', 'd', 's', 'e', 'e', 'd', 9, 0,
/* 199 */ 'i', 'n', 'v', 'p', 'c', 'i', 'd', 9, 0,
/* 208 */ 'i', 'n', 'v', 'v', 'p', 'i', 'd', 9, 0,
/* 217 */ 's', 'h', 'l', 'd', 9, 0,
/* 223 */ 'v', 'm', 'p', 't', 'r', 'l', 'd', 9, 0,
/* 232 */ 'r', 'd', 'r', 'a', 'n', 'd', 9, 0,
/* 240 */ 'b', 'o', 'u', 'n', 'd', 9, 0,
/* 247 */ 's', 'h', 'r', 'd', 9, 0,
/* 253 */ 'i', 'n', 's', 'd', 9, 0,
/* 259 */ 's', 't', 'o', 's', 'd', 9, 0,
/* 266 */ 'c', 'm', 'p', 's', 'd', 9, 0,
/* 273 */ 'm', 'o', 'v', 's', 'd', 9, 0,
/* 280 */ 'm', 'o', 'v', 's', 'x', 'd', 9, 0,
/* 288 */ 'j', 'a', 'e', 9, 0,
/* 293 */ 's', 'e', 't', 'a', 'e', 9, 0,
/* 300 */ 'c', 'm', 'o', 'v', 'a', 'e', 9, 0,
/* 308 */ 'j', 'b', 'e', 9, 0,
/* 313 */ 's', 'e', 't', 'b', 'e', 9, 0,
/* 320 */ 'c', 'm', 'o', 'v', 'b', 'e', 9, 0,
/* 328 */ 'j', 'g', 'e', 9, 0,
/* 333 */ 's', 'e', 't', 'g', 'e', 9, 0,
/* 340 */ 'c', 'm', 'o', 'v', 'g', 'e', 9, 0,
/* 348 */ 'j', 'e', 9, 0,
/* 352 */ 'j', 'l', 'e', 9, 0,
/* 357 */ 's', 'e', 't', 'l', 'e', 9, 0,
/* 364 */ 'c', 'm', 'o', 'v', 'l', 'e', 9, 0,
/* 372 */ 'j', 'n', 'e', 9, 0,
/* 377 */ 'l', 'o', 'o', 'p', 'n', 'e', 9, 0,
/* 385 */ 's', 'e', 't', 'n', 'e', 9, 0,
/* 392 */ 'c', 'm', 'o', 'v', 'n', 'e', 9, 0,
/* 400 */ 'l', 'o', 'o', 'p', 'e', 9, 0,
/* 407 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 9, 0,
/* 417 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 9, 0,
/* 427 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 9, 0,
/* 437 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 9, 0,
/* 447 */ 's', 'e', 't', 'e', 9, 0,
/* 453 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 9, 0,
/* 462 */ 'x', 's', 'a', 'v', 'e', 9, 0,
/* 469 */ 'c', 'm', 'o', 'v', 'e', 9, 0,
/* 476 */ 'b', 's', 'f', 9, 0,
/* 481 */ 'r', 'e', 't', 'f', 9, 0,
/* 487 */ 'n', 'e', 'g', 9, 0,
/* 492 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 9, 0,
/* 501 */ 'j', 'g', 9, 0,
/* 505 */ 'i', 'n', 'v', 'l', 'p', 'g', 9, 0,
/* 513 */ 's', 'e', 't', 'g', 9, 0,
/* 519 */ 'c', 'm', 'o', 'v', 'g', 9, 0,
/* 526 */ 'p', 'u', 's', 'h', 9, 0,
/* 532 */ 'b', 'l', 'c', 'i', 9, 0,
/* 538 */ 'b', 'z', 'h', 'i', 9, 0,
/* 544 */ 'b', 'l', 's', 'i', 9, 0,
/* 550 */ 'b', 'l', 'c', 'm', 's', 'k', 9, 0,
/* 558 */ 'b', 'l', 's', 'm', 's', 'k', 9, 0,
/* 566 */ 't', 'z', 'm', 's', 'k', 9, 0,
/* 573 */ 's', 'a', 'l', 9, 0,
/* 578 */ 'r', 'c', 'l', 9, 0,
/* 583 */ 's', 'h', 'l', 9, 0,
/* 588 */ 'j', 'l', 9, 0,
/* 592 */ 'l', 'c', 'a', 'l', 'l', 9, 0,
/* 599 */ 'b', 'l', 'c', 'f', 'i', 'l', 'l', 9, 0,
/* 608 */ 'b', 'l', 's', 'f', 'i', 'l', 'l', 9, 0,
/* 617 */ 'r', 'o', 'l', 9, 0,
/* 622 */ 'a', 'r', 'p', 'l', 9, 0,
/* 628 */ 'l', 's', 'l', 9, 0,
/* 633 */ 's', 'e', 't', 'l', 9, 0,
/* 639 */ 'i', 'm', 'u', 'l', 9, 0,
/* 645 */ 'c', 'm', 'o', 'v', 'l', 9, 0,
/* 652 */ 'a', 'a', 'm', 9, 0,
/* 657 */ 'a', 'n', 'd', 'n', 9, 0,
/* 663 */ 'v', 'm', 'x', 'o', 'n', 9, 0,
/* 670 */ 'j', 'o', 9, 0,
/* 674 */ 'j', 'n', 'o', 9, 0,
/* 679 */ 's', 'e', 't', 'n', 'o', 9, 0,
/* 686 */ 'c', 'm', 'o', 'v', 'n', 'o', 9, 0,
/* 694 */ 's', 'e', 't', 'o', 9, 0,
/* 700 */ 'c', 'm', 'o', 'v', 'o', 9, 0,
/* 707 */ 'b', 's', 'w', 'a', 'p', 9, 0,
/* 714 */ 'p', 'd', 'e', 'p', 9, 0,
/* 720 */ 'j', 'p', 9, 0,
/* 724 */ 'c', 'm', 'p', 9, 0,
/* 729 */ 'l', 'j', 'm', 'p', 9, 0,
/* 735 */ 'j', 'n', 'p', 9, 0,
/* 740 */ 's', 'e', 't', 'n', 'p', 9, 0,
/* 747 */ 'c', 'm', 'o', 'v', 'n', 'p', 9, 0,
/* 755 */ 'n', 'o', 'p', 9, 0,
/* 760 */ 'l', 'o', 'o', 'p', 9, 0,
/* 766 */ 'p', 'o', 'p', 9, 0,
/* 771 */ 's', 'e', 't', 'p', 9, 0,
/* 777 */ '#', 'E', 'H', '_', 'S', 'j', 'L', 'j', '_', 'S', 'e', 't', 'u', 'p', 9, 0,
/* 793 */ 'c', 'm', 'o', 'v', 'p', 9, 0,
/* 800 */ 'r', 'e', 't', 'f', 'q', 9, 0,
/* 807 */ 's', 't', 'o', 's', 'q', 9, 0,
/* 814 */ 'c', 'm', 'p', 's', 'q', 9, 0,
/* 821 */ 'm', 'o', 'v', 's', 'q', 9, 0,
/* 828 */ 'v', 'm', 'c', 'l', 'e', 'a', 'r', 9, 0,
/* 837 */ 'l', 'a', 'r', 9, 0,
/* 842 */ 's', 'a', 'r', 9, 0,
/* 847 */ 'r', 'c', 'r', 9, 0,
/* 852 */ 'e', 'n', 't', 'e', 'r', 9, 0,
/* 859 */ 's', 'h', 'r', 9, 0,
/* 864 */ 'r', 'o', 'r', 9, 0,
/* 869 */ 'x', 'r', 's', 't', 'o', 'r', 9, 0,
/* 877 */ 'x', 'o', 'r', 9, 0,
/* 882 */ 'v', 'e', 'r', 'r', 9, 0,
/* 888 */ 'b', 's', 'r', 9, 0,
/* 893 */ 'b', 'l', 's', 'r', 9, 0,
/* 899 */ 'b', 't', 'r', 9, 0,
/* 904 */ 'l', 't', 'r', 9, 0,
/* 909 */ 's', 't', 'r', 9, 0,
/* 914 */ 'b', 'e', 'x', 't', 'r', 9, 0,
/* 921 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 0,
/* 929 */ 'b', 'l', 'c', 's', 9, 0,
/* 935 */ 'l', 'd', 's', 9, 0,
/* 940 */ 'l', 'e', 's', 9, 0,
/* 945 */ 'l', 'f', 's', 9, 0,
/* 950 */ 'l', 'g', 's', 9, 0,
/* 955 */ 'j', 's', 9, 0,
/* 959 */ 'j', 'n', 's', 9, 0,
/* 964 */ 's', 'e', 't', 'n', 's', 9, 0,
/* 971 */ 'c', 'm', 'o', 'v', 'n', 's', 9, 0,
/* 979 */ 'l', 's', 's', 9, 0,
/* 984 */ 'b', 't', 's', 9, 0,
/* 989 */ 's', 'e', 't', 's', 9, 0,
/* 995 */ 'c', 'm', 'o', 'v', 's', 9, 0,
/* 1002 */ 'b', 't', 9, 0,
/* 1006 */ 'l', 'g', 'd', 't', 9, 0,
/* 1012 */ 's', 'g', 'd', 't', 9, 0,
/* 1018 */ 'l', 'i', 'd', 't', 9, 0,
/* 1024 */ 's', 'i', 'd', 't', 9, 0,
/* 1030 */ 'l', 'l', 'd', 't', 9, 0,
/* 1036 */ 's', 'l', 'd', 't', 9, 0,
/* 1042 */ 'r', 'e', 't', 9, 0,
/* 1047 */ 'l', 'z', 'c', 'n', 't', 9, 0,
/* 1054 */ 't', 'z', 'c', 'n', 't', 9, 0,
/* 1061 */ 'i', 'n', 't', 9, 0,
/* 1066 */ 'n', 'o', 't', 9, 0,
/* 1071 */ 'i', 'n', 'v', 'e', 'p', 't', 9, 0,
/* 1079 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 9, 0,
/* 1089 */ 't', 'e', 's', 't', 9, 0,
/* 1095 */ 'v', 'm', 'p', 't', 'r', 's', 't', 9, 0,
/* 1104 */ 'o', 'u', 't', 9, 0,
/* 1109 */ 'p', 'e', 'x', 't', 9, 0,
/* 1115 */ 'i', 'd', 'i', 'v', 9, 0,
/* 1121 */ 'm', 'o', 'v', 9, 0,
/* 1126 */ 'v', 'e', 'r', 'w', 9, 0,
/* 1132 */ 'l', 'm', 's', 'w', 9, 0,
/* 1138 */ 's', 'm', 's', 'w', 9, 0,
/* 1144 */ 'i', 'n', 's', 'w', 9, 0,
/* 1150 */ 's', 't', 'o', 's', 'w', 9, 0,
/* 1157 */ 'c', 'm', 'p', 's', 'w', 9, 0,
/* 1164 */ 'm', 'o', 'v', 's', 'w', 9, 0,
/* 1171 */ 'a', 'd', 'c', 'x', 9, 0,
/* 1177 */ 's', 'h', 'l', 'x', 9, 0,
/* 1183 */ 'm', 'u', 'l', 'x', 9, 0,
/* 1189 */ 'a', 'd', 'o', 'x', 9, 0,
/* 1195 */ 's', 'a', 'r', 'x', 9, 0,
/* 1201 */ 's', 'h', 'r', 'x', 9, 0,
/* 1207 */ 'r', 'o', 'r', 'x', 9, 0,
/* 1213 */ 'm', 'o', 'v', 's', 'x', 9, 0,
/* 1220 */ 'm', 'o', 'v', 'z', 'x', 9, 0,
/* 1227 */ 'j', 'e', 'c', 'x', 'z', 9, 0,
/* 1234 */ 'j', 'c', 'x', 'z', 9, 0,
/* 1240 */ 'j', 'r', 'c', 'x', 'z', 9, 0,
/* 1247 */ 's', 'b', 'b', 9, 'a', 'l', ',', 32, 0,
/* 1256 */ 's', 'c', 'a', 's', 'b', 9, 'a', 'l', ',', 32, 0,
/* 1267 */ 'l', 'o', 'd', 's', 'b', 9, 'a', 'l', ',', 32, 0,
/* 1278 */ 's', 'u', 'b', 9, 'a', 'l', ',', 32, 0,
/* 1287 */ 'a', 'd', 'c', 9, 'a', 'l', ',', 32, 0,
/* 1296 */ 'a', 'd', 'd', 9, 'a', 'l', ',', 32, 0,
/* 1305 */ 'a', 'n', 'd', 9, 'a', 'l', ',', 32, 0,
/* 1314 */ 'i', 'n', 9, 'a', 'l', ',', 32, 0,
/* 1322 */ 'c', 'm', 'p', 9, 'a', 'l', ',', 32, 0,
/* 1331 */ 'x', 'o', 'r', 9, 'a', 'l', ',', 32, 0,
/* 1340 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'a', 'l', ',', 32, 0,
/* 1352 */ 't', 'e', 's', 't', 9, 'a', 'l', ',', 32, 0,
/* 1362 */ 'm', 'o', 'v', 9, 'a', 'l', ',', 32, 0,
/* 1371 */ 's', 'b', 'b', 9, 'a', 'x', ',', 32, 0,
/* 1380 */ 's', 'u', 'b', 9, 'a', 'x', ',', 32, 0,
/* 1389 */ 'a', 'd', 'c', 9, 'a', 'x', ',', 32, 0,
/* 1398 */ 'a', 'd', 'd', 9, 'a', 'x', ',', 32, 0,
/* 1407 */ 'a', 'n', 'd', 9, 'a', 'x', ',', 32, 0,
/* 1416 */ 'x', 'c', 'h', 'g', 9, 'a', 'x', ',', 32, 0,
/* 1426 */ 'i', 'n', 9, 'a', 'x', ',', 32, 0,
/* 1434 */ 'c', 'm', 'p', 9, 'a', 'x', ',', 32, 0,
/* 1443 */ 'x', 'o', 'r', 9, 'a', 'x', ',', 32, 0,
/* 1452 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'a', 'x', ',', 32, 0,
/* 1464 */ 't', 'e', 's', 't', 9, 'a', 'x', ',', 32, 0,
/* 1474 */ 'm', 'o', 'v', 9, 'a', 'x', ',', 32, 0,
/* 1483 */ 's', 'c', 'a', 's', 'w', 9, 'a', 'x', ',', 32, 0,
/* 1494 */ 'l', 'o', 'd', 's', 'w', 9, 'a', 'x', ',', 32, 0,
/* 1505 */ 's', 'b', 'b', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1515 */ 's', 'u', 'b', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1525 */ 'a', 'd', 'c', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1535 */ 'a', 'd', 'd', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1545 */ 'a', 'n', 'd', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1555 */ 's', 'c', 'a', 's', 'd', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1567 */ 'l', 'o', 'd', 's', 'd', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1579 */ 'x', 'c', 'h', 'g', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1590 */ 'i', 'n', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1599 */ 'c', 'm', 'p', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1609 */ 'x', 'o', 'r', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1619 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1632 */ 't', 'e', 's', 't', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1643 */ 'm', 'o', 'v', 9, 'e', 'a', 'x', ',', 32, 0,
/* 1653 */ 's', 'b', 'b', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1663 */ 's', 'u', 'b', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1673 */ 'a', 'd', 'c', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1683 */ 'a', 'd', 'd', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1693 */ 'a', 'n', 'd', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1703 */ 'x', 'c', 'h', 'g', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1714 */ 'c', 'm', 'p', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1724 */ 's', 'c', 'a', 's', 'q', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1736 */ 'l', 'o', 'd', 's', 'q', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1748 */ 'x', 'o', 'r', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1758 */ 'm', 'o', 'v', 'a', 'b', 's', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1771 */ 't', 'e', 's', 't', 9, 'r', 'a', 'x', ',', 32, 0,
/* 1782 */ 'o', 'u', 't', 's', 'b', 9, 'd', 'x', ',', 32, 0,
/* 1793 */ 'o', 'u', 't', 's', 'd', 9, 'd', 'x', ',', 32, 0,
/* 1804 */ 'o', 'u', 't', 's', 'w', 9, 'd', 'x', ',', 32, 0,
/* 1815 */ '#', 'V', 'A', 'A', 'R', 'G', '_', '6', '4', 32, 0,
/* 1826 */ 'r', 'e', 't', 9, '#', 'e', 'h', '_', 'r', 'e', 't', 'u', 'r', 'n', ',', 32, 'a', 'd', 'd', 'r', ':', 32, 0,
/* 1849 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'X', 'M', 'M', 32, 0,
/* 1863 */ '#', 'V', 'A', 'S', 'T', 'A', 'R', 'T', '_', 'S', 'A', 'V', 'E', '_', 'X', 'M', 'M', '_', 'R', 'E', 'G', 'S', 32, 0,
/* 1887 */ '#', 'S', 'E', 'H', '_', 'S', 't', 'a', 'c', 'k', 'A', 'l', 'l', 'o', 'c', 32, 0,
/* 1904 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'F', 'r', 'a', 'm', 'e', 32, 0,
/* 1920 */ '#', 'S', 'E', 'H', '_', 'S', 'e', 't', 'F', 'r', 'a', 'm', 'e', 32, 0,
/* 1935 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'R', 'e', 'g', 32, 0,
/* 1949 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'R', 'e', 'g', 32, 0,
/* 1963 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '3', '2', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 1983 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '1', '6', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2003 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '8', '0', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2023 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2043 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '1', '6', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2064 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2084 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2104 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2123 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2143 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2163 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2183 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2203 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2223 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2243 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2263 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2282 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2300 */ '#', 'A', 'C', 'Q', 'U', 'I', 'R', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2321 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 2342 */ 'x', 's', 'h', 'a', '1', 0,
/* 2348 */ 'i', 'n', 't', '1', 0,
/* 2353 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0,
/* 2372 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0,
/* 2390 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '3', '2', 0,
/* 2403 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
/* 2416 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
/* 2434 */ 'u', 'd', '2', 0,
/* 2438 */ 'i', 'n', 't', '3', 0,
/* 2443 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '6', '4', 0,
/* 2462 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '6', '4', 0,
/* 2480 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '6', '4', 0,
/* 2493 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
/* 2506 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
/* 2524 */ 'r', 'e', 'x', '6', '4', 0,
/* 2530 */ 'd', 'a', 't', 'a', '1', '6', 0,
/* 2537 */ 'x', 's', 'h', 'a', '2', '5', '6', 0,
/* 2545 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
/* 2558 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
/* 2565 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
/* 2575 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 0,
/* 2593 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 0,
/* 2609 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0,
/* 2621 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
/* 2636 */ 'a', 'a', 'a', 0,
/* 2640 */ 'd', 'a', 'a', 0,
/* 2644 */ 'u', 'd', '2', 'b', 0,
/* 2649 */ 'x', 'c', 'r', 'y', 'p', 't', 'e', 'c', 'b', 0,
/* 2659 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'f', 'b', 0,
/* 2669 */ 'x', 'c', 'r', 'y', 'p', 't', 'o', 'f', 'b', 0,
/* 2679 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'b', 0,
/* 2689 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'b', 0,
/* 2699 */ 'x', 'l', 'a', 't', 'b', 0,
/* 2705 */ 'c', 'l', 'a', 'c', 0,
/* 2710 */ 's', 't', 'a', 'c', 0,
/* 2715 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'b', 'c', 0,
/* 2725 */ 'g', 'e', 't', 's', 'e', 'c', 0,
/* 2732 */ 's', 'a', 'l', 'c', 0,
/* 2737 */ 'c', 'l', 'c', 0,
/* 2741 */ 'c', 'm', 'c', 0,
/* 2745 */ 'r', 'd', 'p', 'm', 'c', 0,
/* 2751 */ 'v', 'm', 'f', 'u', 'n', 'c', 0,
/* 2758 */ 'r', 'd', 't', 's', 'c', 0,
/* 2764 */ 's', 't', 'c', 0,
/* 2768 */ 'p', 'u', 's', 'h', 'f', 'd', 0,
/* 2775 */ 'p', 'o', 'p', 'f', 'd', 0,
/* 2781 */ 'c', 'p', 'u', 'i', 'd', 0,
/* 2787 */ 'c', 'l', 'd', 0,
/* 2791 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'd', 0,
/* 2801 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'd', 0,
/* 2811 */ 'i', 'r', 'e', 't', 'd', 0,
/* 2817 */ 's', 't', 'd', 0,
/* 2821 */ 'w', 'b', 'i', 'n', 'v', 'd', 0,
/* 2828 */ 'c', 'w', 'd', 0,
/* 2832 */ 'c', 'w', 'd', 'e', 0,
/* 2837 */ 'v', 'm', 'r', 'e', 's', 'u', 'm', 'e', 0,
/* 2846 */ 'r', 'e', 'p', 'n', 'e', 0,
/* 2852 */ 'c', 'd', 'q', 'e', 0,
/* 2857 */ 'x', 's', 't', 'o', 'r', 'e', 0,
/* 2864 */ '#', 'S', 'E', 'H', '_', 'E', 'p', 'i', 'l', 'o', 'g', 'u', 'e', 0,
/* 2878 */ '#', 'S', 'E', 'H', '_', 'E', 'n', 'd', 'P', 'r', 'o', 'l', 'o', 'g', 'u', 'e', 0,
/* 2895 */ 'l', 'e', 'a', 'v', 'e', 0,
/* 2901 */ 'v', 'm', 'x', 'o', 'f', 'f', 0,
/* 2908 */ 'l', 'a', 'h', 'f', 0,
/* 2913 */ 's', 'a', 'h', 'f', 0,
/* 2918 */ 'p', 'u', 's', 'h', 'f', 0,
/* 2924 */ 'p', 'o', 'p', 'f', 0,
/* 2929 */ 'r', 'e', 't', 'f', 0,
/* 2934 */ 'v', 'm', 'l', 'a', 'u', 'n', 'c', 'h', 0,
/* 2943 */ 'c', 'l', 'g', 'i', 0,
/* 2948 */ 's', 't', 'g', 'i', 0,
/* 2953 */ 'c', 'l', 'i', 0,
/* 2957 */ 's', 't', 'i', 0,
/* 2961 */ '#', 32, 'w', 'i', 'n', '3', '2', 32, 'f', 'p', 't', 'o', 'u', 'i', 0,
/* 2976 */ 'l', 'o', 'c', 'k', 0,
/* 2981 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'a', 'l', 0,
/* 2992 */ 'p', 'u', 's', 'h', 'a', 'l', 0,
/* 2999 */ 'p', 'o', 'p', 'a', 'l', 0,
/* 3005 */ 'v', 'm', 'm', 'c', 'a', 'l', 'l', 0,
/* 3013 */ 'v', 'm', 'c', 'a', 'l', 'l', 0,
/* 3020 */ 's', 'y', 's', 'c', 'a', 'l', 'l', 0,
/* 3028 */ 'm', 'o', 'n', 't', 'm', 'u', 'l', 0,
/* 3036 */ 'f', 's', 'e', 't', 'p', 'm', 0,
/* 3043 */ 'r', 's', 'm', 0,
/* 3047 */ '#', 32, 'd', 'y', 'n', 'a', 'm', 'i', 'c', 32, 's', 't', 'a', 'c', 'k', 32, 'a', 'l', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 0,
/* 3074 */ 'c', 'q', 'o', 0,
/* 3078 */ 'i', 'n', 't', 'o', 0,
/* 3083 */ 'r', 'd', 't', 's', 'c', 'p', 0,
/* 3090 */ 'r', 'e', 'p', 0,
/* 3094 */ 'n', 'o', 'p', 0,
/* 3098 */ 'c', 'd', 'q', 0,
/* 3102 */ 'p', 'u', 's', 'h', 'f', 'q', 0,
/* 3109 */ 'p', 'o', 'p', 'f', 'q', 0,
/* 3115 */ 'r', 'e', 't', 'f', 'q', 0,
/* 3121 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'q', 0,
/* 3131 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'q', 0,
/* 3141 */ 'i', 'r', 'e', 't', 'q', 0,
/* 3147 */ 's', 'y', 's', 'e', 'n', 't', 'e', 'r', 0,
/* 3156 */ 'r', 'd', 'm', 's', 'r', 0,
/* 3162 */ 'w', 'r', 'm', 's', 'r', 0,
/* 3168 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 't', 'r', 0,
/* 3178 */ 'a', 'a', 's', 0,
/* 3182 */ 'd', 'a', 's', 0,
/* 3186 */ 'p', 'u', 's', 'h', 9, 'c', 's', 0,
/* 3194 */ 'p', 'u', 's', 'h', 9, 'd', 's', 0,
/* 3202 */ 'p', 'o', 'p', 9, 'd', 's', 0,
/* 3209 */ 'p', 'u', 's', 'h', 9, 'e', 's', 0,
/* 3217 */ 'p', 'o', 'p', 9, 'e', 's', 0,
/* 3224 */ 'p', 'u', 's', 'h', 9, 'f', 's', 0,
/* 3232 */ 'p', 'o', 'p', 9, 'f', 's', 0,
/* 3239 */ 'p', 'u', 's', 'h', 9, 'g', 's', 0,
/* 3247 */ 'p', 'o', 'p', 9, 'g', 's', 0,
/* 3254 */ 's', 'w', 'a', 'p', 'g', 's', 0,
/* 3261 */ '#', 32, 'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 32, 's', 'i', 'z', 'e', 'd', 32, 'a', 'l', 'l', 'o', 'c', 'a', 32, 'f', 'o', 'r', 32, 's', 'e', 'g', 'm', 'e', 'n', 't', 'e', 'd', 32, 's', 't', 'a', 'c', 'k', 's', 0,
/* 3306 */ 'p', 'u', 's', 'h', 9, 's', 's', 0,
/* 3314 */ 'p', 'o', 'p', 9, 's', 's', 0,
/* 3321 */ 'c', 'l', 't', 's', 0,
/* 3326 */ 'i', 'r', 'e', 't', 0,
/* 3331 */ 's', 'y', 's', 'r', 'e', 't', 0,
/* 3338 */ 's', 'y', 's', 'e', 'x', 'i', 't', 0,
/* 3346 */ 'h', 'l', 't', 0,
/* 3350 */ 'x', 'g', 'e', 't', 'b', 'v', 0,
/* 3357 */ 'x', 's', 'e', 't', 'b', 'v', 0,
/* 3364 */ 'p', 'u', 's', 'h', 'a', 'w', 0,
/* 3371 */ 'p', 'o', 'p', 'a', 'w', 0,
/* 3377 */ 'c', 'b', 'w', 0,
/* 3381 */ 'r', 'e', 'p', 32, 's', 't', 'o', 's', 'w', 0,
/* 3391 */ 'r', 'e', 'p', 32, 'm', 'o', 'v', 's', 'w', 0,
/* 3401 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'a', 'x', 0,
/* 3412 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, 'e', 'a', 'x', 0,
/* 3423 */ 'v', 'm', 's', 'a', 'v', 'e', 9, 'e', 'a', 'x', 0,
/* 3434 */ 'v', 'm', 'r', 'u', 'n', 9, 'e', 'a', 'x', 0,
/* 3444 */ 's', 'k', 'i', 'n', 'i', 't', 9, 'e', 'a', 'x', 0,
/* 3455 */ 'o', 'u', 't', 9, 'd', 'x', ',', 32, 'e', 'a', 'x', 0,
/* 3467 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, 'r', 'a', 'x', 0,
/* 3478 */ 'v', 'm', 's', 'a', 'v', 'e', 9, 'r', 'a', 'x', 0,
/* 3489 */ 'v', 'm', 'r', 'u', 'n', 9, 'r', 'a', 'x', 0,
/* 3499 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, 'e', 'a', 'x', ',', 32, 'e', 'c', 'x', 0,
/* 3516 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, 'r', 'a', 'x', ',', 32, 'e', 'c', 'x', 0,
/* 3533 */ 'i', 'n', 9, 'a', 'l', ',', 32, 'd', 'x', 0,
/* 3543 */ 'i', 'n', 9, 'a', 'x', ',', 32, 'd', 'x', 0,
/* 3553 */ 'i', 'n', 9, 'e', 'a', 'x', ',', 32, 'd', 'x', 0,
};
#endif
// Emit the opcode for the instruction.
uint32_t Bits = OpInfo[MCInst_getOpcode(MI)];
// assert(Bits != 0 && "Cannot print this instruction.");
#ifndef CAPSTONE_DIET
SStream_concat0(O, AsmStrs+(Bits & 4095)-1);
#endif
// Fragment 0 encoded into 5 bits for 31 unique commands.
//printf("Frag-0: %"PRIu64"\n", (Bits >> 12) & 31);
switch ((Bits >> 12) & 31) {
default: // unreachable.
case 0:
// DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, AAA, AAS, ACQUIRE_MOV...
return;
break;
case 1:
// AAD8i8, AAM8i8, ADC16i16, ADC16rr_REV, ADC32i32, ADC32rr_REV, ADC64i32...
printOperand(MI, 0, O);
break;
case 2:
// ADC16mi, ADC16mi8, ADC16mr, ADD16mi, ADD16mi8, ADD16mr, AND16mi, AND16...
printi16mem(MI, 0, O);
break;
case 3:
// ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32...
printOperand(MI, 1, O);
break;
case 4:
// ADC32mi, ADC32mi8, ADC32mr, ADD32mi, ADD32mi8, ADD32mr, AND32mi, AND32...
printi32mem(MI, 0, O);
break;
case 5:
// ADC64mi32, ADC64mi8, ADC64mr, ADD64mi32, ADD64mi8, ADD64mr, AND64mi32,...
printi64mem(MI, 0, O);
break;
case 6:
// ADC8mi, ADC8mr, ADD8mi, ADD8mr, AND8mi, AND8mr, CMP8mi, CMP8mr, CMPXCH...
printi8mem(MI, 0, O);
break;
case 7:
// CALL64pcrel32, CALLpcrel16, CALLpcrel32, EH_SjLj_Setup, JAE_1, JAE_2, ...
printPCRelImm(MI, 0, O);
break;
case 8:
// CMPSB
printSrcIdx8(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx8(MI, 0, O);
return;
break;
case 9:
// CMPSL
printSrcIdx32(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx32(MI, 0, O);
return;
break;
case 10:
// CMPSQ
printSrcIdx64(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx64(MI, 0, O);
return;
break;
case 11:
// CMPSW
printSrcIdx16(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx16(MI, 0, O);
return;
break;
case 12:
// CMPXCHG16B, LCMPXCHG16B
printi128mem(MI, 0, O);
return;
break;
case 13:
// FARCALL16m, FARCALL32m, FARCALL64, FARJMP16m, FARJMP32m, FARJMP64, LGD...
printopaquemem(MI, 0, O);
return;
break;
case 14:
// INSB, MOVSB, SCASB, STOSB
printDstIdx8(MI, 0, O);
break;
case 15:
// INSL, MOVSL, SCASL, STOSL
printDstIdx32(MI, 0, O);
break;
case 16:
// INSW, MOVSW, SCASW, STOSW
printDstIdx16(MI, 0, O);
break;
case 17:
// LODSB, OUTSB
printSrcIdx8(MI, 0, O);
return;
break;
case 18:
// LODSL, OUTSL
printSrcIdx32(MI, 0, O);
return;
break;
case 19:
// LODSQ
printSrcIdx64(MI, 0, O);
return;
break;
case 20:
// LODSW, OUTSW
printSrcIdx16(MI, 0, O);
return;
break;
case 21:
// LXADD16, XCHG16rm
printi16mem(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 22:
// LXADD32, XCHG32rm
printi32mem(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 23:
// LXADD64, XCHG64rm
printi64mem(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 24:
// LXADD8, XCHG8rm
printi8mem(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 25:
// MOV16ao16, MOV16ao16_16, MOV16o16a, MOV16o16a_16, MOV64ao16, MOV64o16a
printMemOffs16(MI, 0, O);
break;
case 26:
// MOV32ao32, MOV32ao32_16, MOV32o32a, MOV32o32a_16, MOV64ao32, MOV64o32a
printMemOffs32(MI, 0, O);
break;
case 27:
// MOV64ao64, MOV64o64a
printMemOffs64(MI, 0, O);
break;
case 28:
// MOV64ao8, MOV64o8a, MOV8ao8, MOV8ao8_16, MOV8o8a, MOV8o8a_16
printMemOffs8(MI, 0, O);
break;
case 29:
// MOVSQ, SCASQ, STOSQ
printDstIdx64(MI, 0, O);
break;
case 30:
// XCHG16rr, XCHG32rr, XCHG64rr, XCHG8rr
printOperand(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
}
// Fragment 1 encoded into 4 bits for 11 unique commands.
//printf("Frag-1: %"PRIu64"\n", (Bits >> 17) & 15);
switch ((Bits >> 17) & 15) {
default: // unreachable.
case 0:
// AAD8i8, AAM8i8, ADC16i16, ADC32i32, ADC64i32, ADC8i8, ADD16i16, ADD32i...
return;
break;
case 1:
// ADC16mi, ADC16mi8, ADC16mr, ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC16...
SStream_concat0(O, ", ");
break;
case 2:
// FARCALL16i, FARCALL32i, FARJMP16i, FARJMP32i
SStream_concat0(O, ":");
printOperand(MI, 0, O);
return;
break;
case 3:
// INSB, INSL, INSW
SStream_concat0(O, ", dx");
op_addReg(MI, X86_REG_DX);
return;
break;
case 4:
// MOV16ao16, MOV16ao16_16, MOV64ao16, OUT16ir, STOSW
SStream_concat0(O, ", ax");
op_addReg(MI, X86_REG_AX);
return;
break;
case 5:
// MOV32ao32, MOV32ao32_16, MOV64ao32, OUT32ir, STOSL
SStream_concat0(O, ", eax");
op_addReg(MI, X86_REG_EAX);
return;
break;
case 6:
// MOV64ao64, STOSQ
SStream_concat0(O, ", rax");
op_addReg(MI, X86_REG_RAX);
return;
break;
case 7:
// MOV64ao8, MOV8ao8, MOV8ao8_16, OUT8ir, STOSB
SStream_concat0(O, ", al");
op_addReg(MI, X86_REG_AL);
return;
break;
case 8:
// RCL16m1, RCL16r1, RCL32m1, RCL32r1, RCL64m1, RCL64r1, RCL8m1, RCL8r1, ...
SStream_concat0(O, ", 1");
op_addImm(MI, 1);
return;
break;
case 9:
// RCL16mCL, RCL16rCL, RCL32mCL, RCL32rCL, RCL64mCL, RCL64rCL, RCL8mCL, R...
SStream_concat0(O, ", cl");
op_addReg(MI, X86_REG_CL);
return;
break;
case 10:
// TAILJMPd, TAILJMPd64, TAILJMPm, TAILJMPm64, TAILJMPr64
return;
break;
}
// Fragment 2 encoded into 5 bits for 18 unique commands.
//printf("Frag-2: %"PRIu64"\n", (Bits >> 21) & 31);
switch ((Bits >> 21) & 31) {
default: // unreachable.
case 0:
// ADC16mi, ADC16mi8, ADC16mr, ADC32mi, ADC32mi8, ADC32mr, ADC64mi32, ADC...
printOperand(MI, 5, O);
break;
case 1:
// ADC16ri, ADC16ri8, ADC16rr, ADC16rr_REV, ADC32ri, ADC32ri8, ADC32rr, A...
printOperand(MI, 2, O);
break;
case 2:
// ADC16rm, ADD16rm, AND16rm, CMOVA16rm, CMOVAE16rm, CMOVB16rm, CMOVBE16r...
printi16mem(MI, 2, O);
return;
break;
case 3:
// ADC32rm, ADCX32rm, ADD32rm, AND32rm, CMOVA32rm, CMOVAE32rm, CMOVB32rm,...
printi32mem(MI, 2, O);
return;
break;
case 4:
// ADC64rm, ADCX64rm, ADD64rm, AND64rm, CMOVA64rm, CMOVAE64rm, CMOVB64rm,...
printi64mem(MI, 2, O);
return;
break;
case 5:
// ADC8rm, ADD8rm, AND8rm, OR8rm, SBB8rm, SUB8rm, XOR8rm
printi8mem(MI, 2, O);
return;
break;
case 6:
// ADOX32rm, BEXTR32rm, BEXTRI32mi, BLCFILL32rm, BLCI32rm, BLCIC32rm, BLC...
printi32mem(MI, 1, O);
break;
case 7:
// ADOX32rr, ADOX64rr, ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, ARPL16rr, ...
printOperand(MI, 1, O);
break;
case 8:
// ADOX64rm, BEXTR64rm, BEXTRI64mi, BLCFILL64rm, BLCI64rm, BLCIC64rm, BLC...
printi64mem(MI, 1, O);
break;
case 9:
// BSF16rm, BSR16rm, CMP16rm, IMUL16rmi, IMUL16rmi8, LAR16rm, LAR32rm, LA...
printi16mem(MI, 1, O);
break;
case 10:
// CMP8rm, MOV8rm, MOV8rm_NOREX, MOVSX16rm8, MOVSX32rm8, MOVSX64rm8, MOVZ...
printi8mem(MI, 1, O);
break;
case 11:
// INVEPT32, INVEPT64, INVPCID32, INVPCID64, INVVPID32, INVVPID64
printi128mem(MI, 1, O);
return;
break;
case 12:
// LDS16rm, LDS32rm, LES16rm, LES32rm, LFS16rm, LFS32rm, LFS64rm, LGS16rm...
printopaquemem(MI, 1, O);
return;
break;
case 13:
// MOVSB
printSrcIdx8(MI, 1, O);
return;
break;
case 14:
// MOVSL
printSrcIdx32(MI, 1, O);
return;
break;
case 15:
// MOVSQ
printSrcIdx64(MI, 1, O);
return;
break;
case 16:
// MOVSW
printSrcIdx16(MI, 1, O);
return;
break;
case 17:
// NOOP19rr
printOperand(MI, 0, O);
return;
break;
}
// Fragment 3 encoded into 2 bits for 4 unique commands.
//printf("Frag-3: %"PRIu64"\n", (Bits >> 26) & 3);
switch ((Bits >> 26) & 3) {
default: // unreachable.
case 0:
// ADC16mi, ADC16mi8, ADC16mr, ADC16ri, ADC16ri8, ADC16rr, ADC16rr_REV, A...
return;
break;
case 1:
// ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, BEXTR32rm, BEXTR32rr, BEXTR64r...
SStream_concat0(O, ", ");
break;
case 2:
// MOV8mr_NOREX, MOV8rm_NOREX, MOV8rr_NOREX
return;
break;
case 3:
// SHLD16mrCL, SHLD16rrCL, SHLD32mrCL, SHLD32rrCL, SHLD64mrCL, SHLD64rrCL...
SStream_concat0(O, ", cl");
op_addReg(MI, X86_REG_CL);
return;
break;
}
// Fragment 4 encoded into 3 bits for 5 unique commands.
//printf("Frag-4: %"PRIu64"\n", (Bits >> 28) & 7);
switch ((Bits >> 28) & 7) {
default: // unreachable.
case 0:
// ANDN32rm, MULX32rm, PDEP32rm, PEXT32rm
printi32mem(MI, 2, O);
return;
break;
case 1:
// ANDN32rr, ANDN64rr, BEXTR32rr, BEXTR64rr, BEXTRI32ri, BEXTRI64ri, BZHI...
printOperand(MI, 2, O);
return;
break;
case 2:
// ANDN64rm, MULX64rm, PDEP64rm, PEXT64rm
printi64mem(MI, 2, O);
return;
break;
case 3:
// BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL...
printOperand(MI, 6, O);
break;
case 4:
// SHLD16rri8, SHLD32rri8, SHLD64rri8, SHRD16rri8, SHRD32rri8, SHRD64rri8
printOperand(MI, 3, O);
return;
break;
}
// Fragment 5 encoded into 1 bits for 2 unique commands.
//printf("Frag-5: %"PRIu64"\n", (Bits >> 31) & 1);
if ((Bits >> 31) & 1) {
// VAARG_64
SStream_concat0(O, ", ");
printOperand(MI, 7, O);
SStream_concat0(O, ", ");
printOperand(MI, 8, O);
return;
} else {
// BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL...
return;
}
}
/// getRegisterName - This method is automatically generated by tblgen
/// from the register set description. This returns the assembler name
/// for the specified register.
static char *getRegisterName(unsigned RegNo)
{
// assert(RegNo && RegNo < 234 && "Invalid register number!");
#ifndef CAPSTONE_DIET
static char AsmStrs[] = {
/* 0 */ 's', 't', '(', '0', ')', 0,
/* 6 */ 's', 't', '(', '1', ')', 0,
/* 12 */ 's', 't', '(', '2', ')', 0,
/* 18 */ 's', 't', '(', '3', ')', 0,
/* 24 */ 's', 't', '(', '4', ')', 0,
/* 30 */ 's', 't', '(', '5', ')', 0,
/* 36 */ 's', 't', '(', '6', ')', 0,
/* 42 */ 's', 't', '(', '7', ')', 0,
/* 48 */ 'x', 'm', 'm', '1', '0', 0,
/* 54 */ 'y', 'm', 'm', '1', '0', 0,
/* 60 */ 'z', 'm', 'm', '1', '0', 0,
/* 66 */ 'c', 'r', '1', '0', 0,
/* 71 */ 'x', 'm', 'm', '2', '0', 0,
/* 77 */ 'y', 'm', 'm', '2', '0', 0,
/* 83 */ 'z', 'm', 'm', '2', '0', 0,
/* 89 */ 'x', 'm', 'm', '3', '0', 0,
/* 95 */ 'y', 'm', 'm', '3', '0', 0,
/* 101 */ 'z', 'm', 'm', '3', '0', 0,
/* 107 */ 'k', '0', 0,
/* 110 */ 'x', 'm', 'm', '0', 0,
/* 115 */ 'y', 'm', 'm', '0', 0,
/* 120 */ 'z', 'm', 'm', '0', 0,
/* 125 */ 'f', 'p', '0', 0,
/* 129 */ 'c', 'r', '0', 0,
/* 133 */ 'd', 'r', '0', 0,
/* 137 */ 'x', 'm', 'm', '1', '1', 0,
/* 143 */ 'y', 'm', 'm', '1', '1', 0,
/* 149 */ 'z', 'm', 'm', '1', '1', 0,
/* 155 */ 'c', 'r', '1', '1', 0,
/* 160 */ 'x', 'm', 'm', '2', '1', 0,
/* 166 */ 'y', 'm', 'm', '2', '1', 0,
/* 172 */ 'z', 'm', 'm', '2', '1', 0,
/* 178 */ 'x', 'm', 'm', '3', '1', 0,
/* 184 */ 'y', 'm', 'm', '3', '1', 0,
/* 190 */ 'z', 'm', 'm', '3', '1', 0,
/* 196 */ 'k', '1', 0,
/* 199 */ 'x', 'm', 'm', '1', 0,
/* 204 */ 'y', 'm', 'm', '1', 0,
/* 209 */ 'z', 'm', 'm', '1', 0,
/* 214 */ 'f', 'p', '1', 0,
/* 218 */ 'c', 'r', '1', 0,
/* 222 */ 'd', 'r', '1', 0,
/* 226 */ 'x', 'm', 'm', '1', '2', 0,
/* 232 */ 'y', 'm', 'm', '1', '2', 0,
/* 238 */ 'z', 'm', 'm', '1', '2', 0,
/* 244 */ 'c', 'r', '1', '2', 0,
/* 249 */ 'x', 'm', 'm', '2', '2', 0,
/* 255 */ 'y', 'm', 'm', '2', '2', 0,
/* 261 */ 'z', 'm', 'm', '2', '2', 0,
/* 267 */ 'k', '2', 0,
/* 270 */ 'x', 'm', 'm', '2', 0,
/* 275 */ 'y', 'm', 'm', '2', 0,
/* 280 */ 'z', 'm', 'm', '2', 0,
/* 285 */ 'f', 'p', '2', 0,
/* 289 */ 'c', 'r', '2', 0,
/* 293 */ 'd', 'r', '2', 0,
/* 297 */ 'x', 'm', 'm', '1', '3', 0,
/* 303 */ 'y', 'm', 'm', '1', '3', 0,
/* 309 */ 'z', 'm', 'm', '1', '3', 0,
/* 315 */ 'c', 'r', '1', '3', 0,
/* 320 */ 'x', 'm', 'm', '2', '3', 0,
/* 326 */ 'y', 'm', 'm', '2', '3', 0,
/* 332 */ 'z', 'm', 'm', '2', '3', 0,
/* 338 */ 'k', '3', 0,
/* 341 */ 'x', 'm', 'm', '3', 0,
/* 346 */ 'y', 'm', 'm', '3', 0,
/* 351 */ 'z', 'm', 'm', '3', 0,
/* 356 */ 'f', 'p', '3', 0,
/* 360 */ 'c', 'r', '3', 0,
/* 364 */ 'd', 'r', '3', 0,
/* 368 */ 'x', 'm', 'm', '1', '4', 0,
/* 374 */ 'y', 'm', 'm', '1', '4', 0,
/* 380 */ 'z', 'm', 'm', '1', '4', 0,
/* 386 */ 'c', 'r', '1', '4', 0,
/* 391 */ 'x', 'm', 'm', '2', '4', 0,
/* 397 */ 'y', 'm', 'm', '2', '4', 0,
/* 403 */ 'z', 'm', 'm', '2', '4', 0,
/* 409 */ 'k', '4', 0,
/* 412 */ 'x', 'm', 'm', '4', 0,
/* 417 */ 'y', 'm', 'm', '4', 0,
/* 422 */ 'z', 'm', 'm', '4', 0,
/* 427 */ 'f', 'p', '4', 0,
/* 431 */ 'c', 'r', '4', 0,
/* 435 */ 'd', 'r', '4', 0,
/* 439 */ 'x', 'm', 'm', '1', '5', 0,
/* 445 */ 'y', 'm', 'm', '1', '5', 0,
/* 451 */ 'z', 'm', 'm', '1', '5', 0,
/* 457 */ 'c', 'r', '1', '5', 0,
/* 462 */ 'x', 'm', 'm', '2', '5', 0,
/* 468 */ 'y', 'm', 'm', '2', '5', 0,
/* 474 */ 'z', 'm', 'm', '2', '5', 0,
/* 480 */ 'k', '5', 0,
/* 483 */ 'x', 'm', 'm', '5', 0,
/* 488 */ 'y', 'm', 'm', '5', 0,
/* 493 */ 'z', 'm', 'm', '5', 0,
/* 498 */ 'f', 'p', '5', 0,
/* 502 */ 'c', 'r', '5', 0,
/* 506 */ 'd', 'r', '5', 0,
/* 510 */ 'x', 'm', 'm', '1', '6', 0,
/* 516 */ 'y', 'm', 'm', '1', '6', 0,
/* 522 */ 'z', 'm', 'm', '1', '6', 0,
/* 528 */ 'x', 'm', 'm', '2', '6', 0,
/* 534 */ 'y', 'm', 'm', '2', '6', 0,
/* 540 */ 'z', 'm', 'm', '2', '6', 0,
/* 546 */ 'k', '6', 0,
/* 549 */ 'x', 'm', 'm', '6', 0,
/* 554 */ 'y', 'm', 'm', '6', 0,
/* 559 */ 'z', 'm', 'm', '6', 0,
/* 564 */ 'f', 'p', '6', 0,
/* 568 */ 'c', 'r', '6', 0,
/* 572 */ 'd', 'r', '6', 0,
/* 576 */ 'x', 'm', 'm', '1', '7', 0,
/* 582 */ 'y', 'm', 'm', '1', '7', 0,
/* 588 */ 'z', 'm', 'm', '1', '7', 0,
/* 594 */ 'x', 'm', 'm', '2', '7', 0,
/* 600 */ 'y', 'm', 'm', '2', '7', 0,
/* 606 */ 'z', 'm', 'm', '2', '7', 0,
/* 612 */ 'k', '7', 0,
/* 615 */ 'x', 'm', 'm', '7', 0,
/* 620 */ 'y', 'm', 'm', '7', 0,
/* 625 */ 'z', 'm', 'm', '7', 0,
/* 630 */ 'f', 'p', '7', 0,
/* 634 */ 'c', 'r', '7', 0,
/* 638 */ 'd', 'r', '7', 0,
/* 642 */ 'x', 'm', 'm', '1', '8', 0,
/* 648 */ 'y', 'm', 'm', '1', '8', 0,
/* 654 */ 'z', 'm', 'm', '1', '8', 0,
/* 660 */ 'x', 'm', 'm', '2', '8', 0,
/* 666 */ 'y', 'm', 'm', '2', '8', 0,
/* 672 */ 'z', 'm', 'm', '2', '8', 0,
/* 678 */ 'x', 'm', 'm', '8', 0,
/* 683 */ 'y', 'm', 'm', '8', 0,
/* 688 */ 'z', 'm', 'm', '8', 0,
/* 693 */ 'c', 'r', '8', 0,
/* 697 */ 'x', 'm', 'm', '1', '9', 0,
/* 703 */ 'y', 'm', 'm', '1', '9', 0,
/* 709 */ 'z', 'm', 'm', '1', '9', 0,
/* 715 */ 'x', 'm', 'm', '2', '9', 0,
/* 721 */ 'y', 'm', 'm', '2', '9', 0,
/* 727 */ 'z', 'm', 'm', '2', '9', 0,
/* 733 */ 'x', 'm', 'm', '9', 0,
/* 738 */ 'y', 'm', 'm', '9', 0,
/* 743 */ 'z', 'm', 'm', '9', 0,
/* 748 */ 'c', 'r', '9', 0,
/* 752 */ 'r', '1', '0', 'b', 0,
/* 757 */ 'r', '1', '1', 'b', 0,
/* 762 */ 'r', '1', '2', 'b', 0,
/* 767 */ 'r', '1', '3', 'b', 0,
/* 772 */ 'r', '1', '4', 'b', 0,
/* 777 */ 'r', '1', '5', 'b', 0,
/* 782 */ 'r', '8', 'b', 0,
/* 786 */ 'r', '9', 'b', 0,
/* 790 */ 'r', '1', '0', 'd', 0,
/* 795 */ 'r', '1', '1', 'd', 0,
/* 800 */ 'r', '1', '2', 'd', 0,
/* 805 */ 'r', '1', '3', 'd', 0,
/* 810 */ 'r', '1', '4', 'd', 0,
/* 815 */ 'r', '1', '5', 'd', 0,
/* 820 */ 'r', '8', 'd', 0,
/* 824 */ 'r', '9', 'd', 0,
/* 828 */ 'a', 'h', 0,
/* 831 */ 'b', 'h', 0,
/* 834 */ 'c', 'h', 0,
/* 837 */ 'd', 'h', 0,
/* 840 */ 'e', 'd', 'i', 0,
/* 844 */ 'r', 'd', 'i', 0,
/* 848 */ 'e', 's', 'i', 0,
/* 852 */ 'r', 's', 'i', 0,
/* 856 */ 'a', 'l', 0,
/* 859 */ 'b', 'l', 0,
/* 862 */ 'c', 'l', 0,
/* 865 */ 'd', 'l', 0,
/* 868 */ 'd', 'i', 'l', 0,
/* 872 */ 's', 'i', 'l', 0,
/* 876 */ 'b', 'p', 'l', 0,
/* 880 */ 's', 'p', 'l', 0,
/* 884 */ 'e', 'b', 'p', 0,
/* 888 */ 'r', 'b', 'p', 0,
/* 892 */ 'e', 'i', 'p', 0,
/* 896 */ 'r', 'i', 'p', 0,
/* 900 */ 'e', 's', 'p', 0,
/* 904 */ 'r', 's', 'p', 0,
/* 908 */ 'c', 's', 0,
/* 911 */ 'd', 's', 0,
/* 914 */ 'e', 's', 0,
/* 917 */ 'f', 's', 0,
/* 920 */ 'f', 'l', 'a', 'g', 's', 0,
/* 926 */ 's', 's', 0,
/* 929 */ 'r', '1', '0', 'w', 0,
/* 934 */ 'r', '1', '1', 'w', 0,
/* 939 */ 'r', '1', '2', 'w', 0,
/* 944 */ 'r', '1', '3', 'w', 0,
/* 949 */ 'r', '1', '4', 'w', 0,
/* 954 */ 'r', '1', '5', 'w', 0,
/* 959 */ 'r', '8', 'w', 0,
/* 963 */ 'r', '9', 'w', 0,
/* 967 */ 'f', 'p', 's', 'w', 0,
/* 972 */ 'e', 'a', 'x', 0,
/* 976 */ 'r', 'a', 'x', 0,
/* 980 */ 'e', 'b', 'x', 0,
/* 984 */ 'r', 'b', 'x', 0,
/* 988 */ 'e', 'c', 'x', 0,
/* 992 */ 'r', 'c', 'x', 0,
/* 996 */ 'e', 'd', 'x', 0,
/* 1000 */ 'r', 'd', 'x', 0,
/* 1004 */ 'e', 'i', 'z', 0,
/* 1008 */ 'r', 'i', 'z', 0,
};
static const uint32_t RegAsmOffset[] = {
828, 856, 973, 831, 859, 885, 876, 981, 834, 862, 908, 989, 837, 841,
868, 865, 911, 997, 972, 884, 980, 988, 840, 996, 920, 892, 1004, 914,
848, 900, 967, 917, 923, 893, 976, 888, 984, 992, 844, 1000, 896, 1008,
852, 904, 849, 872, 901, 880, 926, 129, 218, 289, 360, 431, 502, 568,
634, 693, 748, 66, 155, 244, 315, 386, 457, 133, 222, 293, 364, 435,
506, 572, 638, 125, 214, 285, 356, 427, 498, 564, 630, 107, 196, 267,
338, 409, 480, 546, 612, 111, 200, 271, 342, 413, 484, 550, 616, 694,
749, 67, 156, 245, 316, 387, 458, 0, 6, 12, 18, 24, 30, 36,
42, 110, 199, 270, 341, 412, 483, 549, 615, 678, 733, 48, 137, 226,
297, 368, 439, 510, 576, 642, 697, 71, 160, 249, 320, 391, 462, 528,
594, 660, 715, 89, 178, 115, 204, 275, 346, 417, 488, 554, 620, 683,
738, 54, 143, 232, 303, 374, 445, 516, 582, 648, 703, 77, 166, 255,
326, 397, 468, 534, 600, 666, 721, 95, 184, 120, 209, 280, 351, 422,
493, 559, 625, 688, 743, 60, 149, 238, 309, 380, 451, 522, 588, 654,
709, 83, 172, 261, 332, 403, 474, 540, 606, 672, 727, 101, 190, 782,
786, 752, 757, 762, 767, 772, 777, 820, 824, 790, 795, 800, 805, 810,
815, 959, 963, 929, 934, 939, 944, 949, 954,
};
//int i;
//for (i = 0; i < sizeof(RegAsmOffset)/4; i++)
// printf("%s = %u\n", AsmStrs+RegAsmOffset[i], i + 1);
//printf("*************************\n");
return AsmStrs+RegAsmOffset[RegNo-1];
#else
return NULL;
#endif
}
#ifdef PRINT_ALIAS_INSTR
#undef PRINT_ALIAS_INSTR
static void printCustomAliasOperand(MCInst *MI, unsigned OpIdx,
unsigned PrintMethodIdx, SStream *OS)
{
}
static char *printAliasInstr(MCInst *MI, SStream *OS, void *info)
{
#define GETREGCLASS_CONTAIN(_class, _reg) MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, _class), MCOperand_getReg(MCInst_getOperand(MI, _reg)))
const char *AsmString;
char *tmp, *AsmMnem, *AsmOps, *c;
int OpIdx, PrintMethodIdx;
switch (MCInst_getOpcode(MI)) {
default: return NULL;
case X86_AAD8i8:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) {
// (AAD8i8 10)
AsmString = "aad";
break;
}
return NULL;
case X86_AAM8i8:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) {
// (AAM8i8 10)
AsmString = "aam";
break;
}
return NULL;
case X86_XSTORE:
if (MCInst_getNumOperands(MI) == 0) {
// (XSTORE)
AsmString = "xstorerng";
break;
}
return NULL;
}
tmp = cs_strdup(AsmString);
AsmMnem = tmp;
for(AsmOps = tmp; *AsmOps; AsmOps++) {
if (*AsmOps == ' ' || *AsmOps == '\t') {
*AsmOps = '\0';
AsmOps++;
break;
}
}
SStream_concat0(OS, AsmMnem);
if (*AsmOps) {
SStream_concat0(OS, "\t");
for (c = AsmOps; *c; c++) {
if (*c == '$') {
c += 1;
if (*c == (char)0xff) {
c += 1;
OpIdx = *c - 1;
c += 1;
PrintMethodIdx = *c - 1;
printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, OS);
} else
printOperand(MI, *c - 1, OS);
} else {
SStream_concat(OS, "%c", *c);
}
}
}
return tmp;
}
#endif // PRINT_ALIAS_INSTR