blob: 40cbec607488882b1fad90f7f9229afdc5e658e7 [file] [log] [blame]
/*===- 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-2014 */
/// 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
4199U, // DBG_VALUE
0U, // REG_SEQUENCE
0U, // COPY
4192U, // BUNDLE
4255U, // LIFETIME_START
4179U, // LIFETIME_END
0U, // STACKMAP
0U, // PATCHPOINT
0U, // LOAD_STACK_GUARD
4270U, // AAA
8459U, // AAD8i8
9418U, // AAM8i8
4841U, // AAS
3883U, // ACQUIRE_MOV16rm
3883U, // ACQUIRE_MOV32rm
3883U, // ACQUIRE_MOV64rm
3883U, // ACQUIRE_MOV8rm
534689U, // ADC16i16
1067169U, // ADC16mi
1067169U, // ADC16mi8
1067169U, // ADC16mr
1599649U, // ADC16ri
1599649U, // ADC16ri8
1607841U, // ADC16rm
1599649U, // ADC16rr
2123937U, // ADC16rr_REV
2630119U, // ADC32i32
3162599U, // ADC32mi
3162599U, // ADC32mi8
3162599U, // ADC32mr
1597927U, // ADC32ri
1597927U, // ADC32ri8
1614311U, // ADC32rm
1597927U, // ADC32rr
2122215U, // ADC32rr_REV
3679567U, // ADC64i32
4212047U, // ADC64mi32
4212047U, // ADC64mi8
4212047U, // ADC64mr
1598799U, // ADC64ri32
1598799U, // ADC64ri8
1623375U, // ADC64rm
1598799U, // ADC64rr
2123087U, // ADC64rr_REV
4726830U, // ADC8i8
5259310U, // ADC8mi
5259310U, // ADC8mr
1597486U, // ADC8ri
57390U, // ADC8rm
1597486U, // ADC8rr
2121774U, // ADC8rr_REV
2139289U, // ADCX32rm
2122905U, // ADCX32rr
2148317U, // ADCX64rm
2123741U, // ADCX64rr
534714U, // ADD16i16
1067194U, // ADD16mi
1067194U, // ADD16mi8
1067194U, // ADD16mr
1599674U, // ADD16ri
1599674U, // ADD16ri8
0U, // ADD16ri8_DB
0U, // ADD16ri_DB
1607866U, // ADD16rm
1599674U, // ADD16rr
0U, // ADD16rr_DB
2123962U, // ADD16rr_REV
2630153U, // ADD32i32
3162633U, // ADD32mi
3162633U, // ADD32mi8
3162633U, // ADD32mr
1597961U, // ADD32ri
1597961U, // ADD32ri8
0U, // ADD32ri8_DB
0U, // ADD32ri_DB
1614345U, // ADD32rm
1597961U, // ADD32rr
0U, // ADD32rr_DB
2122249U, // ADD32rr_REV
3679601U, // ADD64i32
4212081U, // ADD64mi32
4212081U, // ADD64mi8
4212081U, // ADD64mr
1598833U, // ADD64ri32
0U, // ADD64ri32_DB
1598833U, // ADD64ri8
0U, // ADD64ri8_DB
1623409U, // ADD64rm
1598833U, // ADD64rr
0U, // ADD64rr_DB
2123121U, // ADD64rr_REV
4726849U, // ADD8i8
5259329U, // ADD8mi
5259329U, // ADD8mr
1597505U, // ADD8ri
1597505U, // ADD8ri8
57409U, // ADD8rm
1597505U, // ADD8rr
2121793U, // ADD8rr_REV
4209U, // ADJCALLSTACKDOWN32
4209U, // ADJCALLSTACKDOWN64
4227U, // ADJCALLSTACKUP32
4227U, // ADJCALLSTACKUP64
66734U, // ADOX32rm
2172078U, // ADOX32rr
83954U, // ADOX64rm
2172914U, // ADOX64rr
534739U, // AND16i16
1067219U, // AND16mi
1067219U, // AND16mi8
1067219U, // AND16mr
1599699U, // AND16ri
1599699U, // AND16ri8
1607891U, // AND16rm
1599699U, // AND16rr
2123987U, // AND16rr_REV
2630178U, // AND32i32
3162658U, // AND32mi
3162658U, // AND32mi8
3162658U, // AND32mr
1597986U, // AND32ri
1597986U, // AND32ri8
1614370U, // AND32rm
1597986U, // AND32rr
2122274U, // AND32rr_REV
3679626U, // AND64i32
4212106U, // AND64mi32
4212106U, // AND64mi8
4212106U, // AND64mr
1598858U, // AND64ri32
1598858U, // AND64ri8
1623434U, // AND64rm
1598858U, // AND64rr
2123146U, // AND64rr_REV
4726855U, // AND8i8
5259335U, // AND8mi
5259335U, // AND8mr
1597511U, // AND8ri
1597511U, // AND8ri8
57415U, // AND8rm
1597511U, // AND8rr
2121799U, // AND8rr_REV
18391841U, // ANDN32rm
18375457U, // ANDN32rr
18400898U, // ANDN64rm
18376322U, // ANDN64rr
1065839U, // ARPL16mr
2171759U, // ARPL16rr
5858234U, // BEXTR32rm
18375610U, // BEXTR32rr
6383372U, // BEXTR64rm
18376460U, // BEXTR64rr
5859372U, // BEXTRI32mi
18376748U, // BEXTRI32ri
6383660U, // BEXTRI64mi
18376748U, // BEXTRI64ri
66284U, // BLCFILL32rm
2171628U, // BLCFILL32rr
82668U, // BLCFILL64rm
2171628U, // BLCFILL64rr
65952U, // BLCI32rm
2171296U, // BLCI32rr
82336U, // BLCI64rm
2171296U, // BLCI64rr
65781U, // BLCIC32rm
2171125U, // BLCIC32rr
82165U, // BLCIC64rm
2171125U, // BLCIC64rr
65958U, // BLCMSK32rm
2171302U, // BLCMSK32rr
82342U, // BLCMSK64rm
2171302U, // BLCMSK64rr
67635U, // BLCS32rm
2172979U, // BLCS32rr
84019U, // BLCS64rm
2172979U, // BLCS64rr
66293U, // BLSFILL32rm
2171637U, // BLSFILL32rr
82677U, // BLSFILL64rm
2171637U, // BLSFILL64rr
66246U, // BLSI32rm
2171590U, // BLSI32rr
83510U, // BLSI64rm
2172470U, // BLSI64rr
65788U, // BLSIC32rm
2171132U, // BLSIC32rr
82172U, // BLSIC64rm
2171132U, // BLSIC64rr
66257U, // BLSMSK32rm
2171601U, // BLSMSK32rr
83517U, // BLSMSK64rm
2172477U, // BLSMSK64rr
66471U, // BLSR32rm
2171815U, // BLSR32rr
83705U, // BLSR64rm
2172665U, // BLSR64rr
98603U, // BOUNDS16rm
65835U, // BOUNDS32rm
100629U, // BSF16rm
2173205U, // BSF16rr
66202U, // BSF32rm
2171546U, // BSF32rr
83466U, // BSF64rm
2172426U, // BSF64rr
100825U, // BSR16rm
2173401U, // BSR16rr
66465U, // BSR32rm
2171809U, // BSR32rr
83699U, // BSR64rm
2172659U, // BSR64rr
9022U, // BSWAP32r
9882U, // BSWAP64r
1067595U, // BT16mi8
1067595U, // BT16mr
2173515U, // BT16ri8
2173515U, // BT16rr
3163164U, // BT32mi8
3163164U, // BT32mr
2171932U, // BT32ri8
2171932U, // BT32rr
4212571U, // BT64mi8
4212571U, // BT64mr
2172763U, // BT64ri8
2172763U, // BT64rr
1067187U, // BTC16mi8
1067187U, // BTC16mr
2173107U, // BTC16ri8
2173107U, // BTC16rr
3162617U, // BTC32mi8
3162617U, // BTC32mr
2171385U, // BTC32ri8
2171385U, // BTC32rr
4212065U, // BTC64mi8
4212065U, // BTC64mr
2172257U, // BTC64ri8
2172257U, // BTC64rr
1067487U, // BTR16mi8
1067487U, // BTR16mr
2173407U, // BTR16ri8
2173407U, // BTR16rr
3163054U, // BTR32mi8
3163054U, // BTR32mr
2171822U, // BTR32ri8
2171822U, // BTR32rr
4212480U, // BTR64mi8
4212480U, // BTR64mr
2172672U, // BTR64ri8
2172672U, // BTR64rr
1067574U, // BTS16mi8
1067574U, // BTS16mr
2173494U, // BTS16ri8
2173494U, // BTS16rr
3163143U, // BTS32mi8
3163143U, // BTS32mr
2171911U, // BTS32ri8
2171911U, // BTS32rr
4212557U, // BTS64mi8
4212557U, // BTS64mr
2172749U, // BTS64ri8
2172749U, // BTS64rr
5857983U, // BZHI32rm
18375359U, // BZHI32rr
6383151U, // BZHI64rm
18376239U, // BZHI64rr
110456U, // CALL16m
12152U, // CALL16r
118614U, // CALL32m
12118U, // CALL32r
126823U, // CALL64m
132696U, // CALL64pcrel32
12135U, // CALL64r
133453U, // CALLpcrel16
131839U, // CALLpcrel32
5218U, // CBW
4412U, // CDQ
4805U, // CDQE
4339U, // CLAC
4371U, // CLC
4408U, // CLD
4518U, // CLGI
4528U, // CLI
5149U, // CLTS
4375U, // CMC
2132085U, // CMOVA16rm
2123893U, // CMOVA16rr
2138555U, // CMOVA32rm
2122171U, // CMOVA32rr
2147619U, // CMOVA64rm
2123043U, // CMOVA64rr
2132192U, // CMOVAE16rm
2124000U, // CMOVAE16rr
2138671U, // CMOVAE32rm
2122287U, // CMOVAE32rr
2147735U, // CMOVAE64rm
2123159U, // CMOVAE64rr
2132113U, // CMOVB16rm
2123921U, // CMOVB16rr
2138583U, // CMOVB32rm
2122199U, // CMOVB32rr
2147647U, // CMOVB64rm
2123071U, // CMOVB64rr
2132201U, // CMOVBE16rm
2124009U, // CMOVBE16rr
2138680U, // CMOVBE32rm
2122296U, // CMOVBE32rr
2147744U, // CMOVBE64rm
2123168U, // CMOVBE64rr
2132237U, // CMOVE16rm
2124045U, // CMOVE16rr
2138770U, // CMOVE32rm
2122386U, // CMOVE32rr
2147842U, // CMOVE64rm
2123266U, // CMOVE64rr
2132267U, // CMOVG16rm
2124075U, // CMOVG16rr
2138800U, // CMOVG32rm
2122416U, // CMOVG32rr
2147872U, // CMOVG64rm
2123296U, // CMOVG64rr
2132210U, // CMOVGE16rm
2124018U, // CMOVGE16rr
2138689U, // CMOVGE32rm
2122305U, // CMOVGE32rr
2147753U, // CMOVGE64rm
2123177U, // CMOVGE64rr
2132327U, // CMOVL16rm
2124135U, // CMOVL16rr
2138905U, // CMOVL32rm
2122521U, // CMOVL32rr
2147962U, // CMOVL64rm
2123386U, // CMOVL64rr
2132219U, // CMOVLE16rm
2124027U, // CMOVLE16rr
2138698U, // CMOVLE32rm
2122314U, // CMOVLE32rr
2147762U, // CMOVLE64rm
2123186U, // CMOVLE64rr
2132228U, // CMOVNE16rm
2124036U, // CMOVNE16rr
2138707U, // CMOVNE32rm
2122323U, // CMOVNE32rr
2147771U, // CMOVNE64rm
2123195U, // CMOVNE64rr
2132340U, // CMOVNO16rm
2124148U, // CMOVNO16rr
2138925U, // CMOVNO32rm
2122541U, // CMOVNO32rr
2147977U, // CMOVNO64rm
2123401U, // CMOVNO64rr
2132370U, // CMOVNP16rm
2124178U, // CMOVNP16rr
2138970U, // CMOVNP32rm
2122586U, // CMOVNP32rr
2148015U, // CMOVNP64rm
2123439U, // CMOVNP64rr
2132512U, // CMOVNS16rm
2124320U, // CMOVNS16rr
2139121U, // CMOVNS32rm
2122737U, // CMOVNS32rr
2148151U, // CMOVNS64rm
2123575U, // CMOVNS64rr
2132349U, // CMOVO16rm
2124157U, // CMOVO16rr
2138934U, // CMOVO32rm
2122550U, // CMOVO32rr
2147986U, // CMOVO64rm
2123410U, // CMOVO64rr
2132391U, // CMOVP16rm
2124199U, // CMOVP16rr
2138997U, // CMOVP32rm
2122613U, // CMOVP32rr
2148030U, // CMOVP64rm
2123454U, // CMOVP64rr
2132547U, // CMOVS16rm
2124355U, // CMOVS16rr
2139156U, // CMOVS32rm
2122772U, // CMOVS32rr
2148179U, // CMOVS64rm
2123603U, // CMOVS64rr
3687U, // CMOV_FR32
3846U, // CMOV_FR64
3566U, // CMOV_GR16
3546U, // CMOV_GR32
3865U, // CMOV_GR8
3667U, // CMOV_RFP32
3826U, // CMOV_RFP64
3586U, // CMOV_RFP80
3626U, // CMOV_V16F32
3706U, // CMOV_V2F64
3766U, // CMOV_V2I64
3606U, // CMOV_V4F32
3726U, // CMOV_V4F64
3786U, // CMOV_V4I64
3647U, // CMOV_V8F32
3746U, // CMOV_V8F64
3806U, // CMOV_V8I64
534917U, // CMP16i16
1067397U, // CMP16mi
1067397U, // CMP16mi8
1067397U, // CMP16mr
2173317U, // CMP16ri
2173317U, // CMP16ri8
100741U, // CMP16rm
2173317U, // CMP16rr
2173317U, // CMP16rr_REV
2630477U, // CMP32i32
3162957U, // CMP32mi
3162957U, // CMP32mi8
3162957U, // CMP32mr
2171725U, // CMP32ri
2171725U, // CMP32ri8
66381U, // CMP32rm
2171725U, // CMP32rr
2171725U, // CMP32rr_REV
3679913U, // CMP64i32
4212393U, // CMP64mi32
4212393U, // CMP64mi8
4212393U, // CMP64mr
2172585U, // CMP64ri32
2172585U, // CMP64ri8
83625U, // CMP64rm
2172585U, // CMP64rr
2172585U, // CMP64rr_REV
4726917U, // CMP8i8
5259397U, // CMP8mi
5259397U, // CMP8mr
2171013U, // CMP8ri
139397U, // CMP8rm
2171013U, // CMP8rr
2171013U, // CMP8rr_REV
40517824U, // CMPSB
57304058U, // CMPSL
74090304U, // CMPSQ
90876457U, // CMPSW
180235U, // CMPXCHG16B
1067297U, // CMPXCHG16rm
2173217U, // CMPXCHG16rr
3162790U, // CMPXCHG32rm
2171558U, // CMPXCHG32rr
4212246U, // CMPXCHG64rm
2172438U, // CMPXCHG64rr
122903U, // CMPXCHG8B
5259347U, // CMPXCHG8rm
2170963U, // CMPXCHG8rr
4402U, // CPUID32
4402U, // CPUID64
4723U, // CQO
4421U, // CWD
4667U, // CWDE
4274U, // DAA
4845U, // DAS
4164U, // DATA16_PREFIX
108711U, // DEC16m
10407U, // DEC16r
10407U, // DEC32_16r
8685U, // DEC32_32r
115181U, // DEC32m
8685U, // DEC32r
108711U, // DEC64_16m
10407U, // DEC64_16r
115181U, // DEC64_32m
8685U, // DEC64_32r
124245U, // DEC64m
9557U, // DEC64r
188468U, // DEC8m
8244U, // DEC8r
109215U, // DIV16m
10911U, // DIV16r
115830U, // DIV32m
9334U, // DIV32r
124858U, // DIV64m
10170U, // DIV64r
188649U, // DIV8m
8425U, // DIV8r
11601U, // EH_RETURN
11601U, // EH_RETURN64
3987U, // EH_SjLj_LongJmp32
4077U, // EH_SjLj_LongJmp64
4006U, // EH_SjLj_SetJmp32
4096U, // EH_SjLj_SetJmp64
132365U, // EH_SjLj_Setup
107489303U, // ENTER
2173260U, // FARCALL16i
200567U, // FARCALL16m
2171646U, // FARCALL32i
200533U, // FARCALL32m
200550U, // FARCALL64
2173323U, // FARJMP16i
200576U, // FARJMP16m
2171731U, // FARJMP32i
200542U, // FARJMP32m
200559U, // FARJMP64
4680U, // FSETPM
4359U, // GETSEC
5154U, // HLT
109214U, // IDIV16m
10910U, // IDIV16r
115829U, // IDIV32m
9333U, // IDIV32r
124857U, // IDIV64m
10169U, // IDIV64r
188648U, // IDIV8m
8424U, // IDIV8r
108896U, // IMUL16m
10592U, // IMUL16r
2132320U, // IMUL16rm
7432544U, // IMUL16rmi
7432544U, // IMUL16rmi8
2124128U, // IMUL16rr
18377056U, // IMUL16rri
18377056U, // IMUL16rri8
115474U, // IMUL32m
8978U, // IMUL32r
2138898U, // IMUL32rm
5858066U, // IMUL32rmi
5858066U, // IMUL32rmi8
2122514U, // IMUL32rr
18375442U, // IMUL32rri
18375442U, // IMUL32rri8
124531U, // IMUL64m
9843U, // IMUL64r
2147955U, // IMUL64rm
6383219U, // IMUL64rmi32
6383219U, // IMUL64rmi8
2123379U, // IMUL64rr
18376307U, // IMUL64rri32
18376307U, // IMUL64rri8
188537U, // IMUL8m
8313U, // IMUL8r
534895U, // IN16ri
5235U, // IN16rr
2630440U, // IN32ri
5314U, // IN32rr
4726912U, // IN8ri
4556U, // IN8rr
108717U, // INC16m
10413U, // INC16r
10413U, // INC32_16r
8691U, // INC32_32r
115187U, // INC32m
8691U, // INC32r
108717U, // INC64_16m
10413U, // INC64_16r
115187U, // INC64_32m
8691U, // INC64_32r
124251U, // INC64m
9563U, // INC64r
188474U, // INC8m
8250U, // INC8r
150821U, // INSB
159024U, // INSL
175419U, // INSW
10319U, // INT
3982U, // INT1
4072U, // INT3
4718U, // INTO
4428U, // INVD
206932U, // INVEPT32
206932U, // INVEPT64
188818U, // INVLPG
5295U, // INVLPGA32
5363U, // INVLPGA64
205072U, // INVPCID32
205072U, // INVPCID64
205081U, // INVVPID32
205081U, // INVVPID64
5223U, // IRET16
4638U, // IRET32
4776U, // IRET64
4243U, // Int_MemBarrier
131378U, // JAE_1
131378U, // JAE_2
131378U, // JAE_4
131073U, // JA_1
131073U, // JA_2
131073U, // JA_4
131390U, // JBE_1
131390U, // JBE_2
131390U, // JBE_4
131165U, // JB_1
131165U, // JB_2
131165U, // JB_4
133824U, // JCXZ
133817U, // JECXZ_32
133817U, // JECXZ_64
131414U, // JE_1
131414U, // JE_2
131414U, // JE_4
131402U, // JGE_1
131402U, // JGE_2
131402U, // JGE_4
131470U, // JG_1
131470U, // JG_2
131470U, // JG_4
131418U, // JLE_1
131418U, // JLE_2
131418U, // JLE_4
131789U, // JL_1
131789U, // JL_2
131789U, // JL_4
110465U, // JMP16m
12161U, // JMP16r
118623U, // JMP32m
12127U, // JMP32r
126832U, // JMP64m
12144U, // JMP64r
132336U, // JMP_1
132336U, // JMP_2
132336U, // JMP_4
131430U, // JNE_1
131430U, // JNE_2
131430U, // JNE_4
132314U, // JNO_1
132314U, // JNO_2
132314U, // JNO_4
132341U, // JNP_1
132341U, // JNP_2
132341U, // JNP_4
133181U, // JNS_1
133181U, // JNS_2
133181U, // JNS_4
132310U, // JO_1
132310U, // JO_2
132310U, // JO_4
132332U, // JP_1
132332U, // JP_2
132332U, // JP_4
133830U, // JRCXZ
133177U, // JS_1
133177U, // JS_2
133177U, // JS_4
4499U, // LAHF
100783U, // LAR16rm
2173359U, // LAR16rr
99197U, // LAR32rm
2171773U, // LAR32rr
100038U, // LAR64rm
2172614U, // LAR64rr
1067297U, // LCMPXCHG16
180235U, // LCMPXCHG16B
3162790U, // LCMPXCHG32
4212246U, // LCMPXCHG64
5259347U, // LCMPXCHG8
122903U, // LCMPXCHG8B
215553U, // LDS16rm
213970U, // LDS32rm
100463U, // LEA16r
65973U, // LEA32r
65973U, // LEA64_32r
83229U, // LEA64r
4486U, // LEAVE
4486U, // LEAVE64
215566U, // LES16rm
213983U, // LES32rm
215572U, // LFS16rm
213989U, // LFS32rm
214827U, // LFS64rm
199248U, // LGDT16m
197665U, // LGDT32m
198496U, // LGDT64m
215578U, // LGS16rm
213995U, // LGS32rm
214833U, // LGS64rm
199262U, // LIDT16m
197679U, // LIDT32m
198510U, // LIDT64m
109164U, // LLDT16m
10860U, // LLDT16r
109227U, // LMSW16m
10923U, // LMSW16r
1067194U, // LOCK_ADD16mi
1067194U, // LOCK_ADD16mi8
1067194U, // LOCK_ADD16mr
3162633U, // LOCK_ADD32mi
3162633U, // LOCK_ADD32mi8
3162633U, // LOCK_ADD32mr
4212081U, // LOCK_ADD64mi32
4212081U, // LOCK_ADD64mi8
4212081U, // LOCK_ADD64mr
5259329U, // LOCK_ADD8mi
5259329U, // LOCK_ADD8mr
1067219U, // LOCK_AND16mi
1067219U, // LOCK_AND16mi8
1067219U, // LOCK_AND16mr
3162658U, // LOCK_AND32mi
3162658U, // LOCK_AND32mi8
3162658U, // LOCK_AND32mr
4212106U, // LOCK_AND64mi32
4212106U, // LOCK_AND64mi8
4212106U, // LOCK_AND64mr
5259335U, // LOCK_AND8mi
5259335U, // LOCK_AND8mr
108711U, // LOCK_DEC16m
115181U, // LOCK_DEC32m
124245U, // LOCK_DEC64m
188468U, // LOCK_DEC8m
108717U, // LOCK_INC16m
115187U, // LOCK_INC32m
124251U, // LOCK_INC64m
188474U, // LOCK_INC8m
1067470U, // LOCK_OR16mi
1067470U, // LOCK_OR16mi8
1067470U, // LOCK_OR16mr
3163030U, // LOCK_OR32mi
3163030U, // LOCK_OR32mi8
3163030U, // LOCK_OR32mr
4212447U, // LOCK_OR64mi32
4212447U, // LOCK_OR64mi8
4212447U, // LOCK_OR64mr
5259422U, // LOCK_OR8mi
5259422U, // LOCK_OR8mr
4551U, // LOCK_PREFIX
1067147U, // LOCK_SUB16mi
1067147U, // LOCK_SUB16mi8
1067147U, // LOCK_SUB16mr
3162577U, // LOCK_SUB32mi
3162577U, // LOCK_SUB32mi8
3162577U, // LOCK_SUB32mr
4212025U, // LOCK_SUB64mi32
4212025U, // LOCK_SUB64mi8
4212025U, // LOCK_SUB64mr
5259304U, // LOCK_SUB8mi
5259304U, // LOCK_SUB8mr
1067475U, // LOCK_XOR16mi
1067475U, // LOCK_XOR16mi8
1067475U, // LOCK_XOR16mr
3163035U, // LOCK_XOR32mi
3163035U, // LOCK_XOR32mi8
3163035U, // LOCK_XOR32mr
4212461U, // LOCK_XOR64mi32
4212461U, // LOCK_XOR64mi8
4212461U, // LOCK_XOR64mr
5259427U, // LOCK_XOR8mi
5259427U, // LOCK_XOR8mr
4939961U, // LODSB
2851800U, // LODSL
239396U, // LODSQ
772615U, // LODSW
132353U, // LOOP
131450U, // LOOPE
131435U, // LOOPNE
9284U, // LRETIL
10115U, // LRETIQ
10874U, // LRETIW
4644U, // LRETL
4782U, // LRETQ
5229U, // LRETW
100698U, // LSL16rm
2173274U, // LSL16rr
66316U, // LSL32rm
2171660U, // LSL32rr
83557U, // LSL64rm
2172517U, // LSL64rr
215600U, // LSS16rm
214017U, // LSS32rm
214855U, // LSS64rm
109029U, // LTRm
10725U, // LTRr
7940281U, // LXADD16
8462856U, // LXADD32
8988016U, // LXADD64
9510976U, // LXADD8
100993U, // LZCNT16rm
2173569U, // LZCNT16rr
66641U, // LZCNT32rm
2171985U, // LZCNT32rr
83850U, // LZCNT64rm
2172810U, // LZCNT64rr
4672U, // MONTMUL
0U, // MORESTACK_RET
0U, // MORESTACK_RET_RESTORE_R10
257226U, // MOV16ao16
257226U, // MOV16ao16_16
1067685U, // MOV16mi
1067685U, // MOV16mr
1067685U, // MOV16ms
780965U, // MOV16o16a
780965U, // MOV16o16a_16
2173605U, // MOV16ri
2173605U, // MOV16ri_alt
101029U, // MOV16rm
2173605U, // MOV16rr
2173605U, // MOV16rr_REV
2173605U, // MOV16rs
101029U, // MOV16sm
2173605U, // MOV16sr
265469U, // MOV32ao32
265469U, // MOV32ao32_16
2172028U, // MOV32cr
2172028U, // MOV32dr
3163260U, // MOV32mi
3163260U, // MOV32mr
3163260U, // MOV32ms
2884732U, // MOV32o32a
2884732U, // MOV32o32a_16
0U, // MOV32r0
2172028U, // MOV32rc
2172028U, // MOV32rd
2172028U, // MOV32ri
0U, // MOV32ri64
2172028U, // MOV32ri_alt
66684U, // MOV32rm
2172028U, // MOV32rr
2172028U, // MOV32rr_REV
2172028U, // MOV32rs
66684U, // MOV32sm
2172028U, // MOV32sr
257189U, // MOV64ao16
265429U, // MOV64ao32
273673U, // MOV64ao64
281293U, // MOV64ao8
2172864U, // MOV64cr
2172864U, // MOV64dr
4212672U, // MOV64mi32
4212672U, // MOV64mr
4212672U, // MOV64ms
780792U, // MOV64o16a
2884553U, // MOV64o32a
3942171U, // MOV64o64a
4997296U, // MOV64o8a
2172864U, // MOV64rc
2172864U, // MOV64rd
2172699U, // MOV64ri
2172864U, // MOV64ri32
83904U, // MOV64rm
2172864U, // MOV64rr
2172864U, // MOV64rr_REV
2172864U, // MOV64rs
83904U, // MOV64sm
2172864U, // MOV64sr
281330U, // MOV8ao8
281330U, // MOV8ao8_16
5259503U, // MOV8mi
5259503U, // MOV8mr
122700015U, // MOV8mr_NOREX
4997359U, // MOV8o8a
4997359U, // MOV8o8a_16
2171119U, // MOV8ri
2171119U, // MOV8ri_alt
139503U, // MOV8rm
10100975U, // MOV8rm_NOREX
2171119U, // MOV8rr
119611631U, // MOV8rr_NOREX
2171119U, // MOV8rr_REV
1067242U, // MOVBE16mr
100586U, // MOVBE16rm
3162681U, // MOVBE32mr
66105U, // MOVBE32rm
4212129U, // MOVBE64mr
83361U, // MOVBE64rm
0U, // MOVPC32r
286926U, // MOVSB
295957U, // MOVSL
304980U, // MOVSQ
313924U, // MOVSW
141443U, // MOVSX16rm8
2173059U, // MOVSX16rr8
99465U, // MOVSX32rm16
139721U, // MOVSX32rm8
2172041U, // MOVSX32rr16
2171337U, // MOVSX32rr8
100301U, // MOVSX64rm16
67179U, // MOVSX64rm32
140593U, // MOVSX64rm8
2172877U, // MOVSX64rr16
2172523U, // MOVSX64rr32
2172209U, // MOVSX64rr8
141465U, // MOVZX16rm8
2173081U, // MOVZX16rr8
139743U, // MOVZX32_NOREXrm8
2171359U, // MOVZX32_NOREXrr8
99473U, // MOVZX32rm16
139743U, // MOVZX32rm8
2172049U, // MOVZX32rr16
2171359U, // MOVZX32rr8
100309U, // MOVZX64rm16_Q
140615U, // MOVZX64rm8_Q
2172885U, // MOVZX64rr16_Q
2172231U, // MOVZX64rr8_Q
108897U, // MUL16m
10593U, // MUL16r
115475U, // MUL32m
8979U, // MUL32r
124532U, // MUL64m
9844U, // MUL64r
188538U, // MUL8m
8314U, // MUL8r
18392231U, // MULX32rm
18375847U, // MULX32rr
18401259U, // MULX64rm
18376683U, // MULX64rr
108827U, // NEG16m
10523U, // NEG16r
115360U, // NEG32m
8864U, // NEG32r
124432U, // NEG64m
9744U, // NEG64r
188493U, // NEG8m
8269U, // NEG8r
4739U, // NOOP
108955U, // NOOP18_16m4
108955U, // NOOP18_16m5
108955U, // NOOP18_16m6
108955U, // NOOP18_16m7
10651U, // NOOP18_16r4
10651U, // NOOP18_16r5
10651U, // NOOP18_16r6
10651U, // NOOP18_16r7
115555U, // NOOP18_m4
115555U, // NOOP18_m5
115555U, // NOOP18_m6
115555U, // NOOP18_m7
9059U, // NOOP18_r4
9059U, // NOOP18_r5
9059U, // NOOP18_r6
9059U, // NOOP18_r7
115555U, // NOOPL
115555U, // NOOPL_19
115555U, // NOOPL_1a
115555U, // NOOPL_1b
115555U, // NOOPL_1c
115555U, // NOOPL_1d
115555U, // NOOPL_1e
108955U, // NOOPW
108955U, // NOOPW_19
108955U, // NOOPW_1a
108955U, // NOOPW_1b
108955U, // NOOPW_1c
108955U, // NOOPW_1d
108955U, // NOOPW_1e
109201U, // NOT16m
10897U, // NOT16r
115809U, // NOT32m
9313U, // NOT32r
124826U, // NOT64m
10138U, // NOT64r
188635U, // NOT8m
8411U, // NOT8r
534990U, // OR16i16
1067470U, // OR16mi
1067470U, // OR16mi8
1067470U, // OR16mr
1599950U, // OR16ri
1599950U, // OR16ri8
1608142U, // OR16rm
1599950U, // OR16rr
2124238U, // OR16rr_REV
2630550U, // OR32i32
3163030U, // OR32mi
3163030U, // OR32mi8
3163030U, // OR32mr
3163030U, // OR32mrLocked
1598358U, // OR32ri
1598358U, // OR32ri8
1614742U, // OR32rm
1598358U, // OR32rr
2122646U, // OR32rr_REV
3679967U, // OR64i32
4212447U, // OR64mi32
4212447U, // OR64mi8
4212447U, // OR64mr
1599199U, // OR64ri32
1599199U, // OR64ri8
1623775U, // OR64rm
1599199U, // OR64rr
2123487U, // OR64rr_REV
4726942U, // OR8i8
5259422U, // OR8mi
5259422U, // OR8mr
1597598U, // OR8ri
1597598U, // OR8ri8
57502U, // OR8rm
1597598U, // OR8rr
2121886U, // OR8rr_REV
11455U, // OUT16ir
5396U, // OUT16rr
11505U, // OUT32ir
5410U, // OUT32rr
10983U, // OUT8ir
5382U, // OUT8rr
10707143U, // OUTSB
10716173U, // OUTSL
10734140U, // OUTSW
18391878U, // PDEP32rm
18375494U, // PDEP32rr
18400930U, // PDEP64rm
18376354U, // PDEP64rr
18392174U, // PEXT32rm
18375790U, // PEXT32rr
18401202U, // PEXT64rm
18376626U, // PEXT64rr
10657U, // POP16r
108961U, // POP16rmm
10657U, // POP16rmr
9065U, // POP32r
115561U, // POP32rmm
9065U, // POP32rmr
9912U, // POP64r
124600U, // POP64rmm
9912U, // POP64rmr
5179U, // POPA16
4576U, // POPA32
4898U, // POPDS16
4879U, // POPDS32
4936U, // POPES16
4917U, // POPES32
5192U, // POPF16
4589U, // POPF32
4750U, // POPF64
4993U, // POPFS16
4955U, // POPFS32
4974U, // POPFS64
5050U, // POPGS16
5012U, // POPGS32
5031U, // POPGS64
5140U, // POPSS16
5121U, // POPSS32
10547U, // PUSH16i8
10547U, // PUSH16r
108851U, // PUSH16rmm
10547U, // PUSH16rmr
8888U, // PUSH32i8
8888U, // PUSH32r
115384U, // PUSH32rmm
8888U, // PUSH32rmr
10547U, // PUSH64i16
9768U, // PUSH64i32
9768U, // PUSH64i8
9768U, // PUSH64r
124456U, // PUSH64rmm
9768U, // PUSH64rmr
5172U, // PUSHA16
4569U, // PUSHA32
4859U, // PUSHCS16
4849U, // PUSHCS32
4888U, // PUSHDS16
4869U, // PUSHDS32
4926U, // PUSHES16
4907U, // PUSHES32
5185U, // PUSHF16
4582U, // PUSHF32
4743U, // PUSHF64
4983U, // PUSHFS16
4945U, // PUSHFS32
4964U, // PUSHFS64
5040U, // PUSHGS16
5002U, // PUSHGS32
5021U, // PUSHGS64
5130U, // PUSHSS16
5111U, // PUSHSS32
10547U, // PUSHi16
8888U, // PUSHi32
108864U, // RCL16m1
109656U, // RCL16mCL
1067328U, // RCL16mi
10560U, // RCL16r1
11352U, // RCL16rCL
2124096U, // RCL16ri
115424U, // RCL32m1
117624U, // RCL32mCL
3162848U, // RCL32mi
8928U, // RCL32r1
11128U, // RCL32rCL
2122464U, // RCL32ri
124492U, // RCL64m1
125928U, // RCL64mCL
4212300U, // RCL64mi
9804U, // RCL64r1
11240U, // RCL64rCL
2123340U, // RCL64ri
188519U, // RCL8m1
191240U, // RCL8mCL
5259367U, // RCL8mi
8295U, // RCL8r1
11016U, // RCL8rCL
2121831U, // RCL8ri
108987U, // RCR16m1
109700U, // RCR16mCL
1067451U, // RCR16mi
10683U, // RCR16r1
11396U, // RCR16rCL
2124219U, // RCR16ri
115593U, // RCR32m1
117668U, // RCR32mCL
3163017U, // RCR32mi
9097U, // RCR32r1
11172U, // RCR32rCL
2122633U, // RCR32ri
124626U, // RCR64m1
125972U, // RCR64mCL
4212434U, // RCR64mi
9938U, // RCR64r1
11284U, // RCR64rCL
2123474U, // RCR64ri
188561U, // RCR8m1
191284U, // RCR8mCL
5259409U, // RCR8mi
8337U, // RCR8r1
11060U, // RCR8rCL
2121873U, // RCR8ri
8796U, // RDFSBASE
9668U, // RDFSBASE64
8818U, // RDGSBASE
9690U, // RDGSBASE64
4819U, // RDMSR
4379U, // RDPMC
10448U, // RDRAND16r
8735U, // RDRAND32r
9607U, // RDRAND64r
10432U, // RDSEED16r
8719U, // RDSEED32r
9591U, // RDSEED64r
4392U, // RDTSC
4728U, // RDTSCP
3904U, // RELEASE_MOV16mr
3904U, // RELEASE_MOV32mr
3904U, // RELEASE_MOV64mr
3904U, // RELEASE_MOV8mr
4442U, // REPNE_PREFIX
4323U, // REP_MOVSB_32
4323U, // REP_MOVSB_64
4628U, // REP_MOVSD_32
4628U, // REP_MOVSD_64
4766U, // REP_MOVSQ_64
5208U, // REP_MOVSW_32
5208U, // REP_MOVSW_64
4735U, // REP_PREFIX
4313U, // REP_STOSB_32
4313U, // REP_STOSB_64
4618U, // REP_STOSD_32
4618U, // REP_STOSD_64
4756U, // REP_STOSQ_64
5198U, // REP_STOSW_32
5198U, // REP_STOSW_64
9285U, // RETIL
10116U, // RETIQ
10875U, // RETIW
4639U, // RETL
4777U, // RETQ
5224U, // RETW
4158U, // REX64_PREFIX
108884U, // ROL16m1
109678U, // ROL16mCL
1067348U, // ROL16mi
10580U, // ROL16r1
11374U, // ROL16rCL
2124116U, // ROL16ri
115462U, // ROL32m1
117646U, // ROL32mCL
3162886U, // ROL32mi
8966U, // ROL32r1
11150U, // ROL32rCL
2122502U, // ROL32ri
124511U, // ROL64m1
125950U, // ROL64mCL
4212319U, // ROL64mi
9823U, // ROL64r1
11262U, // ROL64rCL
2123359U, // ROL64ri
188531U, // ROL8m1
191262U, // ROL8mCL
5259379U, // ROL8mi
8307U, // ROL8r1
11038U, // ROL8rCL
2121843U, // ROL8ri
109005U, // ROR16m1
109722U, // ROR16mCL
1067469U, // ROR16mi
10701U, // ROR16r1
11418U, // ROR16rCL
2124237U, // ROR16ri
115605U, // ROR32m1
117690U, // ROR32mCL
3163029U, // ROR32mi
9109U, // ROR32r1
11194U, // ROR32rCL
2122645U, // ROR32ri
124638U, // ROR64m1
125994U, // ROR64mCL
4212446U, // ROR64mi
9950U, // ROR64r1
11306U, // ROR64rCL
2123486U, // ROR64ri
188573U, // ROR8m1
191306U, // ROR8mCL
5259421U, // ROR8mi
8349U, // ROR8r1
11082U, // ROR8rCL
2121885U, // ROR8ri
5858499U, // RORX32mi
18375875U, // RORX32ri
6383623U, // RORX64mi
18376711U, // RORX64ri
4687U, // RSM
4504U, // SAHF
108858U, // SAL16m1
109645U, // SAL16mCL
1067322U, // SAL16mi
10554U, // SAL16r1
11341U, // SAL16rCL
2124090U, // SAL16ri
115418U, // SAL32m1
117613U, // SAL32mCL
3162842U, // SAL32mi
8922U, // SAL32r1
11117U, // SAL32rCL
2122458U, // SAL32ri
124486U, // SAL64m1
125917U, // SAL64mCL
4212294U, // SAL64mi
9798U, // SAL64r1
11229U, // SAL64rCL
2123334U, // SAL64ri
188513U, // SAL8m1
191229U, // SAL8mCL
5259361U, // SAL8mi
8289U, // SAL8r1
11005U, // SAL8rCL
2121825U, // SAL8ri
4366U, // SALC
108981U, // SAR16m1
109689U, // SAR16mCL
1067445U, // SAR16mi
10677U, // SAR16r1
11385U, // SAR16rCL
2124213U, // SAR16ri
115587U, // SAR32m1
117657U, // SAR32mCL
3163011U, // SAR32mi
9091U, // SAR32r1
11161U, // SAR32rCL
2122627U, // SAR32ri
124620U, // SAR64m1
125961U, // SAR64mCL
4212428U, // SAR64mi
9932U, // SAR64r1
11273U, // SAR64rCL
2123468U, // SAR64ri
188555U, // SAR8m1
191273U, // SAR8mCL
5259403U, // SAR8mi
8331U, // SAR8r1
11049U, // SAR8rCL
2121867U, // SAR8ri
5858485U, // SARX32rm
18375861U, // SARX32rr
6383609U, // SARX64rm
18376697U, // SARX64rr
534653U, // SBB16i16
1067133U, // SBB16mi
1067133U, // SBB16mi8
1067133U, // SBB16mr
1599613U, // SBB16ri
1599613U, // SBB16ri8
1607805U, // SBB16rm
1599613U, // SBB16rr
2123901U, // SBB16rr_REV
2630083U, // SBB32i32
3162563U, // SBB32mi
3162563U, // SBB32mi8
3162563U, // SBB32mr
1597891U, // SBB32ri
1597891U, // SBB32ri8
1614275U, // SBB32rm
1597891U, // SBB32rr
2122179U, // SBB32rr_REV
3679531U, // SBB64i32
4212011U, // SBB64mi32
4212011U, // SBB64mi8
4212011U, // SBB64mr
1598763U, // SBB64ri32
1598763U, // SBB64ri8
1623339U, // SBB64rm
1598763U, // SBB64rr
2123051U, // SBB64rr_REV
4726818U, // SBB8i8
5259298U, // SBB8mi
5259298U, // SBB8mr
1597474U, // SBB8ri
57378U, // SBB8rm
1597474U, // SBB8rr
2121762U, // SBB8rr_REV
4866217U, // SCASB
2778050U, // SCASL
3835668U, // SCASQ
698865U, // SCASW
5066U, // SEG_ALLOCA_32
5066U, // SEG_ALLOCA_64
4469U, // SEH_EndPrologue
4455U, // SEH_Epilogue
11679U, // SEH_PushFrame
11724U, // SEH_PushReg
107490750U, // SEH_SaveReg
107490664U, // SEH_SaveXMM
107490735U, // SEH_SetFrame
11662U, // SEH_StackAlloc
188727U, // SETAEm
8503U, // SETAEr
188421U, // SETAm
8197U, // SETAr
188739U, // SETBEm
8515U, // SETBEr
0U, // SETB_C16r
0U, // SETB_C32r
0U, // SETB_C64r
0U, // SETB_C8r
188629U, // SETBm
8405U, // SETBr
188801U, // SETEm
8577U, // SETEr
188751U, // SETGEm
8527U, // SETGEr
188826U, // SETGm
8602U, // SETGr
188767U, // SETLEm
8543U, // SETLEr
189515U, // SETLm
9291U, // SETLr
188787U, // SETNEm
8563U, // SETNEr
189663U, // SETNOm
9439U, // SETNOr
189690U, // SETNPm
9466U, // SETNPr
190530U, // SETNSm
10306U, // SETNSr
189670U, // SETOm
9446U, // SETOr
189703U, // SETPm
9479U, // SETPr
190537U, // SETSm
10313U, // SETSr
199255U, // SGDT16m
197672U, // SGDT32m
198503U, // SGDT64m
108870U, // SHL16m1
109667U, // SHL16mCL
1067334U, // SHL16mi
10566U, // SHL16r1
11363U, // SHL16rCL
2124102U, // SHL16ri
115430U, // SHL32m1
117635U, // SHL32mCL
3162854U, // SHL32mi
8934U, // SHL32r1
11139U, // SHL32rCL
2122470U, // SHL32ri
124498U, // SHL64m1
125939U, // SHL64mCL
4212306U, // SHL64mi
9810U, // SHL64r1
11251U, // SHL64rCL
2123346U, // SHL64ri
188525U, // SHL8m1
191251U, // SHL8mCL
5259373U, // SHL8mi
8301U, // SHL8r1
11027U, // SHL8rCL
2121837U, // SHL8ri
1068085U, // SHLD16mrCL
145320137U, // SHLD16mri8
2124853U, // SHLD16rrCL
321737U, // SHLD16rri8
3165013U, // SHLD32mrCL
162095640U, // SHLD32mri8
2124629U, // SHLD32rrCL
320024U, // SHLD32rri8
4213701U, // SHLD64mrCL
178873728U, // SHLD64mri8
2124741U, // SHLD64rrCL
320896U, // SHLD64rri8
5858464U, // SHLX32rm
18375840U, // SHLX32rr
6383588U, // SHLX64rm
18376676U, // SHLX64rr
108999U, // SHR16m1
109711U, // SHR16mCL
1067463U, // SHR16mi
10695U, // SHR16r1
11407U, // SHR16rCL
2124231U, // SHR16ri
115599U, // SHR32m1
117679U, // SHR32mCL
3163023U, // SHR32mi
9103U, // SHR32r1
11183U, // SHR32rCL
2122639U, // SHR32ri
124632U, // SHR64m1
125983U, // SHR64mCL
4212440U, // SHR64mi
9944U, // SHR64r1
11295U, // SHR64rCL
2123480U, // SHR64ri
188567U, // SHR8m1
191295U, // SHR8mCL
5259415U, // SHR8mi
8343U, // SHR8r1
11071U, // SHR8rCL
2121879U, // SHR8ri
1068097U, // SHRD16mrCL
145320153U, // SHRD16mri8
2124865U, // SHRD16rrCL
321753U, // SHRD16rri8
3165025U, // SHRD32mrCL
162095656U, // SHRD32mri8
2124641U, // SHRD32rrCL
320040U, // SHRD32rri8
4213713U, // SHRD64mrCL
178873744U, // SHRD64mri8
2124753U, // SHRD64rrCL
320912U, // SHRD64rri8
5858492U, // SHRX32rm
18375868U, // SHRX32rr
6383616U, // SHRX64rm
18376704U, // SHRX64rr
199269U, // SIDT16m
197686U, // SIDT32m
198517U, // SIDT64m
5283U, // SKINIT
109171U, // SLDT16m
10867U, // SLDT16r
9277U, // SLDT32r
108412U, // SLDT64m
10108U, // SLDT64r
109234U, // SMSW16m
10930U, // SMSW16r
9346U, // SMSW32r
10182U, // SMSW64r
4344U, // STAC
4398U, // STC
4417U, // STD
4523U, // STGI
4532U, // STI
150235U, // STOSB
158948U, // STOSL
167192U, // STOSQ
175283U, // STOSW
10731U, // STR16r
9140U, // STR32r
9990U, // STR64r
109035U, // STRm
534667U, // SUB16i16
1067147U, // SUB16mi
1067147U, // SUB16mi8
1067147U, // SUB16mr
1599627U, // SUB16ri
1599627U, // SUB16ri8
1607819U, // SUB16rm
1599627U, // SUB16rr
2123915U, // SUB16rr_REV
2630097U, // SUB32i32
3162577U, // SUB32mi
3162577U, // SUB32mi8
3162577U, // SUB32mr
1597905U, // SUB32ri
1597905U, // SUB32ri8
1614289U, // SUB32rm
1597905U, // SUB32rr
2122193U, // SUB32rr_REV
3679545U, // SUB64i32
4212025U, // SUB64mi32
4212025U, // SUB64mi8
4212025U, // SUB64mr
1598777U, // SUB64ri32
1598777U, // SUB64ri8
1623353U, // SUB64rm
1598777U, // SUB64rr
2123065U, // SUB64rr_REV
4726824U, // SUB8i8
5259304U, // SUB8mi
5259304U, // SUB8mr
1597480U, // SUB8ri
1597480U, // SUB8ri8
57384U, // SUB8rm
1597480U, // SUB8rr
2121768U, // SUB8rr_REV
5059U, // SWAPGS
4610U, // SYSCALL
4810U, // SYSENTER
4658U, // SYSEXIT
4796U, // SYSEXIT64
4650U, // SYSRET
4788U, // SYSRET64
65795U, // T1MSKC32rm
2171139U, // T1MSKC32rr
82179U, // T1MSKC64rm
2171139U, // T1MSKC64rr
11666672U, // TAILJMPd
11666672U, // TAILJMPd64
11652959U, // TAILJMPm
11661168U, // TAILJMPm64
0U, // TAILJMPr
11546480U, // TAILJMPr64
0U, // TCRETURNdi
0U, // TCRETURNdi64
0U, // TCRETURNmi
0U, // TCRETURNmi64
0U, // TCRETURNri
0U, // TCRETURNri64
535191U, // TEST16i16
1067671U, // TEST16mi
1067671U, // TEST16mi_alt
2173591U, // TEST16ri
2173591U, // TEST16ri_alt
1067671U, // TEST16rm
2173591U, // TEST16rr
2630759U, // TEST32i32
3163239U, // TEST32mi
3163239U, // TEST32mi_alt
2172007U, // TEST32ri
2172007U, // TEST32ri_alt
3163239U, // TEST32rm
2172007U, // TEST32rr
3680171U, // TEST64i32
4212651U, // TEST64mi32
4212651U, // TEST64mi32_alt
2172843U, // TEST64ri32
2172843U, // TEST64ri32_alt
4212651U, // TEST64rm
2172843U, // TEST64rr
4727009U, // TEST8i8
5259489U, // TEST8mi
5259489U, // TEST8mi_alt
2171105U, // TEST8ri
0U, // TEST8ri_NOREX
2171105U, // TEST8ri_alt
5259489U, // TEST8rm
2171105U, // TEST8rr
4024U, // TLSCall_32
4114U, // TLSCall_64
4037U, // TLS_addr32
4127U, // TLS_addr64
4050U, // TLS_base_addr32
4140U, // TLS_base_addr64
4068U, // TRAP
101001U, // TZCNT16rm
2173577U, // TZCNT16rr
66649U, // TZCNT32rm
2171993U, // TZCNT32rr
83858U, // TZCNT64rm
2172818U, // TZCNT64rr
65966U, // TZMSK32rm
2171310U, // TZMSK32rr
82350U, // TZMSK64rm
2171310U, // TZMSK64rr
4278U, // UD2B
191376710U, // VAARG_64
375926134U, // VASTART_SAVE_XMM_REGS
108582U, // VERRm
10278U, // VERRr
108993U, // VERWm
10689U, // VERWr
4603U, // VMCALL
124942U, // VMCLEARm
4385U, // VMFUNC
4509U, // VMLAUNCH
5248U, // VMLOAD32
5328U, // VMLOAD64
4595U, // VMMCALL
123170U, // VMPTRLDm
125030U, // VMPTRSTm
3162623U, // VMREAD32rm
2171391U, // VMREAD32rr
4212071U, // VMREAD64rm
2172263U, // VMREAD64rr
4433U, // VMRESUME
5272U, // VMRUN32
5352U, // VMRUN64
5260U, // VMSAVE32
5340U, // VMSAVE64
66184U, // VMWRITE32rm
2171528U, // VMWRITE32rr
83440U, // VMWRITE64rm
2172400U, // VMWRITE64rr
4492U, // VMXOFF
124111U, // VMXON
132696U, // W64ALLOCA
4426U, // WBINVD
4691U, // WIN_ALLOCA
4536U, // WIN_FTOL_32
4536U, // WIN_FTOL_64
8807U, // WRFSBASE
9679U, // WRFSBASE64
8829U, // WRGSBASE
9701U, // WRGSBASE64
4825U, // WRMSR
1067193U, // XADD16rm
2173113U, // XADD16rr
3162632U, // XADD32rm
2171400U, // XADD32rr
4212080U, // XADD64rm
2172272U, // XADD64rr
5259328U, // XADD8rm
2170944U, // XADD8rr
534820U, // XCHG16ar
7940388U, // XCHG16rm
12134692U, // XCHG16rr
2630313U, // XCHG32ar
2630313U, // XCHG32ar64
8463017U, // XCHG32rm
12133033U, // XCHG32rr
3679769U, // XCHG64ar
8988185U, // XCHG64rm
12133913U, // XCHG64rr
9510998U, // XCHG8rm
12132438U, // XCHG8rr
4349U, // XCRYPTCBC
4293U, // XCRYPTCFB
4831U, // XCRYPTCTR
4283U, // XCRYPTECB
4303U, // XCRYPTOFB
5158U, // XGETBV
4333U, // XLAT
534995U, // XOR16i16
1067475U, // XOR16mi
1067475U, // XOR16mi8
1067475U, // XOR16mr
1599955U, // XOR16ri
1599955U, // XOR16ri8
1608147U, // XOR16rm
1599955U, // XOR16rr
2124243U, // XOR16rr_REV
2630555U, // XOR32i32
3163035U, // XOR32mi
3163035U, // XOR32mi8
3163035U, // XOR32mr
1598363U, // XOR32ri
1598363U, // XOR32ri8
1614747U, // XOR32rm
1598363U, // XOR32rr
2122651U, // XOR32rr_REV
3679981U, // XOR64i32
4212461U, // XOR64mi32
4212461U, // XOR64mi8
4212461U, // XOR64mr
1599213U, // XOR64ri32
1599213U, // XOR64ri8
1623789U, // XOR64rm
1599213U, // XOR64rr
2123501U, // XOR64rr_REV
4726947U, // XOR8i8
5259427U, // XOR8mi
5259427U, // XOR8mr
1597603U, // XOR8ri
1597603U, // XOR8ri8
57507U, // XOR8rm
1597603U, // XOR8rr
2121891U, // XOR8rr_REV
198686U, // XRSTOR
198372U, // XRSTOR64
196999U, // XSAVE
198138U, // XSAVE64
198748U, // XSAVEOPT
198560U, // XSAVEOPT64
5165U, // XSETBV
3976U, // XSHA1
4171U, // XSHA256
4448U, // XSTORE
0U
};
#ifndef CAPSTONE_DIET
static char AsmStrs[] = {
/* 0 */ 'j', 'a', 9, 0,
/* 4 */ 's', 'e', 't', 'a', 9, 0,
/* 10 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '1', '6', 'b', 9, 0,
/* 22 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '8', 'b', 9, 0,
/* 33 */ 's', 'b', 'b', 'b', 9, 0,
/* 39 */ 's', 'u', 'b', 'b', 9, 0,
/* 45 */ 'a', 'd', 'c', 'b', 9, 0,
/* 51 */ 'd', 'e', 'c', 'b', 9, 0,
/* 57 */ 'i', 'n', 'c', 'b', 9, 0,
/* 63 */ 'x', 'a', 'd', 'd', 'b', 9, 0,
/* 70 */ 'a', 'n', 'd', 'b', 9, 0,
/* 76 */ 'n', 'e', 'g', 'b', 9, 0,
/* 82 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'b', 9, 0,
/* 92 */ 'j', 'b', 9, 0,
/* 96 */ 's', 'a', 'l', 'b', 9, 0,
/* 102 */ 'r', 'c', 'l', 'b', 9, 0,
/* 108 */ 's', 'h', 'l', 'b', 9, 0,
/* 114 */ 'r', 'o', 'l', 'b', 9, 0,
/* 120 */ 'i', 'm', 'u', 'l', 'b', 9, 0,
/* 127 */ 'i', 'n', 'b', 9, 0,
/* 132 */ 'c', 'm', 'p', 'b', 9, 0,
/* 138 */ 's', 'a', 'r', 'b', 9, 0,
/* 144 */ 'r', 'c', 'r', 'b', 9, 0,
/* 150 */ 's', 'h', 'r', 'b', 9, 0,
/* 156 */ 'r', 'o', 'r', 'b', 9, 0,
/* 162 */ 'x', 'o', 'r', 'b', 9, 0,
/* 168 */ 's', 'c', 'a', 's', 'b', 9, 0,
/* 175 */ 'm', 'o', 'v', 'a', 'b', 's', 'b', 9, 0,
/* 184 */ 'l', 'o', 'd', 's', 'b', 9, 0,
/* 191 */ 'c', 'm', 'p', 's', 'b', 9, 0,
/* 198 */ 'o', 'u', 't', 's', 'b', 9, 0,
/* 205 */ 'm', 'o', 'v', 's', 'b', 9, 0,
/* 212 */ 's', 'e', 't', 'b', 9, 0,
/* 218 */ 'n', 'o', 't', 'b', 9, 0,
/* 224 */ 't', 'e', 's', 't', 'b', 9, 0,
/* 231 */ 'i', 'd', 'i', 'v', 'b', 9, 0,
/* 238 */ 'm', 'o', 'v', 'b', 9, 0,
/* 244 */ 'b', 'l', 'c', 'i', 'c', 9, 0,
/* 251 */ 'b', 'l', 's', 'i', 'c', 9, 0,
/* 258 */ 't', '1', 'm', 's', 'k', 'c', 9, 0,
/* 266 */ 'a', 'a', 'd', 9, 0,
/* 271 */ 'i', 'n', 'v', 'p', 'c', 'i', 'd', 9, 0,
/* 280 */ 'i', 'n', 'v', 'v', 'p', 'i', 'd', 9, 0,
/* 289 */ 'v', 'm', 'p', 't', 'r', 'l', 'd', 9, 0,
/* 298 */ 'b', 'o', 'u', 'n', 'd', 9, 0,
/* 305 */ 'j', 'a', 'e', 9, 0,
/* 310 */ 's', 'e', 't', 'a', 'e', 9, 0,
/* 317 */ 'j', 'b', 'e', 9, 0,
/* 322 */ 's', 'e', 't', 'b', 'e', 9, 0,
/* 329 */ 'j', 'g', 'e', 9, 0,
/* 334 */ 's', 'e', 't', 'g', 'e', 9, 0,
/* 341 */ 'j', 'e', 9, 0,
/* 345 */ 'j', 'l', 'e', 9, 0,
/* 350 */ 's', 'e', 't', 'l', 'e', 9, 0,
/* 357 */ 'j', 'n', 'e', 9, 0,
/* 362 */ 'l', 'o', 'o', 'p', 'n', 'e', 9, 0,
/* 370 */ 's', 'e', 't', 'n', 'e', 9, 0,
/* 377 */ 'l', 'o', 'o', 'p', 'e', 9, 0,
/* 384 */ 's', 'e', 't', 'e', 9, 0,
/* 390 */ 'x', 's', 'a', 'v', 'e', 9, 0,
/* 397 */ 'j', 'g', 9, 0,
/* 401 */ 'i', 'n', 'v', 'l', 'p', 'g', 9, 0,
/* 409 */ 's', 'e', 't', 'g', 9, 0,
/* 415 */ 'b', 'l', 'c', 'i', 9, 0,
/* 421 */ 'b', 'l', 'c', 'm', 's', 'k', 9, 0,
/* 429 */ 't', 'z', 'm', 's', 'k', 9, 0,
/* 436 */ 'l', 'e', 'a', 'l', 9, 0,
/* 442 */ 'c', 'm', 'o', 'v', 'a', 'l', 9, 0,
/* 450 */ 's', 'b', 'b', 'l', 9, 0,
/* 456 */ 'm', 'o', 'v', 's', 'b', 'l', 9, 0,
/* 464 */ 's', 'u', 'b', 'l', 9, 0,
/* 470 */ 'c', 'm', 'o', 'v', 'b', 'l', 9, 0,
/* 478 */ 'm', 'o', 'v', 'z', 'b', 'l', 9, 0,
/* 486 */ 'a', 'd', 'c', 'l', 9, 0,
/* 492 */ 'd', 'e', 'c', 'l', 9, 0,
/* 498 */ 'i', 'n', 'c', 'l', 9, 0,
/* 504 */ 'b', 't', 'c', 'l', 9, 0,
/* 510 */ 'v', 'm', 'r', 'e', 'a', 'd', 'l', 9, 0,
/* 519 */ 'x', 'a', 'd', 'd', 'l', 9, 0,
/* 526 */ 'r', 'd', 's', 'e', 'e', 'd', 'l', 9, 0,
/* 535 */ 's', 'h', 'l', 'd', 'l', 9, 0,
/* 542 */ 'r', 'd', 'r', 'a', 'n', 'd', 'l', 9, 0,
/* 551 */ 's', 'h', 'r', 'd', 'l', 9, 0,
/* 558 */ 'c', 'm', 'o', 'v', 'a', 'e', 'l', 9, 0,
/* 567 */ 'c', 'm', 'o', 'v', 'b', 'e', 'l', 9, 0,
/* 576 */ 'c', 'm', 'o', 'v', 'g', 'e', 'l', 9, 0,
/* 585 */ 'c', 'm', 'o', 'v', 'l', 'e', 'l', 9, 0,
/* 594 */ 'c', 'm', 'o', 'v', 'n', 'e', 'l', 9, 0,
/* 603 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
/* 614 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
/* 625 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
/* 636 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
/* 647 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 'l', 9, 0,
/* 657 */ 'c', 'm', 'o', 'v', 'e', 'l', 9, 0,
/* 665 */ 'b', 's', 'f', 'l', 9, 0,
/* 671 */ 'n', 'e', 'g', 'l', 9, 0,
/* 677 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'l', 9, 0,
/* 687 */ 'c', 'm', 'o', 'v', 'g', 'l', 9, 0,
/* 695 */ 'p', 'u', 's', 'h', 'l', 9, 0,
/* 702 */ 'b', 'z', 'h', 'i', 'l', 9, 0,
/* 709 */ 'b', 'l', 's', 'i', 'l', 9, 0,
/* 716 */ 'j', 'l', 9, 0,
/* 720 */ 'b', 'l', 's', 'm', 's', 'k', 'l', 9, 0,
/* 729 */ 's', 'a', 'l', 'l', 9, 0,
/* 735 */ 'r', 'c', 'l', 'l', 9, 0,
/* 741 */ 's', 'h', 'l', 'l', 9, 0,
/* 747 */ 'b', 'l', 'c', 'f', 'i', 'l', 'l', 9, 0,
/* 756 */ 'b', 'l', 's', 'f', 'i', 'l', 'l', 9, 0,
/* 765 */ 'l', 'c', 'a', 'l', 'l', 'l', 9, 0,
/* 773 */ 'r', 'o', 'l', 'l', 9, 0,
/* 779 */ 'l', 's', 'l', 'l', 9, 0,
/* 785 */ 'i', 'm', 'u', 'l', 'l', 9, 0,
/* 792 */ 'c', 'm', 'o', 'v', 'l', 'l', 9, 0,
/* 800 */ 'a', 'n', 'd', 'n', 'l', 9, 0,
/* 807 */ 'i', 'n', 'l', 9, 0,
/* 812 */ 'c', 'm', 'o', 'v', 'n', 'o', 'l', 9, 0,
/* 821 */ 'c', 'm', 'o', 'v', 'o', 'l', 9, 0,
/* 829 */ 'b', 's', 'w', 'a', 'p', 'l', 9, 0,
/* 837 */ 'p', 'd', 'e', 'p', 'l', 9, 0,
/* 844 */ 'c', 'm', 'p', 'l', 9, 0,
/* 850 */ 'l', 'j', 'm', 'p', 'l', 9, 0,
/* 857 */ 'c', 'm', 'o', 'v', 'n', 'p', 'l', 9, 0,
/* 866 */ 'n', 'o', 'p', 'l', 9, 0,
/* 872 */ 'p', 'o', 'p', 'l', 9, 0,
/* 878 */ 'a', 'r', 'p', 'l', 9, 0,
/* 884 */ 'c', 'm', 'o', 'v', 'p', 'l', 9, 0,
/* 892 */ 'l', 'a', 'r', 'l', 9, 0,
/* 898 */ 's', 'a', 'r', 'l', 9, 0,
/* 904 */ 'r', 'c', 'r', 'l', 9, 0,
/* 910 */ 's', 'h', 'r', 'l', 9, 0,
/* 916 */ 'r', 'o', 'r', 'l', 9, 0,
/* 922 */ 'x', 'o', 'r', 'l', 9, 0,
/* 928 */ 'b', 's', 'r', 'l', 9, 0,
/* 934 */ 'b', 'l', 's', 'r', 'l', 9, 0,
/* 941 */ 'b', 't', 'r', 'l', 9, 0,
/* 947 */ 's', 't', 'r', 'l', 9, 0,
/* 953 */ 'b', 'e', 'x', 't', 'r', 'l', 9, 0,
/* 961 */ 's', 'c', 'a', 's', 'l', 9, 0,
/* 968 */ 'm', 'o', 'v', 'a', 'b', 's', 'l', 9, 0,
/* 977 */ 'l', 'd', 's', 'l', 9, 0,
/* 983 */ 'l', 'o', 'd', 's', 'l', 9, 0,
/* 990 */ 'l', 'e', 's', 'l', 9, 0,
/* 996 */ 'l', 'f', 's', 'l', 9, 0,
/* 1002 */ 'l', 'g', 's', 'l', 9, 0,
/* 1008 */ 'c', 'm', 'o', 'v', 'n', 's', 'l', 9, 0,
/* 1017 */ 'c', 'm', 'p', 's', 'l', 9, 0,
/* 1024 */ 'l', 's', 's', 'l', 9, 0,
/* 1030 */ 'b', 't', 's', 'l', 9, 0,
/* 1036 */ 'o', 'u', 't', 's', 'l', 9, 0,
/* 1043 */ 'c', 'm', 'o', 'v', 's', 'l', 9, 0,
/* 1051 */ 'b', 't', 'l', 9, 0,
/* 1056 */ 'l', 'g', 'd', 't', 'l', 9, 0,
/* 1063 */ 's', 'g', 'd', 't', 'l', 9, 0,
/* 1070 */ 'l', 'i', 'd', 't', 'l', 9, 0,
/* 1077 */ 's', 'i', 'd', 't', 'l', 9, 0,
/* 1084 */ 's', 'l', 'd', 't', 'l', 9, 0,
/* 1091 */ 'l', 'r', 'e', 't', 'l', 9, 0,
/* 1098 */ 's', 'e', 't', 'l', 9, 0,
/* 1104 */ 'l', 'z', 'c', 'n', 't', 'l', 9, 0,
/* 1112 */ 't', 'z', 'c', 'n', 't', 'l', 9, 0,
/* 1120 */ 'n', 'o', 't', 'l', 9, 0,
/* 1126 */ 't', 'e', 's', 't', 'l', 9, 0,
/* 1133 */ 'p', 'e', 'x', 't', 'l', 9, 0,
/* 1140 */ 'i', 'd', 'i', 'v', 'l', 9, 0,
/* 1147 */ 'm', 'o', 'v', 'l', 9, 0,
/* 1153 */ 's', 'm', 's', 'w', 'l', 9, 0,
/* 1160 */ 'm', 'o', 'v', 's', 'w', 'l', 9, 0,
/* 1168 */ 'm', 'o', 'v', 'z', 'w', 'l', 9, 0,
/* 1176 */ 'a', 'd', 'c', 'x', 'l', 9, 0,
/* 1183 */ 's', 'h', 'l', 'x', 'l', 9, 0,
/* 1190 */ 'm', 'u', 'l', 'x', 'l', 9, 0,
/* 1197 */ 'a', 'd', 'o', 'x', 'l', 9, 0,
/* 1204 */ 's', 'a', 'r', 'x', 'l', 9, 0,
/* 1211 */ 's', 'h', 'r', 'x', 'l', 9, 0,
/* 1218 */ 'r', 'o', 'r', 'x', 'l', 9, 0,
/* 1225 */ 'a', 'a', 'm', 9, 0,
/* 1230 */ 'v', 'm', 'x', 'o', 'n', 9, 0,
/* 1237 */ 'j', 'o', 9, 0,
/* 1241 */ 'j', 'n', 'o', 9, 0,
/* 1246 */ 's', 'e', 't', 'n', 'o', 9, 0,
/* 1253 */ 's', 'e', 't', 'o', 9, 0,
/* 1259 */ 'j', 'p', 9, 0,
/* 1263 */ 'j', 'm', 'p', 9, 0,
/* 1268 */ 'j', 'n', 'p', 9, 0,
/* 1273 */ 's', 'e', 't', 'n', 'p', 9, 0,
/* 1280 */ 'l', 'o', 'o', 'p', 9, 0,
/* 1286 */ 's', 'e', 't', 'p', 9, 0,
/* 1292 */ '#', 'E', 'H', '_', 'S', 'j', 'L', 'j', '_', 'S', 'e', 't', 'u', 'p', 9, 0,
/* 1308 */ 'l', 'e', 'a', 'q', 9, 0,
/* 1314 */ 'c', 'm', 'o', 'v', 'a', 'q', 9, 0,
/* 1322 */ 's', 'b', 'b', 'q', 9, 0,
/* 1328 */ 'm', 'o', 'v', 's', 'b', 'q', 9, 0,
/* 1336 */ 's', 'u', 'b', 'q', 9, 0,
/* 1342 */ 'c', 'm', 'o', 'v', 'b', 'q', 9, 0,
/* 1350 */ 'm', 'o', 'v', 'z', 'b', 'q', 9, 0,
/* 1358 */ 'a', 'd', 'c', 'q', 9, 0,
/* 1364 */ 'd', 'e', 'c', 'q', 9, 0,
/* 1370 */ 'i', 'n', 'c', 'q', 9, 0,
/* 1376 */ 'b', 't', 'c', 'q', 9, 0,
/* 1382 */ 'v', 'm', 'r', 'e', 'a', 'd', 'q', 9, 0,
/* 1391 */ 'x', 'a', 'd', 'd', 'q', 9, 0,
/* 1398 */ 'r', 'd', 's', 'e', 'e', 'd', 'q', 9, 0,
/* 1407 */ 's', 'h', 'l', 'd', 'q', 9, 0,
/* 1414 */ 'r', 'd', 'r', 'a', 'n', 'd', 'q', 9, 0,
/* 1423 */ 's', 'h', 'r', 'd', 'q', 9, 0,
/* 1430 */ 'c', 'm', 'o', 'v', 'a', 'e', 'q', 9, 0,
/* 1439 */ 'c', 'm', 'o', 'v', 'b', 'e', 'q', 9, 0,
/* 1448 */ 'c', 'm', 'o', 'v', 'g', 'e', 'q', 9, 0,
/* 1457 */ 'c', 'm', 'o', 'v', 'l', 'e', 'q', 9, 0,
/* 1466 */ 'c', 'm', 'o', 'v', 'n', 'e', 'q', 9, 0,
/* 1475 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
/* 1486 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
/* 1497 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
/* 1508 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
/* 1519 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 'q', 9, 0,
/* 1529 */ 'x', 's', 'a', 'v', 'e', 'q', 9, 0,
/* 1537 */ 'c', 'm', 'o', 'v', 'e', 'q', 9, 0,
/* 1545 */ 'b', 's', 'f', 'q', 9, 0,
/* 1551 */ 'n', 'e', 'g', 'q', 9, 0,
/* 1557 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'q', 9, 0,
/* 1567 */ 'c', 'm', 'o', 'v', 'g', 'q', 9, 0,
/* 1575 */ 'p', 'u', 's', 'h', 'q', 9, 0,
/* 1582 */ 'b', 'z', 'h', 'i', 'q', 9, 0,
/* 1589 */ 'b', 'l', 's', 'i', 'q', 9, 0,
/* 1596 */ 'b', 'l', 's', 'm', 's', 'k', 'q', 9, 0,
/* 1605 */ 's', 'a', 'l', 'q', 9, 0,
/* 1611 */ 'r', 'c', 'l', 'q', 9, 0,
/* 1617 */ 's', 'h', 'l', 'q', 9, 0,
/* 1623 */ 'c', 'a', 'l', 'l', 'q', 9, 0,
/* 1630 */ 'r', 'o', 'l', 'q', 9, 0,
/* 1636 */ 'l', 's', 'l', 'q', 9, 0,
/* 1642 */ 'm', 'o', 'v', 's', 'l', 'q', 9, 0,
/* 1650 */ 'i', 'm', 'u', 'l', 'q', 9, 0,
/* 1657 */ 'c', 'm', 'o', 'v', 'l', 'q', 9, 0,
/* 1665 */ 'a', 'n', 'd', 'n', 'q', 9, 0,
/* 1672 */ 'c', 'm', 'o', 'v', 'n', 'o', 'q', 9, 0,
/* 1681 */ 'c', 'm', 'o', 'v', 'o', 'q', 9, 0,
/* 1689 */ 'b', 's', 'w', 'a', 'p', 'q', 9, 0,
/* 1697 */ 'p', 'd', 'e', 'p', 'q', 9, 0,
/* 1704 */ 'c', 'm', 'p', 'q', 9, 0,
/* 1710 */ 'c', 'm', 'o', 'v', 'n', 'p', 'q', 9, 0,
/* 1719 */ 'p', 'o', 'p', 'q', 9, 0,
/* 1725 */ 'c', 'm', 'o', 'v', 'p', 'q', 9, 0,
/* 1733 */ 'l', 'a', 'r', 'q', 9, 0,
/* 1739 */ 's', 'a', 'r', 'q', 9, 0,
/* 1745 */ 'r', 'c', 'r', 'q', 9, 0,
/* 1751 */ 's', 'h', 'r', 'q', 9, 0,
/* 1757 */ 'r', 'o', 'r', 'q', 9, 0,
/* 1763 */ 'x', 'r', 's', 't', 'o', 'r', 'q', 9, 0,
/* 1772 */ 'x', 'o', 'r', 'q', 9, 0,
/* 1778 */ 'b', 's', 'r', 'q', 9, 0,
/* 1784 */ 'b', 'l', 's', 'r', 'q', 9, 0,
/* 1791 */ 'b', 't', 'r', 'q', 9, 0,
/* 1797 */ 's', 't', 'r', 'q', 9, 0,
/* 1803 */ 'b', 'e', 'x', 't', 'r', 'q', 9, 0,
/* 1811 */ 's', 'c', 'a', 's', 'q', 9, 0,
/* 1818 */ 'm', 'o', 'v', 'a', 'b', 's', 'q', 9, 0,
/* 1827 */ 'l', 'o', 'd', 's', 'q', 9, 0,
/* 1834 */ 'l', 'f', 's', 'q', 9, 0,
/* 1840 */ 'l', 'g', 's', 'q', 9, 0,
/* 1846 */ 'c', 'm', 'o', 'v', 'n', 's', 'q', 9, 0,
/* 1855 */ 'c', 'm', 'p', 's', 'q', 9, 0,
/* 1862 */ 'l', 's', 's', 'q', 9, 0,
/* 1868 */ 'b', 't', 's', 'q', 9, 0,
/* 1874 */ 'c', 'm', 'o', 'v', 's', 'q', 9, 0,
/* 1882 */ 'b', 't', 'q', 9, 0,
/* 1887 */ 'l', 'g', 'd', 't', 'q', 9, 0,
/* 1894 */ 's', 'g', 'd', 't', 'q', 9, 0,
/* 1901 */ 'l', 'i', 'd', 't', 'q', 9, 0,
/* 1908 */ 's', 'i', 'd', 't', 'q', 9, 0,
/* 1915 */ 's', 'l', 'd', 't', 'q', 9, 0,
/* 1922 */ 'l', 'r', 'e', 't', 'q', 9, 0,
/* 1929 */ 'l', 'z', 'c', 'n', 't', 'q', 9, 0,
/* 1937 */ 't', 'z', 'c', 'n', 't', 'q', 9, 0,
/* 1945 */ 'n', 'o', 't', 'q', 9, 0,
/* 1951 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 'q', 9, 0,
/* 1962 */ 't', 'e', 's', 't', 'q', 9, 0,
/* 1969 */ 'p', 'e', 'x', 't', 'q', 9, 0,
/* 1976 */ 'i', 'd', 'i', 'v', 'q', 9, 0,
/* 1983 */ 'm', 'o', 'v', 'q', 9, 0,
/* 1989 */ 's', 'm', 's', 'w', 'q', 9, 0,
/* 1996 */ 'm', 'o', 'v', 's', 'w', 'q', 9, 0,
/* 2004 */ 'm', 'o', 'v', 'z', 'w', 'q', 9, 0,
/* 2012 */ 'a', 'd', 'c', 'x', 'q', 9, 0,
/* 2019 */ 's', 'h', 'l', 'x', 'q', 9, 0,
/* 2026 */ 'm', 'u', 'l', 'x', 'q', 9, 0,
/* 2033 */ 'a', 'd', 'o', 'x', 'q', 9, 0,
/* 2040 */ 's', 'a', 'r', 'x', 'q', 9, 0,
/* 2047 */ 's', 'h', 'r', 'x', 'q', 9, 0,
/* 2054 */ 'r', 'o', 'r', 'x', 'q', 9, 0,
/* 2061 */ 'v', 'm', 'c', 'l', 'e', 'a', 'r', 9, 0,
/* 2070 */ 'e', 'n', 't', 'e', 'r', 9, 0,
/* 2077 */ 'x', 'r', 's', 't', 'o', 'r', 9, 0,
/* 2085 */ 'v', 'e', 'r', 'r', 9, 0,
/* 2091 */ 'b', 'e', 'x', 't', 'r', 9, 0,
/* 2098 */ 'b', 'l', 'c', 's', 9, 0,
/* 2104 */ 'j', 's', 9, 0,
/* 2108 */ 'j', 'n', 's', 9, 0,
/* 2113 */ 's', 'e', 't', 'n', 's', 9, 0,
/* 2120 */ 's', 'e', 't', 's', 9, 0,
/* 2126 */ 'i', 'n', 't', 9, 0,
/* 2131 */ 'i', 'n', 'v', 'e', 'p', 't', 9, 0,
/* 2139 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 9, 0,
/* 2149 */ 'v', 'm', 'p', 't', 'r', 's', 't', 9, 0,
/* 2158 */ 'l', 'e', 'a', 'w', 9, 0,
/* 2164 */ 'c', 'm', 'o', 'v', 'a', 'w', 9, 0,
/* 2172 */ 's', 'b', 'b', 'w', 9, 0,
/* 2178 */ 'm', 'o', 'v', 's', 'b', 'w', 9, 0,
/* 2186 */ 's', 'u', 'b', 'w', 9, 0,
/* 2192 */ 'c', 'm', 'o', 'v', 'b', 'w', 9, 0,
/* 2200 */ 'm', 'o', 'v', 'z', 'b', 'w', 9, 0,
/* 2208 */ 'a', 'd', 'c', 'w', 9, 0,
/* 2214 */ 'd', 'e', 'c', 'w', 9, 0,
/* 2220 */ 'i', 'n', 'c', 'w', 9, 0,
/* 2226 */ 'b', 't', 'c', 'w', 9, 0,
/* 2232 */ 'x', 'a', 'd', 'd', 'w', 9, 0,
/* 2239 */ 'r', 'd', 's', 'e', 'e', 'd', 'w', 9, 0,
/* 2248 */ 's', 'h', 'l', 'd', 'w', 9, 0,
/* 2255 */ 'r', 'd', 'r', 'a', 'n', 'd', 'w', 9, 0,
/* 2264 */ 's', 'h', 'r', 'd', 'w', 9, 0,
/* 2271 */ 'c', 'm', 'o', 'v', 'a', 'e', 'w', 9, 0,
/* 2280 */ 'c', 'm', 'o', 'v', 'b', 'e', 'w', 9, 0,
/* 2289 */ 'c', 'm', 'o', 'v', 'g', 'e', 'w', 9, 0,
/* 2298 */ 'c', 'm', 'o', 'v', 'l', 'e', 'w', 9, 0,
/* 2307 */ 'c', 'm', 'o', 'v', 'n', 'e', 'w', 9, 0,
/* 2316 */ 'c', 'm', 'o', 'v', 'e', 'w', 9, 0,
/* 2324 */ 'b', 's', 'f', 'w', 9, 0,
/* 2330 */ 'n', 'e', 'g', 'w', 9, 0,
/* 2336 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'w', 9, 0,
/* 2346 */ 'c', 'm', 'o', 'v', 'g', 'w', 9, 0,
/* 2354 */ 'p', 'u', 's', 'h', 'w', 9, 0,
/* 2361 */ 's', 'a', 'l', 'w', 9, 0,
/* 2367 */ 'r', 'c', 'l', 'w', 9, 0,
/* 2373 */ 's', 'h', 'l', 'w', 9, 0,
/* 2379 */ 'l', 'c', 'a', 'l', 'l', 'w', 9, 0,
/* 2387 */ 'r', 'o', 'l', 'w', 9, 0,
/* 2393 */ 'l', 's', 'l', 'w', 9, 0,
/* 2399 */ 'i', 'm', 'u', 'l', 'w', 9, 0,
/* 2406 */ 'c', 'm', 'o', 'v', 'l', 'w', 9, 0,
/* 2414 */ 'i', 'n', 'w', 9, 0,
/* 2419 */ 'c', 'm', 'o', 'v', 'n', 'o', 'w', 9, 0,
/* 2428 */ 'c', 'm', 'o', 'v', 'o', 'w', 9, 0,
/* 2436 */ 'c', 'm', 'p', 'w', 9, 0,
/* 2442 */ 'l', 'j', 'm', 'p', 'w', 9, 0,
/* 2449 */ 'c', 'm', 'o', 'v', 'n', 'p', 'w', 9, 0,
/* 2458 */ 'n', 'o', 'p', 'w', 9, 0,
/* 2464 */ 'p', 'o', 'p', 'w', 9, 0,
/* 2470 */ 'c', 'm', 'o', 'v', 'p', 'w', 9, 0,
/* 2478 */ 'l', 'a', 'r', 'w', 9, 0,
/* 2484 */ 's', 'a', 'r', 'w', 9, 0,
/* 2490 */ 'r', 'c', 'r', 'w', 9, 0,
/* 2496 */ 'v', 'e', 'r', 'w', 9, 0,
/* 2502 */ 's', 'h', 'r', 'w', 9, 0,
/* 2508 */ 'r', 'o', 'r', 'w', 9, 0,
/* 2514 */ 'x', 'o', 'r', 'w', 9, 0,
/* 2520 */ 'b', 's', 'r', 'w', 9, 0,
/* 2526 */ 'b', 't', 'r', 'w', 9, 0,
/* 2532 */ 'l', 't', 'r', 'w', 9, 0,
/* 2538 */ 's', 't', 'r', 'w', 9, 0,
/* 2544 */ 's', 'c', 'a', 's', 'w', 9, 0,
/* 2551 */ 'm', 'o', 'v', 'a', 'b', 's', 'w', 9, 0,
/* 2560 */ 'l', 'd', 's', 'w', 9, 0,
/* 2566 */ 'l', 'o', 'd', 's', 'w', 9, 0,
/* 2573 */ 'l', 'e', 's', 'w', 9, 0,
/* 2579 */ 'l', 'f', 's', 'w', 9, 0,
/* 2585 */ 'l', 'g', 's', 'w', 9, 0,
/* 2591 */ 'c', 'm', 'o', 'v', 'n', 's', 'w', 9, 0,
/* 2600 */ 'c', 'm', 'p', 's', 'w', 9, 0,
/* 2607 */ 'l', 's', 's', 'w', 9, 0,
/* 2613 */ 'b', 't', 's', 'w', 9, 0,
/* 2619 */ 'o', 'u', 't', 's', 'w', 9, 0,
/* 2626 */ 'c', 'm', 'o', 'v', 's', 'w', 9, 0,
/* 2634 */ 'b', 't', 'w', 9, 0,
/* 2639 */ 'l', 'g', 'd', 't', 'w', 9, 0,
/* 2646 */ 's', 'g', 'd', 't', 'w', 9, 0,
/* 2653 */ 'l', 'i', 'd', 't', 'w', 9, 0,
/* 2660 */ 's', 'i', 'd', 't', 'w', 9, 0,
/* 2667 */ 'l', 'l', 'd', 't', 'w', 9, 0,
/* 2674 */ 's', 'l', 'd', 't', 'w', 9, 0,
/* 2681 */ 'l', 'r', 'e', 't', 'w', 9, 0,
/* 2688 */ 'l', 'z', 'c', 'n', 't', 'w', 9, 0,
/* 2696 */ 't', 'z', 'c', 'n', 't', 'w', 9, 0,
/* 2704 */ 'n', 'o', 't', 'w', 9, 0,
/* 2710 */ 't', 'e', 's', 't', 'w', 9, 0,
/* 2717 */ 'i', 'd', 'i', 'v', 'w', 9, 0,
/* 2724 */ 'm', 'o', 'v', 'w', 9, 0,
/* 2730 */ 'l', 'm', 's', 'w', 'w', 9, 0,
/* 2737 */ 's', 'm', 's', 'w', 'w', 9, 0,
/* 2744 */ 'j', 'e', 'c', 'x', 'z', 9, 0,
/* 2751 */ 'j', 'c', 'x', 'z', 9, 0,
/* 2757 */ 'j', 'r', 'c', 'x', 'z', 9, 0,
/* 2764 */ 'm', 'o', 'v', 'a', 'b', 's', 'b', 9, '%', 'a', 'l', ',', 32, 0,
/* 2778 */ 's', 't', 'o', 's', 'b', 9, '%', 'a', 'l', ',', 32, 0,
/* 2790 */ 'o', 'u', 't', 'b', 9, '%', 'a', 'l', ',', 32, 0,
/* 2801 */ 'm', 'o', 'v', 'b', 9, '%', 'a', 'l', ',', 32, 0,
/* 2812 */ 's', 'a', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2823 */ 'r', 'c', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2834 */ 's', 'h', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2845 */ 'r', 'o', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2856 */ 's', 'a', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2867 */ 'r', 'c', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2878 */ 's', 'h', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2889 */ 'r', 'o', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
/* 2900 */ 's', 'h', 'l', 'd', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2912 */ 's', 'h', 'r', 'd', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2924 */ 's', 'a', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2935 */ 'r', 'c', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2946 */ 's', 'h', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2957 */ 'r', 'o', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2968 */ 's', 'a', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2979 */ 'r', 'c', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 2990 */ 's', 'h', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 3001 */ 'r', 'o', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
/* 3012 */ 's', 'h', 'l', 'd', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3024 */ 's', 'h', 'r', 'd', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3036 */ 's', 'a', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3047 */ 'r', 'c', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3058 */ 's', 'h', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3069 */ 'r', 'o', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3080 */ 's', 'a', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3091 */ 'r', 'c', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3102 */ 's', 'h', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3113 */ 'r', 'o', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
/* 3124 */ 's', 'h', 'l', 'd', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3136 */ 's', 'h', 'r', 'd', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3148 */ 's', 'a', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3159 */ 'r', 'c', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3170 */ 's', 'h', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3181 */ 'r', 'o', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3192 */ 's', 'a', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3203 */ 'r', 'c', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3214 */ 's', 'h', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3225 */ 'r', 'o', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
/* 3236 */ 'm', 'o', 'v', 'a', 'b', 's', 'w', 9, '%', 'a', 'x', ',', 32, 0,
/* 3250 */ 's', 't', 'o', 's', 'w', 9, '%', 'a', 'x', ',', 32, 0,
/* 3262 */ 'o', 'u', 't', 'w', 9, '%', 'a', 'x', ',', 32, 0,
/* 3273 */ 'm', 'o', 'v', 'w', 9, '%', 'a', 'x', ',', 32, 0,
/* 3284 */ 'm', 'o', 'v', 'a', 'b', 's', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
/* 3299 */ 's', 't', 'o', 's', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
/* 3312 */ 'o', 'u', 't', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
/* 3324 */ 'm', 'o', 'v', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
/* 3336 */ 'm', 'o', 'v', 'a', 'b', 's', 'q', 9, '%', 'r', 'a', 'x', ',', 32, 0,
/* 3351 */ 's', 't', 'o', 's', 'q', 9, '%', 'r', 'a', 'x', ',', 32, 0,
/* 3364 */ 'i', 'n', 's', 'b', 9, '%', 'd', 'x', ',', 32, 0,
/* 3375 */ 'i', 'n', 's', 'l', 9, '%', 'd', 'x', ',', 32, 0,
/* 3386 */ 'i', 'n', 's', 'w', 9, '%', 'd', 'x', ',', 32, 0,
/* 3397 */ '#', 'V', 'A', 'A', 'R', 'G', '_', '6', '4', 32, 0,
/* 3408 */ 'r', 'e', 't', 9, '#', 'e', 'h', '_', 'r', 'e', 't', 'u', 'r', 'n', ',', 32, 'a', 'd', 'd', 'r', ':', 32, 0,
/* 3431 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'X', 'M', 'M', 32, 0,
/* 3445 */ '#', 'V', 'A', 'S', 'T', 'A', 'R', 'T', '_', 'S', 'A', 'V', 'E', '_', 'X', 'M', 'M', '_', 'R', 'E', 'G', 'S', 32, 0,
/* 3469 */ '#', 'S', 'E', 'H', '_', 'S', 't', 'a', 'c', 'k', 'A', 'l', 'l', 'o', 'c', 32, 0,
/* 3486 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'F', 'r', 'a', 'm', 'e', 32, 0,
/* 3502 */ '#', 'S', 'E', 'H', '_', 'S', 'e', 't', 'F', 'r', 'a', 'm', 'e', 32, 0,
/* 3517 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'R', 'e', 'g', 32, 0,
/* 3531 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'R', 'e', 'g', 32, 0,
/* 3545 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '3', '2', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3565 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '1', '6', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3585 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '8', '0', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3605 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3625 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '1', '6', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3646 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3666 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3686 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3705 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3725 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3745 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3765 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3785 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3805 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3825 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3845 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3864 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3882 */ '#', 'A', 'C', 'Q', 'U', 'I', 'R', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3903 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
/* 3924 */ 'l', 'c', 'a', 'l', 'l', 'l', 9, '*', 0,
/* 3933 */ 'l', 'j', 'm', 'p', 'l', 9, '*', 0,
/* 3941 */ 'l', 'c', 'a', 'l', 'l', 'q', 9, '*', 0,
/* 3950 */ 'l', 'j', 'm', 'p', 'q', 9, '*', 0,
/* 3958 */ 'l', 'c', 'a', 'l', 'l', 'w', 9, '*', 0,
/* 3967 */ 'l', 'j', 'm', 'p', 'w', 9, '*', 0,
/* 3975 */ 'x', 's', 'h', 'a', '1', 0,
/* 3981 */ 'i', 'n', 't', '1', 0,
/* 3986 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0,
/* 4005 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0,
/* 4023 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '3', '2', 0,
/* 4036 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
/* 4049 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
/* 4067 */ 'u', 'd', '2', 0,
/* 4071 */ 'i', 'n', 't', '3', 0,
/* 4076 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '6', '4', 0,
/* 4095 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '6', '4', 0,
/* 4113 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '6', '4', 0,
/* 4126 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
/* 4139 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
/* 4157 */ 'r', 'e', 'x', '6', '4', 0,
/* 4163 */ 'd', 'a', 't', 'a', '1', '6', 0,
/* 4170 */ 'x', 's', 'h', 'a', '2', '5', '6', 0,
/* 4178 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
/* 4191 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
/* 4198 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
/* 4208 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 0,
/* 4226 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 0,
/* 4242 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0,
/* 4254 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
/* 4269 */ 'a', 'a', 'a', 0,
/* 4273 */ 'd', 'a', 'a', 0,
/* 4277 */ 'u', 'd', '2', 'b', 0,
/* 4282 */ 'x', 'c', 'r', 'y', 'p', 't', 'e', 'c', 'b', 0,
/* 4292 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'f', 'b', 0,
/* 4302 */ 'x', 'c', 'r', 'y', 'p', 't', 'o', 'f', 'b', 0,
/* 4312 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'b', 0,
/* 4322 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'b', 0,
/* 4332 */ 'x', 'l', 'a', 't', 'b', 0,
/* 4338 */ 'c', 'l', 'a', 'c', 0,
/* 4343 */ 's', 't', 'a', 'c', 0,
/* 4348 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'b', 'c', 0,
/* 4358 */ 'g', 'e', 't', 's', 'e', 'c', 0,
/* 4365 */ 's', 'a', 'l', 'c', 0,
/* 4370 */ 'c', 'l', 'c', 0,
/* 4374 */ 'c', 'm', 'c', 0,
/* 4378 */ 'r', 'd', 'p', 'm', 'c', 0,
/* 4384 */ 'v', 'm', 'f', 'u', 'n', 'c', 0,
/* 4391 */ 'r', 'd', 't', 's', 'c', 0,
/* 4397 */ 's', 't', 'c', 0,
/* 4401 */ 'c', 'p', 'u', 'i', 'd', 0,
/* 4407 */ 'c', 'l', 'd', 0,
/* 4411 */ 'c', 'l', 't', 'd', 0,
/* 4416 */ 's', 't', 'd', 0,
/* 4420 */ 'c', 'w', 't', 'd', 0,
/* 4425 */ 'w', 'b', 'i', 'n', 'v', 'd', 0,
/* 4432 */ 'v', 'm', 'r', 'e', 's', 'u', 'm', 'e', 0,
/* 4441 */ 'r', 'e', 'p', 'n', 'e', 0,
/* 4447 */ 'x', 's', 't', 'o', 'r', 'e', 0,
/* 4454 */ '#', 'S', 'E', 'H', '_', 'E', 'p', 'i', 'l', 'o', 'g', 'u', 'e', 0,
/* 4468 */ '#', 'S', 'E', 'H', '_', 'E', 'n', 'd', 'P', 'r', 'o', 'l', 'o', 'g', 'u', 'e', 0,
/* 4485 */ 'l', 'e', 'a', 'v', 'e', 0,
/* 4491 */ 'v', 'm', 'x', 'o', 'f', 'f', 0,
/* 4498 */ 'l', 'a', 'h', 'f', 0,
/* 4503 */ 's', 'a', 'h', 'f', 0,
/* 4508 */ 'v', 'm', 'l', 'a', 'u', 'n', 'c', 'h', 0,
/* 4517 */ 'c', 'l', 'g', 'i', 0,
/* 4522 */ 's', 't', 'g', 'i', 0,
/* 4527 */ 'c', 'l', 'i', 0,
/* 4531 */ 's', 't', 'i', 0,
/* 4535 */ '#', 32, 'w', 'i', 'n', '3', '2', 32, 'f', 'p', 't', 'o', 'u', 'i', 0,
/* 4550 */ 'l', 'o', 'c', 'k', 0,
/* 4555 */ 'i', 'n', 'b', 9, '%', 'd', 'x', ',', 32, '%', 'a', 'l', 0,
/* 4568 */ 'p', 'u', 's', 'h', 'a', 'l', 0,
/* 4575 */ 'p', 'o', 'p', 'a', 'l', 0,
/* 4581 */ 'p', 'u', 's', 'h', 'f', 'l', 0,
/* 4588 */ 'p', 'o', 'p', 'f', 'l', 0,
/* 4594 */ 'v', 'm', 'm', 'c', 'a', 'l', 'l', 0,
/* 4602 */ 'v', 'm', 'c', 'a', 'l', 'l', 0,
/* 4609 */ 's', 'y', 's', 'c', 'a', 'l', 'l', 0,
/* 4617 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'l', 0,
/* 4627 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'l', 0,
/* 4637 */ 'i', 'r', 'e', 't', 'l', 0,
/* 4643 */ 'l', 'r', 'e', 't', 'l', 0,
/* 4649 */ 's', 'y', 's', 'r', 'e', 't', 'l', 0,
/* 4657 */ 's', 'y', 's', 'e', 'x', 'i', 't', 'l', 0,
/* 4666 */ 'c', 'w', 't', 'l', 0,
/* 4671 */ 'm', 'o', 'n', 't', 'm', 'u', 'l', 0,
/* 4679 */ 'f', 's', 'e', 't', 'p', 'm', 0,
/* 4686 */ 'r', 's', 'm', 0,
/* 4690 */ '#', 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,
/* 4717 */ 'i', 'n', 't', 'o', 0,
/* 4722 */ 'c', 'q', 't', 'o', 0,
/* 4727 */ 'r', 'd', 't', 's', 'c', 'p', 0,
/* 4734 */ 'r', 'e', 'p', 0,
/* 4738 */ 'n', 'o', 'p', 0,
/* 4742 */ 'p', 'u', 's', 'h', 'f', 'q', 0,
/* 4749 */ 'p', 'o', 'p', 'f', 'q', 0,
/* 4755 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'q', 0,
/* 4765 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'q', 0,
/* 4775 */ 'i', 'r', 'e', 't', 'q', 0,
/* 4781 */ 'l', 'r', 'e', 't', 'q', 0,
/* 4787 */ 's', 'y', 's', 'r', 'e', 't', 'q', 0,
/* 4795 */ 's', 'y', 's', 'e', 'x', 'i', 't', 'q', 0,
/* 4804 */ 'c', 'l', 't', 'q', 0,
/* 4809 */ 's', 'y', 's', 'e', 'n', 't', 'e', 'r', 0,
/* 4818 */ 'r', 'd', 'm', 's', 'r', 0,
/* 4824 */ 'w', 'r', 'm', 's', 'r', 0,
/* 4830 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 't', 'r', 0,
/* 4840 */ 'a', 'a', 's', 0,
/* 4844 */ 'd', 'a', 's', 0,
/* 4848 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'c', 's', 0,
/* 4858 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'c', 's', 0,
/* 4868 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'd', 's', 0,
/* 4878 */ 'p', 'o', 'p', 'l', 9, '%', 'd', 's', 0,
/* 4887 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'd', 's', 0,
/* 4897 */ 'p', 'o', 'p', 'w', 9, '%', 'd', 's', 0,
/* 4906 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'e', 's', 0,
/* 4916 */ 'p', 'o', 'p', 'l', 9, '%', 'e', 's', 0,
/* 4925 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'e', 's', 0,
/* 4935 */ 'p', 'o', 'p', 'w', 9, '%', 'e', 's', 0,
/* 4944 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'f', 's', 0,
/* 4954 */ 'p', 'o', 'p', 'l', 9, '%', 'f', 's', 0,
/* 4963 */ 'p', 'u', 's', 'h', 'q', 9, '%', 'f', 's', 0,
/* 4973 */ 'p', 'o', 'p', 'q', 9, '%', 'f', 's', 0,
/* 4982 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'f', 's', 0,
/* 4992 */ 'p', 'o', 'p', 'w', 9, '%', 'f', 's', 0,
/* 5001 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'g', 's', 0,
/* 5011 */ 'p', 'o', 'p', 'l', 9, '%', 'g', 's', 0,
/* 5020 */ 'p', 'u', 's', 'h', 'q', 9, '%', 'g', 's', 0,
/* 5030 */ 'p', 'o', 'p', 'q', 9, '%', 'g', 's', 0,
/* 5039 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'g', 's', 0,
/* 5049 */ 'p', 'o', 'p', 'w', 9, '%', 'g', 's', 0,
/* 5058 */ 's', 'w', 'a', 'p', 'g', 's', 0,
/* 5065 */ '#', 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,
/* 5110 */ 'p', 'u', 's', 'h', 'l', 9, '%', 's', 's', 0,
/* 5120 */ 'p', 'o', 'p', 'l', 9, '%', 's', 's', 0,
/* 5129 */ 'p', 'u', 's', 'h', 'w', 9, '%', 's', 's', 0,
/* 5139 */ 'p', 'o', 'p', 'w', 9, '%', 's', 's', 0,
/* 5148 */ 'c', 'l', 't', 's', 0,
/* 5153 */ 'h', 'l', 't', 0,
/* 5157 */ 'x', 'g', 'e', 't', 'b', 'v', 0,
/* 5164 */ 'x', 's', 'e', 't', 'b', 'v', 0,
/* 5171 */ 'p', 'u', 's', 'h', 'a', 'w', 0,
/* 5178 */ 'p', 'o', 'p', 'a', 'w', 0,
/* 5184 */ 'p', 'u', 's', 'h', 'f', 'w', 0,
/* 5191 */ 'p', 'o', 'p', 'f', 'w', 0,
/* 5197 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'w', 0,
/* 5207 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'w', 0,
/* 5217 */ 'c', 'b', 't', 'w', 0,
/* 5222 */ 'i', 'r', 'e', 't', 'w', 0,
/* 5228 */ 'l', 'r', 'e', 't', 'w', 0,
/* 5234 */ 'i', 'n', 'w', 9, '%', 'd', 'x', ',', 32, '%', 'a', 'x', 0,
/* 5247 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, '%', 'e', 'a', 'x', 0,
/* 5259 */ 'v', 'm', 's', 'a', 'v', 'e', 9, '%', 'e', 'a', 'x', 0,
/* 5271 */ 'v', 'm', 'r', 'u', 'n', 9, '%', 'e', 'a', 'x', 0,
/* 5282 */ 's', 'k', 'i', 'n', 'i', 't', 9, '%', 'e', 'a', 'x', 0,
/* 5294 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, '%', 'e', 'c', 'x', ',', 32, '%', 'e', 'a', 'x', 0,
/* 5313 */ 'i', 'n', 'l', 9, '%', 'd', 'x', ',', 32, '%', 'e', 'a', 'x', 0,
/* 5327 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, '%', 'r', 'a', 'x', 0,
/* 5339 */ 'v', 'm', 's', 'a', 'v', 'e', 9, '%', 'r', 'a', 'x', 0,
/* 5351 */ 'v', 'm', 'r', 'u', 'n', 9, '%', 'r', 'a', 'x', 0,
/* 5362 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, '%', 'e', 'c', 'x', ',', 32, '%', 'r', 'a', 'x', 0,
/* 5381 */ 'o', 'u', 't', 'b', 9, '%', 'a', 'l', ',', 32, '%', 'd', 'x', 0,
/* 5395 */ 'o', 'u', 't', 'w', 9, '%', 'a', 'x', ',', 32, '%', 'd', 'x', 0,
/* 5409 */ 'o', 'u', 't', 'l', 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 & 8191)-1);
#endif
// Fragment 0 encoded into 6 bits for 40 unique commands.
//printf("Frag-0: %"PRIu64"\n", (Bits >> 13) & 63);
switch ((Bits >> 13) & 63) {
default: // unreachable.
case 0:
// DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, AAA, AAS, ACQUIRE_MOV...
return;
break;
case 1:
// AAD8i8, AAM8i8, ADC16i16, ADC32i32, ADC64i32, ADC8i8, ADD16i16, ADD32i...
printOperand(MI, 0, O);
break;
case 2:
// ADC16mi, ADC16mi8, ADC16mr, ADC32mi, ADC32mi8, ADC32mr, ADC64mi32, ADC...
printOperand(MI, 5, O);
SStream_concat0(O, ", ");
break;
case 3:
// ADC16ri, ADC16ri8, ADC16rr, ADC16rr_REV, ADC32ri, ADC32ri8, ADC32rr, A...
printOperand(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 4:
// ADC16rm, ADD16rm, AND16rm, CMOVA16rm, CMOVAE16rm, CMOVB16rm, CMOVBE16r...
printi16mem(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 5:
// ADC32rm, ADCX32rm, ADD32rm, AND32rm, ANDN32rm, CMOVA32rm, CMOVAE32rm, ...
printi32mem(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 6:
// ADC64rm, ADCX64rm, ADD64rm, AND64rm, ANDN64rm, CMOVA64rm, CMOVAE64rm, ...
printi64mem(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 7:
// ADC8rm, ADD8rm, AND8rm, OR8rm, SBB8rm, SUB8rm, XOR8rm
printi8mem(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 8:
// ADOX32rm, BLCFILL32rm, BLCI32rm, BLCIC32rm, BLCMSK32rm, BLCS32rm, BLSF...
printi32mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 9:
// ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
printOperand(MI, 1, O);
SStream_concat0(O, ", ");
break;
case 10:
// ADOX64rm, BLCFILL64rm, BLCI64rm, BLCIC64rm, BLCMSK64rm, BLCS64rm, BLSF...
printi64mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 11:
// BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL...
printOperand(MI, 6, O);
SStream_concat0(O, ", ");
break;
case 12:
// BOUNDS16rm, BSF16rm, BSR16rm, CMP16rm, LAR16rm, LAR32rm, LAR64rm, LEA1...
printi16mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 13:
// CALL16m, DEC16m, DEC64_16m, DIV16m, IDIV16m, IMUL16m, INC16m, INC64_16...
printi16mem(MI, 0, O);
return;
break;
case 14:
// CALL32m, DEC32m, DEC64_32m, DIV32m, IDIV32m, IMUL32m, INC32m, INC64_32...
printi32mem(MI, 0, O);
break;
case 15:
// CALL64m, CMPXCHG8B, DEC64m, DIV64m, IDIV64m, IMUL64m, INC64m, JMP64m, ...
printi64mem(MI, 0, O);
break;
case 16:
// CALL64pcrel32, CALLpcrel16, CALLpcrel32, EH_SjLj_Setup, JAE_1, JAE_2, ...
printPCRelImm(MI, 0, O);
break;
case 17:
// CMP8rm, MOV8rm, MOV8rm_NOREX, MOVSX16rm8, MOVSX32rm8, MOVSX64rm8, MOVZ...
printi8mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
break;
case 18:
// CMPSB, INSB, SCASB, STOSB
printDstIdx8(MI, 0, O);
break;
case 19:
// CMPSL, INSL, SCASL, STOSL
printDstIdx32(MI, 0, O);
break;
case 20:
// CMPSQ, SCASQ, STOSQ
printDstIdx64(MI, 0, O);
break;
case 21:
// CMPSW, INSW, SCASW, STOSW
printDstIdx16(MI, 0, O);
break;
case 22:
// CMPXCHG16B, LCMPXCHG16B
printi128mem(MI, 0, O);
return;
break;
case 23:
// DEC8m, DIV8m, IDIV8m, IMUL8m, INC8m, INVLPG, LOCK_DEC8m, LOCK_INC8m, M...
printi8mem(MI, 0, O);
return;
break;
case 24:
// FARCALL16m, FARCALL32m, FARCALL64, FARJMP16m, FARJMP32m, FARJMP64, LGD...
printopaquemem(MI, 0, O);
return;
break;
case 25:
// INVEPT32, INVEPT64, INVPCID32, INVPCID64, INVVPID32, INVVPID64
printi128mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 26:
// LDS16rm, LDS32rm, LES16rm, LES32rm, LFS16rm, LFS32rm, LFS64rm, LGS16rm...
printopaquemem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 27:
// LODSB, OUTSB
printSrcIdx8(MI, 0, O);
break;
case 28:
// LODSL, OUTSL
printSrcIdx32(MI, 0, O);
break;
case 29:
// LODSQ
printSrcIdx64(MI, 0, O);
SStream_concat0(O, ", %rax");
op_addReg(MI, X86_REG_RAX);
return;
break;
case 30:
// LODSW, OUTSW
printSrcIdx16(MI, 0, O);
break;
case 31:
// MOV16ao16, MOV16ao16_16, MOV16o16a, MOV16o16a_16, MOV64ao16, MOV64o16a
printMemOffs16(MI, 0, O);
break;
case 32:
// MOV32ao32, MOV32ao32_16, MOV32o32a, MOV32o32a_16, MOV64ao32, MOV64o32a
printMemOffs32(MI, 0, O);
break;
case 33:
// MOV64ao64, MOV64o64a
printMemOffs64(MI, 0, O);
break;
case 34:
// MOV64ao8, MOV64o8a, MOV8ao8, MOV8ao8_16, MOV8o8a, MOV8o8a_16
printMemOffs8(MI, 0, O);
break;
case 35:
// MOVSB
printSrcIdx8(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx8(MI, 0, O);
return;
break;
case 36:
// MOVSL
printSrcIdx32(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx32(MI, 0, O);
return;
break;
case 37:
// MOVSQ
printSrcIdx64(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx64(MI, 0, O);
return;
break;
case 38:
// MOVSW
printSrcIdx16(MI, 1, O);
SStream_concat0(O, ", ");
printDstIdx16(MI, 0, O);
return;
break;
case 39:
// SHLD16rri8, SHLD32rri8, SHLD64rri8, SHRD16rri8, SHRD32rri8, SHRD64rri8
printOperand(MI, 3, O);
SStream_concat0(O, ", ");
printOperand(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
}
// Fragment 1 encoded into 5 bits for 24 unique commands.
//printf("Frag-1: %"PRIu64"\n", (Bits >> 19) & 31);
switch ((Bits >> 19) & 31) {
default: // unreachable.
case 0:
// AAD8i8, AAM8i8, BSWAP32r, BSWAP64r, CALL16r, CALL32m, CALL32r, CALL64m...
return;
break;
case 1:
// ADC16i16, ADD16i16, AND16i16, CMP16i16, IN16ri, LODSW, MOV16o16a, MOV1...
SStream_concat0(O, ", %ax");
op_addReg(MI, X86_REG_AX);
return;
break;
case 2:
// ADC16mi, ADC16mi8, ADC16mr, ADD16mi, ADD16mi8, ADD16mr, AND16mi, AND16...
printi16mem(MI, 0, O);
return;
break;
case 3:
// ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32...
printOperand(MI, 1, O);
break;
case 4:
// ADC16rr_REV, ADC32rr_REV, ADC64rr_REV, ADC8rr_REV, ADCX32rm, ADCX32rr,...
printOperand(MI, 0, O);
break;
case 5:
// ADC32i32, ADD32i32, AND32i32, CMP32i32, IN32ri, LODSL, MOV32o32a, MOV3...
SStream_concat0(O, ", %eax");
op_addReg(MI, X86_REG_EAX);
return;
break;
case 6:
// ADC32mi, ADC32mi8, ADC32mr, ADD32mi, ADD32mi8, ADD32mr, AND32mi, AND32...
printi32mem(MI, 0, O);
return;
break;
case 7:
// ADC64i32, ADD64i32, AND64i32, CMP64i32, MOV64o64a, OR64i32, SBB64i32, ...
SStream_concat0(O, ", %rax");
op_addReg(MI, X86_REG_RAX);
return;
break;
case 8:
// ADC64mi32, ADC64mi8, ADC64mr, ADD64mi32, ADD64mi8, ADD64mr, AND64mi32,...
printi64mem(MI, 0, O);
return;
break;
case 9:
// ADC8i8, ADD8i8, AND8i8, CMP8i8, IN8ri, LODSB, MOV64o8a, MOV8o8a, MOV8o...
SStream_concat0(O, ", %al");
op_addReg(MI, X86_REG_AL);
return;
break;
case 10:
// ADC8mi, ADC8mr, ADD8mi, ADD8mr, AND8mi, AND8mr, CMP8mi, CMP8mr, CMPXCH...
printi8mem(MI, 0, O);
break;
case 11:
// BEXTR32rm, BEXTRI32mi, BZHI32rm, IMUL32rmi, IMUL32rmi8, RORX32mi, SARX...
printi32mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 12:
// BEXTR64rm, BEXTRI64mi, BZHI64rm, IMUL64rmi32, IMUL64rmi8, RORX64mi, SA...
printi64mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 13:
// CMPSB, CMPSL, CMPSQ, CMPSW, ENTER, SEH_SaveReg, SEH_SaveXMM, SEH_SetFr...
SStream_concat0(O, ", ");
break;
case 14:
// IMUL16rmi, IMUL16rmi8
printi16mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 15:
// LXADD16, XCHG16rm
printi16mem(MI, 2, O);
return;
break;
case 16:
// LXADD32, XCHG32rm
printi32mem(MI, 2, O);
return;
break;
case 17:
// LXADD64, XCHG64rm
printi64mem(MI, 2, O);
return;
break;
case 18:
// LXADD8, XCHG8rm
printi8mem(MI, 2, O);
return;
break;
case 19:
// MOV8rm_NOREX
SStream_concat0(O, " # NOREX");
return;
break;
case 20:
// OUTSB, OUTSL, OUTSW
SStream_concat0(O, ", %dx");
op_addReg(MI, X86_REG_DX);
return;
break;
case 21:
// SHLD16mri8, SHLD32mri8, SHLD64mri8, SHRD16mri8, SHRD32mri8, SHRD64mri8
printOperand(MI, 5, O);
SStream_concat0(O, ", ");
break;
case 22:
// TAILJMPd, TAILJMPd64, TAILJMPm, TAILJMPm64, TAILJMPr64
SStream_concat0(O, " # TAILCALL");
return;
break;
case 23:
// XCHG16rr, XCHG32rr, XCHG64rr, XCHG8rr
printOperand(MI, 2, O);
return;
break;
}
// Fragment 2 encoded into 4 bits for 12 unique commands.
//printf("Frag-2: %"PRIu64"\n", (Bits >> 24) & 15);
switch ((Bits >> 24) & 15) {
default: // unreachable.
case 0:
// ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC16rr_REV, ADC32ri, ADC32ri8, A...
return;
break;
case 1:
// ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, BEXTR32rr, BEXTR64rr, BEXTRI32...
SStream_concat0(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 2:
// CMPSB
printSrcIdx8(MI, 1, O);
return;
break;
case 3:
// CMPSL
printSrcIdx32(MI, 1, O);
return;
break;
case 4:
// CMPSQ
printSrcIdx64(MI, 1, O);
return;
break;
case 5:
// CMPSW
printSrcIdx16(MI, 1, O);
return;
break;
case 6:
// ENTER, SEH_SaveReg, SEH_SaveXMM, SEH_SetFrame, VASTART_SAVE_XMM_REGS
printOperand(MI, 1, O);
break;
case 7:
// MOV8mr_NOREX, MOV8rr_NOREX
SStream_concat0(O, " # NOREX");
return;
break;
case 8:
// SHLD16mri8, SHRD16mri8
printi16mem(MI, 0, O);
return;
break;
case 9:
// SHLD32mri8, SHRD32mri8
printi32mem(MI, 0, O);
return;
break;
case 10:
// SHLD64mri8, SHRD64mri8
printi64mem(MI, 0, O);
return;
break;
case 11:
// VAARG_64
printi8mem(MI, 1, O);
SStream_concat0(O, ", ");
printOperand(MI, 6, O);
SStream_concat0(O, ", ");
printOperand(MI, 7, O);
SStream_concat0(O, ", ");
printOperand(MI, 8, O);
return;
break;
}
// Fragment 3 encoded into 1 bits for 2 unique commands.
//printf("Frag-3: %"PRIu64"\n", (Bits >> 28) & 1);
if ((Bits >> 28) & 1) {
// VASTART_SAVE_XMM_REGS
SStream_concat0(O, ", ");
printOperand(MI, 2, O);
return;
} else {
// ENTER, SEH_SaveReg, SEH_SaveXMM, SEH_SetFrame
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;
MCRegisterInfo *MRI = (MCRegisterInfo *)info;
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_IMUL16rri:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(X86_GR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == MCOperand_getReg(MCInst_getOperand(MI, 0))) {
// (IMUL16rri GR16:$r, GR16:$r, i16imm:$imm)
AsmString = "imulw $\x03, $\x01";
break;
}
return NULL;
case X86_IMUL16rri8:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(X86_GR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == MCOperand_getReg(MCInst_getOperand(MI, 0))) {
// (IMUL16rri8 GR16:$r, GR16:$r, i16i8imm:$imm)
AsmString = "imulw $\x03, $\x01";
break;
}
return NULL;
case X86_IMUL32rri:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(X86_GR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == MCOperand_getReg(MCInst_getOperand(MI, 0))) {
// (IMUL32rri GR32:$r, GR32:$r, i32imm:$imm)
AsmString = "imull $\x03, $\x01";
break;
}
return NULL;
case X86_IMUL32rri8:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(X86_GR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == MCOperand_getReg(MCInst_getOperand(MI, 0))) {
// (IMUL32rri8 GR32:$r, GR32:$r, i32i8imm:$imm)
AsmString = "imull $\x03, $\x01";
break;
}
return NULL;
case X86_IMUL64rri32:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(X86_GR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == MCOperand_getReg(MCInst_getOperand(MI, 0))) {
// (IMUL64rri32 GR64:$r, GR64:$r, i64i32imm:$imm)
AsmString = "imulq $\x03, $\x01";
break;
}
return NULL;
case X86_IMUL64rri8:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(X86_GR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == MCOperand_getReg(MCInst_getOperand(MI, 0))) {
// (IMUL64rri8 GR64:$r, GR64:$r, i64i8imm:$imm)
AsmString = "imulq $\x03, $\x01";
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