historical/m0-applesillicon.git/xnu-qemu-arm64-5.1.0/capstone/arch/AArch64/AArch64GenAsmWriter.inc
2024-01-16 11:20:27 -06:00

12607 lines
434 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-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
2694U, // DBG_VALUE
0U, // REG_SEQUENCE
0U, // COPY
2687U, // BUNDLE
2704U, // LIFETIME_START
2674U, // LIFETIME_END
0U, // STACKMAP
0U, // PATCHPOINT
0U, // LOAD_STACK_GUARD
6182U, // ABSv16i8
553920550U, // ABSv1i64
1074272294U, // ABSv2i32
1611405350U, // ABSv2i64
2148538406U, // ABSv4i16
2685671462U, // ABSv4i32
3222804518U, // ABSv8i16
3759937574U, // ABSv8i8
17049662U, // ADCSWr
17049662U, // ADCSXr
17048298U, // ADCWr
17048298U, // ADCXr
537400863U, // ADDHNv2i64_v2i32
571748634U, // ADDHNv2i64_v4i32
1074796063U, // ADDHNv4i32_v4i16
1108881690U, // ADDHNv4i32_v8i16
1644179738U, // ADDHNv8i16_v16i8
1612453407U, // ADDHNv8i16_v8i8
2147489464U, // ADDPv16i8
2684884664U, // ADDPv2i32
537663160U, // ADDPv2i64
1610884792U, // ADDPv2i64p
3222279864U, // ADDPv4i16
1075058360U, // ADDPv4i32
1612191416U, // ADDPv8i16
3759937208U, // ADDPv8i8
17049674U, // ADDSWri
0U, // ADDSWrr
17049674U, // ADDSWrs
17049674U, // ADDSWrx
17049674U, // ADDSXri
0U, // ADDSXrr
17049674U, // ADDSXrs
17049674U, // ADDSXrx
17049674U, // ADDSXrx64
272671U, // ADDVv16i8v
2147756319U, // ADDVv4i16v
2684627231U, // ADDVv4i32v
3221498143U, // ADDVv8i16v
3758369055U, // ADDVv8i8v
17048359U, // ADDWri
0U, // ADDWrr
17048359U, // ADDWrs
17048359U, // ADDWrx
17048359U, // ADDXri
0U, // ADDXrr
17048359U, // ADDXrs
17048359U, // ADDXrx
17048359U, // ADDXrx64
2147488551U, // ADDv16i8
17048359U, // ADDv1i64
2684883751U, // ADDv2i32
537662247U, // ADDv2i64
3222278951U, // ADDv4i16
1075057447U, // ADDv4i32
1612190503U, // ADDv8i16
3759936295U, // ADDv8i8
0U, // ADJCALLSTACKDOWN
0U, // ADJCALLSTACKUP
553920403U, // ADR
50603811U, // ADRP
33567598U, // AESDrr
33567656U, // AESErr
4852U, // AESIMCrr
4860U, // AESMCrr
17049680U, // ANDSWri
0U, // ANDSWrr
17049680U, // ANDSWrs
17049680U, // ANDSXri
0U, // ANDSXrr
17049680U, // ANDSXrs
17048425U, // ANDWri
0U, // ANDWrr
17048425U, // ANDWrs
17048425U, // ANDXri
0U, // ANDXrr
17048425U, // ANDXrs
2147488617U, // ANDv16i8
3759936361U, // ANDv8i8
17049553U, // ASRVWr
17049553U, // ASRVXr
16935U, // B
67380710U, // BFMWri
67380710U, // BFMXri
0U, // BICSWrr
17049668U, // BICSWrs
0U, // BICSXrr
17049668U, // BICSXrs
0U, // BICWrr
17048303U, // BICWrs
0U, // BICXrr
17048303U, // BICXrs
2147488495U, // BICv16i8
84423407U, // BICv2i32
84947695U, // BICv4i16
85209839U, // BICv4i32
85471983U, // BICv8i16
3759936239U, // BICv8i8
2147488704U, // BIFv16i8
3759936448U, // BIFv8i8
2181052603U, // BITv16i8
3793500347U, // BITv8i8
17641U, // BL
2107319U, // BLR
2107279U, // BR
21688U, // BRK
2181051810U, // BSLv16i8
3793499554U, // BSLv8i8
27247U, // Bcc
100936257U, // CBNZW
100936257U, // CBNZX
100936242U, // CBZW
100936242U, // CBZX
17049144U, // CCMNWi
17049144U, // CCMNWr
17049144U, // CCMNXi
17049144U, // CCMNXr
17049316U, // CCMPWi
17049316U, // CCMPWr
17049316U, // CCMPXi
17049316U, // CCMPXr
2107924U, // CLREX
553920604U, // CLSWr
553920604U, // CLSXr
6236U, // CLSv16i8
1074272348U, // CLSv2i32
2148538460U, // CLSv4i16
2685671516U, // CLSv4i32
3222804572U, // CLSv8i16
3759937628U, // CLSv8i8
553921084U, // CLZWr
553921084U, // CLZXr
6716U, // CLZv16i8
1074272828U, // CLZv2i32
2148538940U, // CLZv4i16
2685671996U, // CLZv4i32
3222805052U, // CLZv8i16
3759938108U, // CLZv8i8
2147489643U, // CMEQv16i8
5995U, // CMEQv16i8rz
17049451U, // CMEQv1i64
553920363U, // CMEQv1i64rz
2684884843U, // CMEQv2i32
1074272107U, // CMEQv2i32rz
537663339U, // CMEQv2i64
1611405163U, // CMEQv2i64rz
3222280043U, // CMEQv4i16
2148538219U, // CMEQv4i16rz
1075058539U, // CMEQv4i32
2685671275U, // CMEQv4i32rz
1612191595U, // CMEQv8i16
3222804331U, // CMEQv8i16rz
3759937387U, // CMEQv8i8
3759937387U, // CMEQv8i8rz
2147488636U, // CMGEv16i8
4988U, // CMGEv16i8rz
17048444U, // CMGEv1i64
553919356U, // CMGEv1i64rz
2684883836U, // CMGEv2i32
1074271100U, // CMGEv2i32rz
537662332U, // CMGEv2i64
1611404156U, // CMGEv2i64rz
3222279036U, // CMGEv4i16
2148537212U, // CMGEv4i16rz
1075057532U, // CMGEv4i32
2685670268U, // CMGEv4i32rz
1612190588U, // CMGEv8i16
3222803324U, // CMGEv8i16rz
3759936380U, // CMGEv8i8
3759936380U, // CMGEv8i8rz
2147489972U, // CMGTv16i8
6324U, // CMGTv16i8rz
17049780U, // CMGTv1i64
553920692U, // CMGTv1i64rz
2684885172U, // CMGTv2i32
1074272436U, // CMGTv2i32rz
537663668U, // CMGTv2i64
1611405492U, // CMGTv2i64rz
3222280372U, // CMGTv4i16
2148538548U, // CMGTv4i16rz
1075058868U, // CMGTv4i32
2685671604U, // CMGTv4i32rz
1612191924U, // CMGTv8i16
3222804660U, // CMGTv8i16rz
3759937716U, // CMGTv8i8
3759937716U, // CMGTv8i8rz
2147488916U, // CMHIv16i8
17048724U, // CMHIv1i64
2684884116U, // CMHIv2i32
537662612U, // CMHIv2i64
3222279316U, // CMHIv4i16
1075057812U, // CMHIv4i32
1612190868U, // CMHIv8i16
3759936660U, // CMHIv8i8
2147489878U, // CMHSv16i8
17049686U, // CMHSv1i64
2684885078U, // CMHSv2i32
537663574U, // CMHSv2i64
3222280278U, // CMHSv4i16
1075058774U, // CMHSv4i32
1612191830U, // CMHSv8i16
3759937622U, // CMHSv8i8
4995U, // CMLEv16i8rz
553919363U, // CMLEv1i64rz
1074271107U, // CMLEv2i32rz
1611404163U, // CMLEv2i64rz
2148537219U, // CMLEv4i16rz
2685670275U, // CMLEv4i32rz
3222803331U, // CMLEv8i16rz
3759936387U, // CMLEv8i8rz
6342U, // CMLTv16i8rz
553920710U, // CMLTv1i64rz
1074272454U, // CMLTv2i32rz
1611405510U, // CMLTv2i64rz
2148538566U, // CMLTv4i16rz
2685671622U, // CMLTv4i32rz
3222804678U, // CMLTv8i16rz
3759937734U, // CMLTv8i8rz
2147490013U, // CMTSTv16i8
17049821U, // CMTSTv1i64
2684885213U, // CMTSTv2i32
537663709U, // CMTSTv2i64
3222280413U, // CMTSTv4i16
1075058909U, // CMTSTv4i32
1612191965U, // CMTSTv8i16
3759937757U, // CMTSTv8i8
6348U, // CNTv16i8
3759937740U, // CNTv8i8
272763U, // CPYi16
537143675U, // CPYi32
1074014587U, // CPYi64
1610885499U, // CPYi8
17048098U, // CRC32Brr
17048106U, // CRC32CBrr
17048575U, // CRC32CHrr
17050039U, // CRC32CWrr
17050123U, // CRC32CXrr
17048558U, // CRC32Hrr
17050017U, // CRC32Wrr
17050092U, // CRC32Xrr
17048888U, // CSELWr
17048888U, // CSELXr
17048323U, // CSINCWr
17048323U, // CSINCXr
17049971U, // CSINVWr
17049971U, // CSINVXr
17048544U, // CSNEGWr
17048544U, // CSNEGXr
20524U, // DCPS1
20889U, // DCPS2
20938U, // DCPS3
29235U, // DMB
2719U, // DRPS
29324U, // DSB
553654070U, // DUPv16i8gpr
1610618678U, // DUPv16i8lane
554178358U, // DUPv2i32gpr
537401142U, // DUPv2i32lane
554440502U, // DUPv2i64gpr
1074534198U, // DUPv2i64lane
554702646U, // DUPv4i16gpr
1054518U, // DUPv4i16lane
554964790U, // DUPv4i32gpr
538187574U, // DUPv4i32lane
555226934U, // DUPv8i16gpr
1578806U, // DUPv8i16lane
555489078U, // DUPv8i8gpr
1612453686U, // DUPv8i8lane
0U, // EONWrr
17049150U, // EONWrs
0U, // EONXrr
17049150U, // EONXrs
17049538U, // EORWri
0U, // EORWrr
17049538U, // EORWrs
17049538U, // EORXri
0U, // EORXrr
17049538U, // EORXrs
2147489730U, // EORv16i8
3759937474U, // EORv8i8
2724U, // ERET
17049585U, // EXTRWrri
17049585U, // EXTRXrri
2147490026U, // EXTv16i8
3759937770U, // EXTv8i8
0U, // F128CSEL
17048340U, // FABD32
17048340U, // FABD64
2684883732U, // FABDv2f32
537662228U, // FABDv2f64
1075057428U, // FABDv4f32
553920549U, // FABSDr
553920549U, // FABSSr
1074272293U, // FABSv2f32
1611405349U, // FABSv2f64
2685671461U, // FABSv4f32
17048436U, // FACGE32
17048436U, // FACGE64
2684883828U, // FACGEv2f32
537662324U, // FACGEv2f64
1075057524U, // FACGEv4f32
17049772U, // FACGT32
17049772U, // FACGT64
2684885164U, // FACGTv2f32
537663660U, // FACGTv2f64
1075058860U, // FACGTv4f32
17048358U, // FADDDrr
2684884663U, // FADDPv2f32
537663159U, // FADDPv2f64
1074013879U, // FADDPv2i32p
1610884791U, // FADDPv2i64p
1075058359U, // FADDPv4f32
17048358U, // FADDSrr
2684883750U, // FADDv2f32
537662246U, // FADDv2f64
1075057446U, // FADDv4f32
17049315U, // FCCMPDrr
17048473U, // FCCMPEDrr
17048473U, // FCCMPESrr
17049315U, // FCCMPSrr
17049450U, // FCMEQ32
17049450U, // FCMEQ64
2164533098U, // FCMEQv1i32rz
2164533098U, // FCMEQv1i64rz
2684884842U, // FCMEQv2f32
537663338U, // FCMEQv2f64
2684884842U, // FCMEQv2i32rz
3222017898U, // FCMEQv2i64rz
1075058538U, // FCMEQv4f32
3759413098U, // FCMEQv4i32rz
17048443U, // FCMGE32
17048443U, // FCMGE64
2164532091U, // FCMGEv1i32rz
2164532091U, // FCMGEv1i64rz
2684883835U, // FCMGEv2f32
537662331U, // FCMGEv2f64
2684883835U, // FCMGEv2i32rz
3222016891U, // FCMGEv2i64rz
1075057531U, // FCMGEv4f32
3759412091U, // FCMGEv4i32rz
17049779U, // FCMGT32
17049779U, // FCMGT64
2164533427U, // FCMGTv1i32rz
2164533427U, // FCMGTv1i64rz
2684885171U, // FCMGTv2f32
537663667U, // FCMGTv2f64
2684885171U, // FCMGTv2i32rz
3222018227U, // FCMGTv2i64rz
1075058867U, // FCMGTv4f32
3759413427U, // FCMGTv4i32rz
2164532098U, // FCMLEv1i32rz
2164532098U, // FCMLEv1i64rz
2684883842U, // FCMLEv2i32rz
3222016898U, // FCMLEv2i64rz
3759412098U, // FCMLEv4i32rz
2164533445U, // FCMLTv1i32rz
2164533445U, // FCMLTv1i64rz
2684885189U, // FCMLTv2i32rz
3222018245U, // FCMLTv2i64rz
3759413445U, // FCMLTv4i32rz
2369258U, // FCMPDri
553920234U, // FCMPDrr
2368417U, // FCMPEDri
553919393U, // FCMPEDrr
2368417U, // FCMPESri
553919393U, // FCMPESrr
2369258U, // FCMPSri
553920234U, // FCMPSrr
17048887U, // FCSELDrrr
17048887U, // FCSELSrrr
553920541U, // FCVTASUWDr
553920541U, // FCVTASUWSr
553920541U, // FCVTASUXDr
553920541U, // FCVTASUXSr
553920541U, // FCVTASv1i32
553920541U, // FCVTASv1i64
1074272285U, // FCVTASv2f32
1611405341U, // FCVTASv2f64
2685671453U, // FCVTASv4f32
553920751U, // FCVTAUUWDr
553920751U, // FCVTAUUWSr
553920751U, // FCVTAUUXDr
553920751U, // FCVTAUUXSr
553920751U, // FCVTAUv1i32
553920751U, // FCVTAUv1i64
1074272495U, // FCVTAUv2f32
1611405551U, // FCVTAUv2f64
2685671663U, // FCVTAUv4f32
553920740U, // FCVTDHr
553920740U, // FCVTDSr
553920740U, // FCVTHDr
553920740U, // FCVTHSr
1074533828U, // FCVTLv2i32
2148799940U, // FCVTLv4i16
2685145352U, // FCVTLv4i32
3222540552U, // FCVTLv8i16
553920615U, // FCVTMSUWDr
553920615U, // FCVTMSUWSr
553920615U, // FCVTMSUXDr
553920615U, // FCVTMSUXSr
553920615U, // FCVTMSv1i32
553920615U, // FCVTMSv1i64
1074272359U, // FCVTMSv2f32
1611405415U, // FCVTMSv2f64
2685671527U, // FCVTMSv4f32
553920767U, // FCVTMUUWDr
553920767U, // FCVTMUUWSr
553920767U, // FCVTMUUXDr
553920767U, // FCVTMUUXSr
553920767U, // FCVTMUv1i32
553920767U, // FCVTMUv1i64
1074272511U, // FCVTMUv2f32
1611405567U, // FCVTMUv2f64
2685671679U, // FCVTMUv4f32
553920628U, // FCVTNSUWDr
553920628U, // FCVTNSUWSr
553920628U, // FCVTNSUXDr
553920628U, // FCVTNSUXSr
553920628U, // FCVTNSv1i32
553920628U, // FCVTNSv1i64
1074272372U, // FCVTNSv2f32
1611405428U, // FCVTNSv2f64
2685671540U, // FCVTNSv4f32
553920775U, // FCVTNUUWDr
553920775U, // FCVTNUUWSr
553920775U, // FCVTNUUXDr
553920775U, // FCVTNUUXSr
553920775U, // FCVTNUv1i32
553920775U, // FCVTNUv1i64
1074272519U, // FCVTNUv2f32
1611405575U, // FCVTNUv2f64
2685671687U, // FCVTNUv4f32
1611142770U, // FCVTNv2i32
2685408882U, // FCVTNv4i16
1645490510U, // FCVTNv4i32
2719494478U, // FCVTNv8i16
553920644U, // FCVTPSUWDr
553920644U, // FCVTPSUWSr
553920644U, // FCVTPSUXDr
553920644U, // FCVTPSUXSr
553920644U, // FCVTPSv1i32
553920644U, // FCVTPSv1i64
1074272388U, // FCVTPSv2f32
1611405444U, // FCVTPSv2f64
2685671556U, // FCVTPSv4f32
553920783U, // FCVTPUUWDr
553920783U, // FCVTPUUWSr
553920783U, // FCVTPUUXDr
553920783U, // FCVTPUUXSr
553920783U, // FCVTPUv1i32
553920783U, // FCVTPUv1i64
1074272527U, // FCVTPUv2f32
1611405583U, // FCVTPUv2f64
2685671695U, // FCVTPUv4f32
553920740U, // FCVTSDr
553920740U, // FCVTSHr
553920168U, // FCVTXNv1i64
1611142824U, // FCVTXNv2f32
1645490564U, // FCVTXNv4f32
17049759U, // FCVTZSSWDri
17049759U, // FCVTZSSWSri
17049759U, // FCVTZSSXDri
17049759U, // FCVTZSSXSri
553920671U, // FCVTZSUWDr
553920671U, // FCVTZSUWSr
553920671U, // FCVTZSUXDr
553920671U, // FCVTZSUXSr
17049759U, // FCVTZS_IntSWDri
17049759U, // FCVTZS_IntSWSri
17049759U, // FCVTZS_IntSXDri
17049759U, // FCVTZS_IntSXSri
553920671U, // FCVTZS_IntUWDr
553920671U, // FCVTZS_IntUWSr
553920671U, // FCVTZS_IntUXDr
553920671U, // FCVTZS_IntUXSr
1074272415U, // FCVTZS_Intv2f32
1611405471U, // FCVTZS_Intv2f64
2685671583U, // FCVTZS_Intv4f32
17049759U, // FCVTZSd
17049759U, // FCVTZSs
553920671U, // FCVTZSv1i32
553920671U, // FCVTZSv1i64
1074272415U, // FCVTZSv2f32
1611405471U, // FCVTZSv2f64
2684885151U, // FCVTZSv2i32_shift
537663647U, // FCVTZSv2i64_shift
2685671583U, // FCVTZSv4f32
1075058847U, // FCVTZSv4i32_shift
17049879U, // FCVTZUSWDri
17049879U, // FCVTZUSWSri
17049879U, // FCVTZUSXDri
17049879U, // FCVTZUSXSri
553920791U, // FCVTZUUWDr
553920791U, // FCVTZUUWSr
553920791U, // FCVTZUUXDr
553920791U, // FCVTZUUXSr
17049879U, // FCVTZU_IntSWDri
17049879U, // FCVTZU_IntSWSri
17049879U, // FCVTZU_IntSXDri
17049879U, // FCVTZU_IntSXSri
553920791U, // FCVTZU_IntUWDr
553920791U, // FCVTZU_IntUWSr
553920791U, // FCVTZU_IntUXDr
553920791U, // FCVTZU_IntUXSr
1074272535U, // FCVTZU_Intv2f32
1611405591U, // FCVTZU_Intv2f64
2685671703U, // FCVTZU_Intv4f32
17049879U, // FCVTZUd
17049879U, // FCVTZUs
553920791U, // FCVTZUv1i32
553920791U, // FCVTZUv1i64
1074272535U, // FCVTZUv2f32
1611405591U, // FCVTZUv2f64
2684885271U, // FCVTZUv2i32_shift
537663767U, // FCVTZUv2i64_shift
2685671703U, // FCVTZUv4f32
1075058967U, // FCVTZUv4i32_shift
17049898U, // FDIVDrr
17049898U, // FDIVSrr
2684885290U, // FDIVv2f32
537663786U, // FDIVv2f64
1075058986U, // FDIVv4f32
17048394U, // FMADDDrrr
17048394U, // FMADDSrrr
17050100U, // FMAXDrr
17049087U, // FMAXNMDrr
2684884729U, // FMAXNMPv2f32
537663225U, // FMAXNMPv2f64
1074013945U, // FMAXNMPv2i32p
1610884857U, // FMAXNMPv2i64p
1075058425U, // FMAXNMPv4f32
17049087U, // FMAXNMSrr
2684627285U, // FMAXNMVv4i32v
2684884479U, // FMAXNMv2f32
537662975U, // FMAXNMv2f64
1075058175U, // FMAXNMv4f32
2684884802U, // FMAXPv2f32
537663298U, // FMAXPv2f64
1074014018U, // FMAXPv2i32p
1610884930U, // FMAXPv2i64p
1075058498U, // FMAXPv4f32
17050100U, // FMAXSrr
2684627340U, // FMAXVv4i32v
2684885492U, // FMAXv2f32
537663988U, // FMAXv2f64
1075059188U, // FMAXv4f32
17049126U, // FMINDrr
17049079U, // FMINNMDrr
2684884720U, // FMINNMPv2f32
537663216U, // FMINNMPv2f64
1074013936U, // FMINNMPv2i32p
1610884848U, // FMINNMPv2i64p
1075058416U, // FMINNMPv4f32
17049079U, // FMINNMSrr
2684627276U, // FMINNMVv4i32v
2684884471U, // FMINNMv2f32
537662967U, // FMINNMv2f64
1075058167U, // FMINNMv4f32
2684884744U, // FMINPv2f32
537663240U, // FMINPv2f64
1074013960U, // FMINPv2i32p
1610884872U, // FMINPv2i64p
1075058440U, // FMINPv4f32
17049126U, // FMINSrr
2684627294U, // FMINVv4i32v
2684884518U, // FMINv2f32
537663014U, // FMINv2f64
1075058214U, // FMINv4f32
67404282U, // FMLAv1i32_indexed
67404282U, // FMLAv1i64_indexed
2718446074U, // FMLAv2f32
571224570U, // FMLAv2f64
2718446074U, // FMLAv2i32_indexed
571224570U, // FMLAv2i64_indexed
1108619770U, // FMLAv4f32
1108619770U, // FMLAv4i32_indexed
67405921U, // FMLSv1i32_indexed
67405921U, // FMLSv1i64_indexed
2718447713U, // FMLSv2f32
571226209U, // FMLSv2f64
2718447713U, // FMLSv2i32_indexed
571226209U, // FMLSv2i64_indexed
1108621409U, // FMLSv4f32
1108621409U, // FMLSv4i32_indexed
1074014586U, // FMOVDXHighr
553920890U, // FMOVDXr
117713274U, // FMOVDi
553920890U, // FMOVDr
553920890U, // FMOVSWr
117713274U, // FMOVSi
553920890U, // FMOVSr
553920890U, // FMOVWSr
556276090U, // FMOVXDHighr
553920890U, // FMOVXDr
117971322U, // FMOVv2f32_ns
118233466U, // FMOVv2f64_ns
118757754U, // FMOVv4f32_ns
17048257U, // FMSUBDrrr
17048257U, // FMSUBSrrr
17049035U, // FMULDrr
17049035U, // FMULSrr
17050139U, // FMULX32
17050139U, // FMULX64
17050139U, // FMULXv1i32_indexed
17050139U, // FMULXv1i64_indexed
2684885531U, // FMULXv2f32
537664027U, // FMULXv2f64
2684885531U, // FMULXv2i32_indexed
537664027U, // FMULXv2i64_indexed
1075059227U, // FMULXv4f32
1075059227U, // FMULXv4i32_indexed
17049035U, // FMULv1i32_indexed
17049035U, // FMULv1i64_indexed
2684884427U, // FMULv2f32
537662923U, // FMULv2f64
2684884427U, // FMULv2i32_indexed
537662923U, // FMULv2i64_indexed
1075058123U, // FMULv4f32
1075058123U, // FMULv4i32_indexed
553919443U, // FNEGDr
553919443U, // FNEGSr
1074271187U, // FNEGv2f32
1611404243U, // FNEGv2f64
2685670355U, // FNEGv4f32
17048401U, // FNMADDDrrr
17048401U, // FNMADDSrrr
17048264U, // FNMSUBDrrr
17048264U, // FNMSUBSrrr
17049041U, // FNMULDrr
17049041U, // FNMULSrr
553919369U, // FRECPEv1i32
553919369U, // FRECPEv1i64
1074271113U, // FRECPEv2f32
1611404169U, // FRECPEv2f64
2685670281U, // FRECPEv4f32
17049724U, // FRECPS32
17049724U, // FRECPS64
2684885116U, // FRECPSv2f32
537663612U, // FRECPSv2f64
1075058812U, // FRECPSv4f32
553921058U, // FRECPXv1i32
553921058U, // FRECPXv1i64
553919002U, // FRINTADr
553919002U, // FRINTASr
1074270746U, // FRINTAv2f32
1611403802U, // FRINTAv2f64
2685669914U, // FRINTAv4f32
553919658U, // FRINTIDr
553919658U, // FRINTISr
1074271402U, // FRINTIv2f32
1611404458U, // FRINTIv2f64
2685670570U, // FRINTIv4f32
553920007U, // FRINTMDr
553920007U, // FRINTMSr
1074271751U, // FRINTMv2f32
1611404807U, // FRINTMv2f64
2685670919U, // FRINTMv4f32
553920106U, // FRINTNDr
553920106U, // FRINTNSr
1074271850U, // FRINTNv2f32
1611404906U, // FRINTNv2f64
2685671018U, // FRINTNv4f32
553920297U, // FRINTPDr
553920297U, // FRINTPSr
1074272041U, // FRINTPv2f32
1611405097U, // FRINTPv2f64
2685671209U, // FRINTPv4f32
553921066U, // FRINTXDr
553921066U, // FRINTXSr
1074272810U, // FRINTXv2f32
1611405866U, // FRINTXv2f64
2685671978U, // FRINTXv4f32
553921101U, // FRINTZDr
553921101U, // FRINTZSr
1074272845U, // FRINTZv2f32
1611405901U, // FRINTZv2f64
2685672013U, // FRINTZv4f32
553919406U, // FRSQRTEv1i32
553919406U, // FRSQRTEv1i64
1074271150U, // FRSQRTEv2f32
1611404206U, // FRSQRTEv2f64
2685670318U, // FRSQRTEv4f32
17049745U, // FRSQRTS32
17049745U, // FRSQRTS64
2684885137U, // FRSQRTSv2f32
537663633U, // FRSQRTSv2f64
1075058833U, // FRSQRTSv4f32
553920726U, // FSQRTDr
553920726U, // FSQRTSr
1074272470U, // FSQRTv2f32
1611405526U, // FSQRTv2f64
2685671638U, // FSQRTv4f32
17048237U, // FSUBDrr
17048237U, // FSUBSrr
2684883629U, // FSUBv2f32
537662125U, // FSUBv2f64
1075057325U, // FSUBv4f32
23145U, // HINT
22720U, // HLT
21258U, // HVC
137115759U, // INSvi16gpr
153892975U, // INSvi16lane
137377903U, // INSvi32gpr
691026031U, // INSvi32lane
136853615U, // INSvi64gpr
1227372655U, // INSvi64lane
137640047U, // INSvi8gpr
1765029999U, // INSvi8lane
29329U, // ISB
36885U, // LD1Fourv16b
3710997U, // LD1Fourv16b_POST
45077U, // LD1Fourv1d
3981333U, // LD1Fourv1d_POST
53269U, // LD1Fourv2d
3727381U, // LD1Fourv2d_POST
61461U, // LD1Fourv2s
3997717U, // LD1Fourv2s_POST
69653U, // LD1Fourv4h
4005909U, // LD1Fourv4h_POST
77845U, // LD1Fourv4s
3751957U, // LD1Fourv4s_POST
86037U, // LD1Fourv8b
4022293U, // LD1Fourv8b_POST
94229U, // LD1Fourv8h
3768341U, // LD1Fourv8h_POST
36885U, // LD1Onev16b
4235285U, // LD1Onev16b_POST
45077U, // LD1Onev1d
4505621U, // LD1Onev1d_POST
53269U, // LD1Onev2d
4251669U, // LD1Onev2d_POST
61461U, // LD1Onev2s
4522005U, // LD1Onev2s_POST
69653U, // LD1Onev4h
4530197U, // LD1Onev4h_POST
77845U, // LD1Onev4s
4276245U, // LD1Onev4s_POST
86037U, // LD1Onev8b
4546581U, // LD1Onev8b_POST
94229U, // LD1Onev8h
4292629U, // LD1Onev8h_POST
38769U, // LD1Rv16b
4761457U, // LD1Rv16b_POST
46961U, // LD1Rv1d
4507505U, // LD1Rv1d_POST
55153U, // LD1Rv2d
4515697U, // LD1Rv2d_POST
63345U, // LD1Rv2s
5048177U, // LD1Rv2s_POST
71537U, // LD1Rv4h
5318513U, // LD1Rv4h_POST
79729U, // LD1Rv4s
5064561U, // LD1Rv4s_POST
87921U, // LD1Rv8b
4810609U, // LD1Rv8b_POST
96113U, // LD1Rv8h
5343089U, // LD1Rv8h_POST
36885U, // LD1Threev16b
5546005U, // LD1Threev16b_POST
45077U, // LD1Threev1d
5816341U, // LD1Threev1d_POST
53269U, // LD1Threev2d
5562389U, // LD1Threev2d_POST
61461U, // LD1Threev2s
5832725U, // LD1Threev2s_POST
69653U, // LD1Threev4h
5840917U, // LD1Threev4h_POST
77845U, // LD1Threev4s
5586965U, // LD1Threev4s_POST
86037U, // LD1Threev8b
5857301U, // LD1Threev8b_POST
94229U, // LD1Threev8h
5603349U, // LD1Threev8h_POST
36885U, // LD1Twov16b
3973141U, // LD1Twov16b_POST
45077U, // LD1Twov1d
4243477U, // LD1Twov1d_POST
53269U, // LD1Twov2d
3989525U, // LD1Twov2d_POST
61461U, // LD1Twov2s
4259861U, // LD1Twov2s_POST
69653U, // LD1Twov4h
4268053U, // LD1Twov4h_POST
77845U, // LD1Twov4s
4014101U, // LD1Twov4s_POST
86037U, // LD1Twov8b
4284437U, // LD1Twov8b_POST
94229U, // LD1Twov8h
4030485U, // LD1Twov8h_POST
6131733U, // LD1i16
6397973U, // LD1i16_POST
6139925U, // LD1i32
6668309U, // LD1i32_POST
6148117U, // LD1i64
6938645U, // LD1i64_POST
6156309U, // LD1i8
7208981U, // LD1i8_POST
38775U, // LD2Rv16b
5285751U, // LD2Rv16b_POST
46967U, // LD2Rv1d
4245367U, // LD2Rv1d_POST
55159U, // LD2Rv2d
4253559U, // LD2Rv2d_POST
63351U, // LD2Rv2s
4523895U, // LD2Rv2s_POST
71543U, // LD2Rv4h
5056375U, // LD2Rv4h_POST
79735U, // LD2Rv4s
4540279U, // LD2Rv4s_POST
87927U, // LD2Rv8b
5334903U, // LD2Rv8b_POST
96119U, // LD2Rv8h
5080951U, // LD2Rv8h_POST
36947U, // LD2Twov16b
3973203U, // LD2Twov16b_POST
53331U, // LD2Twov2d
3989587U, // LD2Twov2d_POST
61523U, // LD2Twov2s
4259923U, // LD2Twov2s_POST
69715U, // LD2Twov4h
4268115U, // LD2Twov4h_POST
77907U, // LD2Twov4s
4014163U, // LD2Twov4s_POST
86099U, // LD2Twov8b
4284499U, // LD2Twov8b_POST
94291U, // LD2Twov8h
4030547U, // LD2Twov8h_POST
6131795U, // LD2i16
6660179U, // LD2i16_POST
6139987U, // LD2i32
6930515U, // LD2i32_POST
6148179U, // LD2i64
7462995U, // LD2i64_POST
6156371U, // LD2i8
6422611U, // LD2i8_POST
38781U, // LD3Rv16b
7645053U, // LD3Rv16b_POST
46973U, // LD3Rv1d
5818237U, // LD3Rv1d_POST
55165U, // LD3Rv2d
5826429U, // LD3Rv2d_POST
63357U, // LD3Rv2s
7931773U, // LD3Rv2s_POST
71549U, // LD3Rv4h
8202109U, // LD3Rv4h_POST
79741U, // LD3Rv4s
7948157U, // LD3Rv4s_POST
87933U, // LD3Rv8b
7694205U, // LD3Rv8b_POST
96125U, // LD3Rv8h
8226685U, // LD3Rv8h_POST
37317U, // LD3Threev16b
5546437U, // LD3Threev16b_POST
53701U, // LD3Threev2d
5562821U, // LD3Threev2d_POST
61893U, // LD3Threev2s
5833157U, // LD3Threev2s_POST
70085U, // LD3Threev4h
5841349U, // LD3Threev4h_POST
78277U, // LD3Threev4s
5587397U, // LD3Threev4s_POST
86469U, // LD3Threev8b
5857733U, // LD3Threev8b_POST
94661U, // LD3Threev8h
5603781U, // LD3Threev8h_POST
6132165U, // LD3i16
8495557U, // LD3i16_POST
6140357U, // LD3i32
8765893U, // LD3i32_POST
6148549U, // LD3i64
9036229U, // LD3i64_POST
6156741U, // LD3i8
9306565U, // LD3i8_POST
37341U, // LD4Fourv16b
3711453U, // LD4Fourv16b_POST
53725U, // LD4Fourv2d
3727837U, // LD4Fourv2d_POST
61917U, // LD4Fourv2s
3998173U, // LD4Fourv2s_POST
70109U, // LD4Fourv4h
4006365U, // LD4Fourv4h_POST
78301U, // LD4Fourv4s
3752413U, // LD4Fourv4s_POST
86493U, // LD4Fourv8b
4022749U, // LD4Fourv8b_POST
94685U, // LD4Fourv8h
3768797U, // LD4Fourv8h_POST
38787U, // LD4Rv16b
5023619U, // LD4Rv16b_POST
46979U, // LD4Rv1d
3983235U, // LD4Rv1d_POST
55171U, // LD4Rv2d
3991427U, // LD4Rv2d_POST
63363U, // LD4Rv2s
4261763U, // LD4Rv2s_POST
71555U, // LD4Rv4h
4532099U, // LD4Rv4h_POST
79747U, // LD4Rv4s
4278147U, // LD4Rv4s_POST
87939U, // LD4Rv8b
5072771U, // LD4Rv8b_POST
96131U, // LD4Rv8h
4556675U, // LD4Rv8h_POST
6132189U, // LD4i16
6922717U, // LD4i16_POST
6140381U, // LD4i32
7455197U, // LD4i32_POST
6148573U, // LD4i64
9560541U, // LD4i64_POST
6156765U, // LD4i8
6685149U, // LD4i8_POST
26485304U, // LDARB
26485801U, // LDARH
26486665U, // LDARW
26486665U, // LDARX
553920315U, // LDAXPW
553920315U, // LDAXPX
26485358U, // LDAXRB
26485855U, // LDAXRH
26486787U, // LDAXRW
26486787U, // LDAXRX
553920258U, // LDNPDi
553920258U, // LDNPQi
553920258U, // LDNPSi
553920258U, // LDNPWi
553920258U, // LDNPXi
553920190U, // LDPDi
604276414U, // LDPDpost
604276414U, // LDPDpre
553920190U, // LDPQi
604276414U, // LDPQpost
604276414U, // LDPQpre
553920974U, // LDPSWi
604277198U, // LDPSWpost
604277198U, // LDPSWpre
553920190U, // LDPSi
604276414U, // LDPSpost
604276414U, // LDPSpre
553920190U, // LDPWi
604276414U, // LDPWpost
604276414U, // LDPWpre
553920190U, // LDPXi
604276414U, // LDPXpost
604276414U, // LDPXpre
1150583359U, // LDRBBpost
76841535U, // LDRBBpre
26485311U, // LDRBBroW
26485311U, // LDRBBroX
26485311U, // LDRBBui
1150584728U, // LDRBpost
76842904U, // LDRBpre
26486680U, // LDRBroW
26486680U, // LDRBroX
26486680U, // LDRBui
100935576U, // LDRDl
1150584728U, // LDRDpost
76842904U, // LDRDpre
26486680U, // LDRDroW
26486680U, // LDRDroX
26486680U, // LDRDui
1150583856U, // LDRHHpost
76842032U, // LDRHHpre
26485808U, // LDRHHroW
26485808U, // LDRHHroX
26485808U, // LDRHHui
1150584728U, // LDRHpost
76842904U, // LDRHpre
26486680U, // LDRHroW
26486680U, // LDRHroX
26486680U, // LDRHui
100935576U, // LDRQl
1150584728U, // LDRQpost
76842904U, // LDRQpre
26486680U, // LDRQroW
26486680U, // LDRQroX
26486680U, // LDRQui
1150583446U, // LDRSBWpost
76841622U, // LDRSBWpre
26485398U, // LDRSBWroW
26485398U, // LDRSBWroX
26485398U, // LDRSBWui
1150583446U, // LDRSBXpost
76841622U, // LDRSBXpre
26485398U, // LDRSBXroW
26485398U, // LDRSBXroX
26485398U, // LDRSBXui
1150583933U, // LDRSHWpost
76842109U, // LDRSHWpre
26485885U, // LDRSHWroW
26485885U, // LDRSHWroX
26485885U, // LDRSHWui
1150583933U, // LDRSHXpost
76842109U, // LDRSHXpre
26485885U, // LDRSHXroW
26485885U, // LDRSHXroX
26485885U, // LDRSHXui
100936149U, // LDRSWl
1150585301U, // LDRSWpost
76843477U, // LDRSWpre
26487253U, // LDRSWroW
26487253U, // LDRSWroX
26487253U, // LDRSWui
100935576U, // LDRSl
1150584728U, // LDRSpost
76842904U, // LDRSpre
26486680U, // LDRSroW
26486680U, // LDRSroX
26486680U, // LDRSui
100935576U, // LDRWl
1150584728U, // LDRWpost
76842904U, // LDRWpre
26486680U, // LDRWroW
26486680U, // LDRWroX
26486680U, // LDRWui
100935576U, // LDRXl
1150584728U, // LDRXpost
76842904U, // LDRXpre
26486680U, // LDRXroW
26486680U, // LDRXroX
26486680U, // LDRXui
26485324U, // LDTRBi
26485821U, // LDTRHi
26485405U, // LDTRSBWi
26485405U, // LDTRSBXi
26485892U, // LDTRSHWi
26485892U, // LDTRSHXi
26487260U, // LDTRSWi
26486752U, // LDTRWi
26486752U, // LDTRXi
26485344U, // LDURBBi
26486775U, // LDURBi
26486775U, // LDURDi
26485841U, // LDURHHi
26486775U, // LDURHi
26486775U, // LDURQi
26485413U, // LDURSBWi
26485413U, // LDURSBXi
26485900U, // LDURSHWi
26485900U, // LDURSHXi
26487268U, // LDURSWi
26486775U, // LDURSi
26486775U, // LDURWi
26486775U, // LDURXi
553920343U, // LDXPW
553920343U, // LDXPX
26485366U, // LDXRB
26485863U, // LDXRH
26486794U, // LDXRW
26486794U, // LDXRX
0U, // LOADgot
17049003U, // LSLVWr
17049003U, // LSLVXr
17049558U, // LSRVWr
17049558U, // LSRVXr
17048395U, // MADDWrrr
17048395U, // MADDXrrr
2181050875U, // MLAv16i8
2718446075U, // MLAv2i32
2718446075U, // MLAv2i32_indexed
3255841275U, // MLAv4i16
3255841275U, // MLAv4i16_indexed
1108619771U, // MLAv4i32
1108619771U, // MLAv4i32_indexed
1645752827U, // MLAv8i16
1645752827U, // MLAv8i16_indexed
3793498619U, // MLAv8i8
2181052514U, // MLSv16i8
2718447714U, // MLSv2i32
2718447714U, // MLSv2i32_indexed
3255842914U, // MLSv4i16
3255842914U, // MLSv4i16_indexed
1108621410U, // MLSv4i32
1108621410U, // MLSv4i32_indexed
1645754466U, // MLSv8i16
1645754466U, // MLSv8i16_indexed
3793500258U, // MLSv8i8
168043698U, // MOVID
721425586U, // MOVIv16b_ns
168563890U, // MOVIv2d_ns
1795691698U, // MOVIv2i32
1795691698U, // MOVIv2s_msl
1796215986U, // MOVIv4i16
1796478130U, // MOVIv4i32
1796478130U, // MOVIv4s_msl
723260594U, // MOVIv8b_ns
1796740274U, // MOVIv8i16
84157629U, // MOVKWi
84157629U, // MOVKXi
1795434146U, // MOVNWi
1795434146U, // MOVNXi
1795435093U, // MOVZWi
1795435093U, // MOVZXi
0U, // MOVaddr
0U, // MOVaddrBA
0U, // MOVaddrCP
0U, // MOVaddrEXT
0U, // MOVaddrJT
0U, // MOVaddrTLS
0U, // MOVi32imm
0U, // MOVi64imm
201599116U, // MRS
137179U, // MSR
141275U, // MSRpstate
17048258U, // MSUBWrrr
17048258U, // MSUBXrrr
2147489228U, // MULv16i8
2684884428U, // MULv2i32
2684884428U, // MULv2i32_indexed
3222279628U, // MULv4i16
3222279628U, // MULv4i16_indexed
1075058124U, // MULv4i32
1075058124U, // MULv4i32_indexed
1612191180U, // MULv8i16
1612191180U, // MULv8i16_indexed
3759936972U, // MULv8i8
1795691679U, // MVNIv2i32
1795691679U, // MVNIv2s_msl
1796215967U, // MVNIv4i16
1796478111U, // MVNIv4i32
1796478111U, // MVNIv4s_msl
1796740255U, // MVNIv8i16
5076U, // NEGv16i8
553919444U, // NEGv1i64
1074271188U, // NEGv2i32
1611404244U, // NEGv2i64
2148537300U, // NEGv4i16
2685670356U, // NEGv4i32
3222803412U, // NEGv8i16
3759936468U, // NEGv8i8
6353U, // NOTv16i8
3759937745U, // NOTv8i8
0U, // ORNWrr
17049189U, // ORNWrs
0U, // ORNXrr
17049189U, // ORNXrs
2147489381U, // ORNv16i8
3759937125U, // ORNv8i8
17049548U, // ORRWri
0U, // ORRWrr
17049548U, // ORRWrs
17049548U, // ORRXri
0U, // ORRXrr
17049548U, // ORRXrs
2147489740U, // ORRv16i8
84424652U, // ORRv2i32
84948940U, // ORRv4i16
85211084U, // ORRv4i32
85473228U, // ORRv8i16
3759937484U, // ORRv8i8
2149060822U, // PMULLv16i8
228070797U, // PMULLv1i64
244846806U, // PMULLv2i64
3759674765U, // PMULLv8i8
2147489240U, // PMULv16i8
3759936984U, // PMULv8i8
101070321U, // PRFMl
26621425U, // PRFMroW
26621425U, // PRFMroX
26621425U, // PRFMui
26621455U, // PRFUMi
537400862U, // RADDHNv2i64_v2i32
571748633U, // RADDHNv2i64_v4i32
1074796062U, // RADDHNv4i32_v4i16
1108881689U, // RADDHNv4i32_v8i16
1644179737U, // RADDHNv8i16_v16i8
1612453406U, // RADDHNv8i16_v8i8
553920698U, // RBITWr
553920698U, // RBITXr
6330U, // RBITv16i8
3759937722U, // RBITv8i8
2107559U, // RET
0U, // RET_ReallyLR
553918951U, // REV16Wr
553918951U, // REV16Xr
4583U, // REV16v16i8
3759935975U, // REV16v8i8
553918540U, // REV32Xr
4172U, // REV32v16i8
2148536396U, // REV32v4i16
3222802508U, // REV32v8i16
3759935564U, // REV32v8i8
4566U, // REV64v16i8
1074270678U, // REV64v2i32
2148536790U, // REV64v4i16
2685669846U, // REV64v4i32
3222802902U, // REV64v8i16
3759935958U, // REV64v8i8
553920805U, // REVWr
553920805U, // REVXr
17049543U, // RORVWr
17049543U, // RORVXr
1644179766U, // RSHRNv16i8_shift
537400917U, // RSHRNv2i32_shift
1074796117U, // RSHRNv4i16_shift
571748662U, // RSHRNv4i32_shift
1108881718U, // RSHRNv8i16_shift
1612453461U, // RSHRNv8i8_shift
537400854U, // RSUBHNv2i64_v2i32
571748624U, // RSUBHNv2i64_v4i32
1074796054U, // RSUBHNv4i32_v4i16
1108881680U, // RSUBHNv4i32_v8i16
1644179728U, // RSUBHNv8i16_v16i8
1612453398U, // RSUBHNv8i16_v8i8
2182623330U, // SABALv16i8_v8i16
2718708931U, // SABALv2i32_v2i64
3256104131U, // SABALv4i16_v4i32
1108095074U, // SABALv4i32_v2i64
1645490274U, // SABALv8i16_v4i32
3793237187U, // SABALv8i8_v8i16
2181050862U, // SABAv16i8
2718446062U, // SABAv2i32
3255841262U, // SABAv4i16
1108619758U, // SABAv4i32
1645752814U, // SABAv8i16
3793498606U, // SABAv8i8
2149060764U, // SABDLv16i8_v8i16
2685146379U, // SABDLv2i32_v2i64
3222541579U, // SABDLv4i16_v4i32
1074532508U, // SABDLv4i32_v2i64
1611927708U, // SABDLv8i16_v4i32
3759674635U, // SABDLv8i8_v8i16
2147488538U, // SABDv16i8
2684883738U, // SABDv2i32
3222278938U, // SABDv4i16
1075057434U, // SABDv4i32
1612190490U, // SABDv8i16
3759936282U, // SABDv8i8
35141315U, // SADALPv16i8_v8i16
1117533891U, // SADALPv2i32_v1i64
2181576387U, // SADALPv4i16_v2i32
2718709443U, // SADALPv4i32_v2i64
3256104643U, // SADALPv8i16_v4i32
3792713411U, // SADALPv8i8_v4i16
1578707U, // SADDLPv16i8_v8i16
1083971283U, // SADDLPv2i32_v1i64
2148013779U, // SADDLPv4i16_v2i32
2685146835U, // SADDLPv4i32_v2i64
3222542035U, // SADDLPv8i16_v4i32
3759150803U, // SADDLPv8i8_v4i16
272700U, // SADDLVv16i8v
2147756348U, // SADDLVv4i16v
2684627260U, // SADDLVv4i32v
3221498172U, // SADDLVv8i16v
3758369084U, // SADDLVv8i8v
2149060780U, // SADDLv16i8_v8i16
2685146409U, // SADDLv2i32_v2i64
3222541609U, // SADDLv4i16_v4i32
1074532524U, // SADDLv4i32_v2i64
1611927724U, // SADDLv8i16_v4i32
3759674665U, // SADDLv8i8_v8i16
1612190133U, // SADDWv16i8_v8i16
537663936U, // SADDWv2i32_v2i64
1075059136U, // SADDWv4i16_v4i32
537661877U, // SADDWv4i32_v2i64
1075057077U, // SADDWv8i16_v4i32
1612192192U, // SADDWv8i8_v8i16
17049656U, // SBCSWr
17049656U, // SBCSXr
17048293U, // SBCWr
17048293U, // SBCXr
17049061U, // SBFMWri
17049061U, // SBFMXri
17048517U, // SCVTFSWDri
17048517U, // SCVTFSWSri
17048517U, // SCVTFSXDri
17048517U, // SCVTFSXSri
553919429U, // SCVTFUWDri
553919429U, // SCVTFUWSri
553919429U, // SCVTFUXDri
553919429U, // SCVTFUXSri
17048517U, // SCVTFd
17048517U, // SCVTFs
553919429U, // SCVTFv1i32
553919429U, // SCVTFv1i64
1074271173U, // SCVTFv2f32
1611404229U, // SCVTFv2f64
2684883909U, // SCVTFv2i32_shift
537662405U, // SCVTFv2i64_shift
2685670341U, // SCVTFv4f32
1075057605U, // SCVTFv4i32_shift
17049904U, // SDIVWr
17049904U, // SDIVXr
17049904U, // SDIV_IntWr
17049904U, // SDIV_IntXr
67404510U, // SHA1Crrr
553919463U, // SHA1Hrr
67405278U, // SHA1Mrrr
67405488U, // SHA1Prrr
1108619265U, // SHA1SU0rrr
2719232056U, // SHA1SU1rr
67403864U, // SHA256H2rrr
67404790U, // SHA256Hrrr
2719232010U, // SHA256SU0rr
1108619329U, // SHA256SU1rrr
2147488572U, // SHADDv16i8
2684883772U, // SHADDv2i32
3222278972U, // SHADDv4i16
1075057468U, // SHADDv4i32
1612190524U, // SHADDv8i16
3759936316U, // SHADDv8i8
2149060797U, // SHLLv16i8
2685146487U, // SHLLv2i32
3222541687U, // SHLLv4i16
3758887101U, // SHLLv4i32
1315005U, // SHLLv8i16
538449271U, // SHLLv8i8
17048896U, // SHLd
2147489088U, // SHLv16i8_shift
2684884288U, // SHLv2i32_shift
537662784U, // SHLv2i64_shift
3222279488U, // SHLv4i16_shift
1075057984U, // SHLv4i32_shift
1612191040U, // SHLv8i16_shift
3759936832U, // SHLv8i8_shift
1644179748U, // SHRNv16i8_shift
537400901U, // SHRNv2i32_shift
1074796101U, // SHRNv4i16_shift
571748644U, // SHRNv4i32_shift
1108881700U, // SHRNv8i16_shift
1612453445U, // SHRNv8i8_shift
2147488435U, // SHSUBv16i8
2684883635U, // SHSUBv2i32
3222278835U, // SHSUBv4i16
1075057331U, // SHSUBv4i32
1612190387U, // SHSUBv8i16
3759936179U, // SHSUBv8i8
67404954U, // SLId
2181051546U, // SLIv16i8_shift
2718446746U, // SLIv2i32_shift
571225242U, // SLIv2i64_shift
3255841946U, // SLIv4i16_shift
1108620442U, // SLIv4i32_shift
1645753498U, // SLIv8i16_shift
3793499290U, // SLIv8i8_shift
17048857U, // SMADDLrrr
2147489609U, // SMAXPv16i8
2684884809U, // SMAXPv2i32
3222280009U, // SMAXPv4i16
1075058505U, // SMAXPv4i32
1612191561U, // SMAXPv8i16
3759937353U, // SMAXPv8i8
272787U, // SMAXVv16i8v
2147756435U, // SMAXVv4i16v
2684627347U, // SMAXVv4i32v
3221498259U, // SMAXVv8i16v
3758369171U, // SMAXVv8i8v
2147490298U, // SMAXv16i8
2684885498U, // SMAXv2i32
3222280698U, // SMAXv4i16
1075059194U, // SMAXv4i32
1612192250U, // SMAXv8i16
3759938042U, // SMAXv8i8
21246U, // SMC
2147489551U, // SMINPv16i8
2684884751U, // SMINPv2i32
3222279951U, // SMINPv4i16
1075058447U, // SMINPv4i32
1612191503U, // SMINPv8i16
3759937295U, // SMINPv8i8
272741U, // SMINVv16i8v
2147756389U, // SMINVv4i16v
2684627301U, // SMINVv4i32v
3221498213U, // SMINVv8i16v
3758369125U, // SMINVv8i8v
2147489324U, // SMINv16i8
2684884524U, // SMINv2i32
3222279724U, // SMINv4i16
1075058220U, // SMINv4i32
1612191276U, // SMINv8i16
3759937068U, // SMINv8i8
2182623356U, // SMLALv16i8_v8i16
2718708954U, // SMLALv2i32_indexed
2718708954U, // SMLALv2i32_v2i64
3256104154U, // SMLALv4i16_indexed
3256104154U, // SMLALv4i16_v4i32
1108095100U, // SMLALv4i32_indexed
1108095100U, // SMLALv4i32_v2i64
1645490300U, // SMLALv8i16_indexed
1645490300U, // SMLALv8i16_v4i32
3793237210U, // SMLALv8i8_v8i16
2182623480U, // SMLSLv16i8_v8i16
2718709168U, // SMLSLv2i32_indexed
2718709168U, // SMLSLv2i32_v2i64
3256104368U, // SMLSLv4i16_indexed
3256104368U, // SMLSLv4i16_v4i32
1108095224U, // SMLSLv4i32_indexed
1108095224U, // SMLSLv4i32_v2i64
1645490424U, // SMLSLv8i16_indexed
1645490424U, // SMLSLv8i16_v4i32
3793237424U, // SMLSLv8i8_v8i16
272768U, // SMOVvi16to32
272768U, // SMOVvi16to64
537143680U, // SMOVvi32to64
1610885504U, // SMOVvi8to32
1610885504U, // SMOVvi8to64
17048813U, // SMSUBLrrr
17048603U, // SMULHrr
2149060830U, // SMULLv16i8_v8i16
2685146516U, // SMULLv2i32_indexed
2685146516U, // SMULLv2i32_v2i64
3222541716U, // SMULLv4i16_indexed
3222541716U, // SMULLv4i16_v4i32
1074532574U, // SMULLv4i32_indexed
1074532574U, // SMULLv4i32_v2i64
1611927774U, // SMULLv8i16_indexed
1611927774U, // SMULLv8i16_v4i32
3759674772U, // SMULLv8i8_v8i16
6187U, // SQABSv16i8
553920555U, // SQABSv1i16
553920555U, // SQABSv1i32
553920555U, // SQABSv1i64
553920555U, // SQABSv1i8
1074272299U, // SQABSv2i32
1611405355U, // SQABSv2i64
2148538411U, // SQABSv4i16
2685671467U, // SQABSv4i32
3222804523U, // SQABSv8i16
3759937579U, // SQABSv8i8
2147488602U, // SQADDv16i8
17048410U, // SQADDv1i16
17048410U, // SQADDv1i32
17048410U, // SQADDv1i64
17048410U, // SQADDv1i8
2684883802U, // SQADDv2i32
537662298U, // SQADDv2i64
3222279002U, // SQADDv4i16
1075057498U, // SQADDv4i32
1612190554U, // SQADDv8i16
3759936346U, // SQADDv8i8
67405009U, // SQDMLALi16
67405009U, // SQDMLALi32
67405009U, // SQDMLALv1i32_indexed
67405009U, // SQDMLALv1i64_indexed
2718708945U, // SQDMLALv2i32_indexed
2718708945U, // SQDMLALv2i32_v2i64
3256104145U, // SQDMLALv4i16_indexed
3256104145U, // SQDMLALv4i16_v4i32
1108095090U, // SQDMLALv4i32_indexed
1108095090U, // SQDMLALv4i32_v2i64
1645490290U, // SQDMLALv8i16_indexed
1645490290U, // SQDMLALv8i16_v4i32
67405223U, // SQDMLSLi16
67405223U, // SQDMLSLi32
67405223U, // SQDMLSLv1i32_indexed
67405223U, // SQDMLSLv1i64_indexed
2718709159U, // SQDMLSLv2i32_indexed
2718709159U, // SQDMLSLv2i32_v2i64
3256104359U, // SQDMLSLv4i16_indexed
3256104359U, // SQDMLSLv4i16_v4i32
1108095214U, // SQDMLSLv4i32_indexed
1108095214U, // SQDMLSLv4i32_v2i64
1645490414U, // SQDMLSLv8i16_indexed
1645490414U, // SQDMLSLv8i16_v4i32
17048584U, // SQDMULHv1i16
17048584U, // SQDMULHv1i16_indexed
17048584U, // SQDMULHv1i32
17048584U, // SQDMULHv1i32_indexed
2684883976U, // SQDMULHv2i32
2684883976U, // SQDMULHv2i32_indexed
3222279176U, // SQDMULHv4i16
3222279176U, // SQDMULHv4i16_indexed
1075057672U, // SQDMULHv4i32
1075057672U, // SQDMULHv4i32_indexed
1612190728U, // SQDMULHv8i16
1612190728U, // SQDMULHv8i16_indexed
17048964U, // SQDMULLi16
17048964U, // SQDMULLi32
17048964U, // SQDMULLv1i32_indexed
17048964U, // SQDMULLv1i64_indexed
2685146500U, // SQDMULLv2i32_indexed
2685146500U, // SQDMULLv2i32_v2i64
3222541700U, // SQDMULLv4i16_indexed
3222541700U, // SQDMULLv4i16_v4i32
1074532556U, // SQDMULLv4i32_indexed
1074532556U, // SQDMULLv4i32_v2i64
1611927756U, // SQDMULLv8i16_indexed
1611927756U, // SQDMULLv8i16_v4i32
5081U, // SQNEGv16i8
553919449U, // SQNEGv1i16
553919449U, // SQNEGv1i32
553919449U, // SQNEGv1i64
553919449U, // SQNEGv1i8
1074271193U, // SQNEGv2i32
1611404249U, // SQNEGv2i64
2148537305U, // SQNEGv4i16
2685670361U, // SQNEGv4i32
3222803417U, // SQNEGv8i16
3759936473U, // SQNEGv8i8
17048593U, // SQRDMULHv1i16
17048593U, // SQRDMULHv1i16_indexed
17048593U, // SQRDMULHv1i32
17048593U, // SQRDMULHv1i32_indexed
2684883985U, // SQRDMULHv2i32
2684883985U, // SQRDMULHv2i32_indexed
3222279185U, // SQRDMULHv4i16
3222279185U, // SQRDMULHv4i16_indexed
1075057681U, // SQRDMULHv4i32
1075057681U, // SQRDMULHv4i32_indexed
1612190737U, // SQRDMULHv8i16
1612190737U, // SQRDMULHv8i16_indexed
2147489100U, // SQRSHLv16i8
17048908U, // SQRSHLv1i16
17048908U, // SQRSHLv1i32
17048908U, // SQRSHLv1i64
17048908U, // SQRSHLv1i8
2684884300U, // SQRSHLv2i32
537662796U, // SQRSHLv2i64
3222279500U, // SQRSHLv4i16
1075057996U, // SQRSHLv4i32
1612191052U, // SQRSHLv8i16
3759936844U, // SQRSHLv8i8
17049171U, // SQRSHRNb
17049171U, // SQRSHRNh
17049171U, // SQRSHRNs
1644179764U, // SQRSHRNv16i8_shift
537400915U, // SQRSHRNv2i32_shift
1074796115U, // SQRSHRNv4i16_shift
571748660U, // SQRSHRNv4i32_shift
1108881716U, // SQRSHRNv8i16_shift
1612453459U, // SQRSHRNv8i8_shift
17049232U, // SQRSHRUNb
17049232U, // SQRSHRUNh
17049232U, // SQRSHRUNs
1644179824U, // SQRSHRUNv16i8_shift
537400976U, // SQRSHRUNv2i32_shift
1074796176U, // SQRSHRUNv4i16_shift
571748720U, // SQRSHRUNv4i32_shift
1108881776U, // SQRSHRUNv8i16_shift
1612453520U, // SQRSHRUNv8i8_shift
17049847U, // SQSHLUb
17049847U, // SQSHLUd
17049847U, // SQSHLUh
17049847U, // SQSHLUs
2147490039U, // SQSHLUv16i8_shift
2684885239U, // SQSHLUv2i32_shift
537663735U, // SQSHLUv2i64_shift
3222280439U, // SQSHLUv4i16_shift
1075058935U, // SQSHLUv4i32_shift
1612191991U, // SQSHLUv8i16_shift
3759937783U, // SQSHLUv8i8_shift
17048894U, // SQSHLb
17048894U, // SQSHLd
17048894U, // SQSHLh
17048894U, // SQSHLs
2147489086U, // SQSHLv16i8
2147489086U, // SQSHLv16i8_shift
17048894U, // SQSHLv1i16
17048894U, // SQSHLv1i32
17048894U, // SQSHLv1i64
17048894U, // SQSHLv1i8
2684884286U, // SQSHLv2i32
2684884286U, // SQSHLv2i32_shift
537662782U, // SQSHLv2i64
537662782U, // SQSHLv2i64_shift
3222279486U, // SQSHLv4i16
3222279486U, // SQSHLv4i16_shift
1075057982U, // SQSHLv4i32
1075057982U, // SQSHLv4i32_shift
1612191038U, // SQSHLv8i16
1612191038U, // SQSHLv8i16_shift
3759936830U, // SQSHLv8i8
3759936830U, // SQSHLv8i8_shift
17049155U, // SQSHRNb
17049155U, // SQSHRNh
17049155U, // SQSHRNs
1644179746U, // SQSHRNv16i8_shift
537400899U, // SQSHRNv2i32_shift
1074796099U, // SQSHRNv4i16_shift
571748642U, // SQSHRNv4i32_shift
1108881698U, // SQSHRNv8i16_shift
1612453443U, // SQSHRNv8i8_shift
17049223U, // SQSHRUNb
17049223U, // SQSHRUNh
17049223U, // SQSHRUNs
1644179814U, // SQSHRUNv16i8_shift
537400967U, // SQSHRUNv2i32_shift
1074796167U, // SQSHRUNv4i16_shift
571748710U, // SQSHRUNv4i32_shift
1108881766U, // SQSHRUNv8i16_shift
1612453511U, // SQSHRUNv8i8_shift
2147488464U, // SQSUBv16i8
17048272U, // SQSUBv1i16
17048272U, // SQSUBv1i32
17048272U, // SQSUBv1i64
17048272U, // SQSUBv1i8
2684883664U, // SQSUBv2i32
537662160U, // SQSUBv2i64
3222278864U, // SQSUBv4i16
1075057360U, // SQSUBv4i32
1612190416U, // SQSUBv8i16
3759936208U, // SQSUBv8i8
3254792534U, // SQXTNv16i8
553920121U, // SQXTNv1i16
553920121U, // SQXTNv1i32
553920121U, // SQXTNv1i8
1611142777U, // SQXTNv2i32
2685408889U, // SQXTNv4i16
1645490518U, // SQXTNv4i32
2719494486U, // SQXTNv8i16
3223066233U, // SQXTNv8i8
3254792571U, // SQXTUNv16i8
553920154U, // SQXTUNv1i16
553920154U, // SQXTUNv1i32
553920154U, // SQXTUNv1i8
1611142810U, // SQXTUNv2i32
2685408922U, // SQXTUNv4i16
1645490555U, // SQXTUNv4i32
2719494523U, // SQXTUNv8i16
3223066266U, // SQXTUNv8i8
2147488556U, // SRHADDv16i8
2684883756U, // SRHADDv2i32
3222278956U, // SRHADDv4i16
1075057452U, // SRHADDv4i32
1612190508U, // SRHADDv8i16
3759936300U, // SRHADDv8i8
67404965U, // SRId
2181051557U, // SRIv16i8_shift
2718446757U, // SRIv2i32_shift
571225253U, // SRIv2i64_shift
3255841957U, // SRIv4i16_shift
1108620453U, // SRIv4i32_shift
1645753509U, // SRIv8i16_shift
3793499301U, // SRIv8i8_shift
2147489116U, // SRSHLv16i8
17048924U, // SRSHLv1i64
2684884316U, // SRSHLv2i32
537662812U, // SRSHLv2i64
3222279516U, // SRSHLv4i16
1075058012U, // SRSHLv4i32
1612191068U, // SRSHLv8i16
3759936860U, // SRSHLv8i8
17049501U, // SRSHRd
2147489693U, // SRSHRv16i8_shift
2684884893U, // SRSHRv2i32_shift
537663389U, // SRSHRv2i64_shift
3222280093U, // SRSHRv4i16_shift
1075058589U, // SRSHRv4i32_shift
1612191645U, // SRSHRv8i16_shift
3759937437U, // SRSHRv8i8_shift
67404288U, // SRSRAd
2181050880U, // SRSRAv16i8_shift
2718446080U, // SRSRAv2i32_shift
571224576U, // SRSRAv2i64_shift
3255841280U, // SRSRAv4i16_shift
1108619776U, // SRSRAv4i32_shift
1645752832U, // SRSRAv8i16_shift
3793498624U, // SRSRAv8i8_shift
2149060796U, // SSHLLv16i8_shift
2685146486U, // SSHLLv2i32_shift
3222541686U, // SSHLLv4i16_shift
1074532540U, // SSHLLv4i32_shift
1611927740U, // SSHLLv8i16_shift
3759674742U, // SSHLLv8i8_shift
2147489130U, // SSHLv16i8
17048938U, // SSHLv1i64
2684884330U, // SSHLv2i32
537662826U, // SSHLv2i64
3222279530U, // SSHLv4i16
1075058026U, // SSHLv4i32
1612191082U, // SSHLv8i16
3759936874U, // SSHLv8i8
17049515U, // SSHRd
2147489707U, // SSHRv16i8_shift
2684884907U, // SSHRv2i32_shift
537663403U, // SSHRv2i64_shift
3222280107U, // SSHRv4i16_shift
1075058603U, // SSHRv4i32_shift
1612191659U, // SSHRv8i16_shift
3759937451U, // SSHRv8i8_shift
67404302U, // SSRAd
2181050894U, // SSRAv16i8_shift
2718446094U, // SSRAv2i32_shift
571224590U, // SSRAv2i64_shift
3255841294U, // SSRAv4i16_shift
1108619790U, // SSRAv4i32_shift
1645752846U, // SSRAv8i16_shift
3793498638U, // SSRAv8i8_shift
2149060748U, // SSUBLv16i8_v8i16
2685146365U, // SSUBLv2i32_v2i64
3222541565U, // SSUBLv4i16_v4i32
1074532492U, // SSUBLv4i32_v2i64
1611927692U, // SSUBLv8i16_v4i32
3759674621U, // SSUBLv8i8_v8i16
1612190117U, // SSUBWv16i8_v8i16
537663913U, // SSUBWv2i32_v2i64
1075059113U, // SSUBWv4i16_v4i32
537661861U, // SSUBWv4i32_v2i64
1075057061U, // SSUBWv8i16_v4i32
1612192169U, // SSUBWv8i8_v8i16
36915U, // ST1Fourv16b
3711027U, // ST1Fourv16b_POST
45107U, // ST1Fourv1d
3981363U, // ST1Fourv1d_POST
53299U, // ST1Fourv2d
3727411U, // ST1Fourv2d_POST
61491U, // ST1Fourv2s
3997747U, // ST1Fourv2s_POST
69683U, // ST1Fourv4h
4005939U, // ST1Fourv4h_POST
77875U, // ST1Fourv4s
3751987U, // ST1Fourv4s_POST
86067U, // ST1Fourv8b
4022323U, // ST1Fourv8b_POST
94259U, // ST1Fourv8h
3768371U, // ST1Fourv8h_POST
36915U, // ST1Onev16b
4235315U, // ST1Onev16b_POST
45107U, // ST1Onev1d
4505651U, // ST1Onev1d_POST
53299U, // ST1Onev2d
4251699U, // ST1Onev2d_POST
61491U, // ST1Onev2s
4522035U, // ST1Onev2s_POST
69683U, // ST1Onev4h
4530227U, // ST1Onev4h_POST
77875U, // ST1Onev4s
4276275U, // ST1Onev4s_POST
86067U, // ST1Onev8b
4546611U, // ST1Onev8b_POST
94259U, // ST1Onev8h
4292659U, // ST1Onev8h_POST
36915U, // ST1Threev16b
5546035U, // ST1Threev16b_POST
45107U, // ST1Threev1d
5816371U, // ST1Threev1d_POST
53299U, // ST1Threev2d
5562419U, // ST1Threev2d_POST
61491U, // ST1Threev2s
5832755U, // ST1Threev2s_POST
69683U, // ST1Threev4h
5840947U, // ST1Threev4h_POST
77875U, // ST1Threev4s
5586995U, // ST1Threev4s_POST
86067U, // ST1Threev8b
5857331U, // ST1Threev8b_POST
94259U, // ST1Threev8h
5603379U, // ST1Threev8h_POST
36915U, // ST1Twov16b
3973171U, // ST1Twov16b_POST
45107U, // ST1Twov1d
4243507U, // ST1Twov1d_POST
53299U, // ST1Twov2d
3989555U, // ST1Twov2d_POST
61491U, // ST1Twov2s
4259891U, // ST1Twov2s_POST
69683U, // ST1Twov4h
4268083U, // ST1Twov4h_POST
77875U, // ST1Twov4s
4014131U, // ST1Twov4s_POST
86067U, // ST1Twov8b
4284467U, // ST1Twov8b_POST
94259U, // ST1Twov8h
4030515U, // ST1Twov8h_POST
147507U, // ST1i16
262246451U, // ST1i16_POST
151603U, // ST1i32
279031859U, // ST1i32_POST
155699U, // ST1i64
295817267U, // ST1i64_POST
159795U, // ST1i8
312602675U, // ST1i8_POST
37280U, // ST2Twov16b
3973536U, // ST2Twov16b_POST
53664U, // ST2Twov2d
3989920U, // ST2Twov2d_POST
61856U, // ST2Twov2s
4260256U, // ST2Twov2s_POST
70048U, // ST2Twov4h
4268448U, // ST2Twov4h_POST
78240U, // ST2Twov4s
4014496U, // ST2Twov4s_POST
86432U, // ST2Twov8b
4284832U, // ST2Twov8b_POST
94624U, // ST2Twov8h
4030880U, // ST2Twov8h_POST
147872U, // ST2i16
279024032U, // ST2i16_POST
151968U, // ST2i32
295809440U, // ST2i32_POST
156064U, // ST2i64
329372064U, // ST2i64_POST
160160U, // ST2i8
262271392U, // ST2i8_POST
37329U, // ST3Threev16b
5546449U, // ST3Threev16b_POST
53713U, // ST3Threev2d
5562833U, // ST3Threev2d_POST
61905U, // ST3Threev2s
5833169U, // ST3Threev2s_POST
70097U, // ST3Threev4h
5841361U, // ST3Threev4h_POST
78289U, // ST3Threev4s
5587409U, // ST3Threev4s_POST
86481U, // ST3Threev8b
5857745U, // ST3Threev8b_POST
94673U, // ST3Threev8h
5603793U, // ST3Threev8h_POST
147921U, // ST3i16
346132945U, // ST3i16_POST
152017U, // ST3i32
362918353U, // ST3i32_POST
156113U, // ST3i64
379703761U, // ST3i64_POST
160209U, // ST3i8
396489169U, // ST3i8_POST
37346U, // ST4Fourv16b
3711458U, // ST4Fourv16b_POST
53730U, // ST4Fourv2d
3727842U, // ST4Fourv2d_POST
61922U, // ST4Fourv2s
3998178U, // ST4Fourv2s_POST
70114U, // ST4Fourv4h
4006370U, // ST4Fourv4h_POST
78306U, // ST4Fourv4s
3752418U, // ST4Fourv4s_POST
86498U, // ST4Fourv8b
4022754U, // ST4Fourv8b_POST
94690U, // ST4Fourv8h
3768802U, // ST4Fourv8h_POST
147938U, // ST4i16
295801314U, // ST4i16_POST
152034U, // ST4i32
329363938U, // ST4i32_POST
156130U, // ST4i64
413258210U, // ST4i64_POST
160226U, // ST4i8
279048674U, // ST4i8_POST
26485317U, // STLRB
26485814U, // STLRH
26486716U, // STLRW
26486716U, // STLRX
17049437U, // STLXPW
17049437U, // STLXPX
553919101U, // STLXRB
553919598U, // STLXRH
553920528U, // STLXRW
553920528U, // STLXRX
553920285U, // STNPDi
553920285U, // STNPQi
553920285U, // STNPSi
553920285U, // STNPWi
553920285U, // STNPXi
553920305U, // STPDi
604276529U, // STPDpost
604276529U, // STPDpre
553920305U, // STPQi
604276529U, // STPQpost
604276529U, // STPQpre
553920305U, // STPSi
604276529U, // STPSpost
604276529U, // STPSpre
553920305U, // STPWi
604276529U, // STPWpost
604276529U, // STPWpre
553920305U, // STPXi
604276529U, // STPXpost
604276529U, // STPXpre
1150583379U, // STRBBpost
76841555U, // STRBBpre
26485331U, // STRBBroW
26485331U, // STRBBroX
26485331U, // STRBBui
1150584806U, // STRBpost
76842982U, // STRBpre
26486758U, // STRBroW
26486758U, // STRBroX
26486758U, // STRBui
1150584806U, // STRDpost
76842982U, // STRDpre
26486758U, // STRDroW
26486758U, // STRDroX
26486758U, // STRDui
1150583876U, // STRHHpost
76842052U, // STRHHpre
26485828U, // STRHHroW
26485828U, // STRHHroX
26485828U, // STRHHui
1150584806U, // STRHpost
76842982U, // STRHpre
26486758U, // STRHroW
26486758U, // STRHroX
26486758U, // STRHui
1150584806U, // STRQpost
76842982U, // STRQpre
26486758U, // STRQroW
26486758U, // STRQroX
26486758U, // STRQui
1150584806U, // STRSpost
76842982U, // STRSpre
26486758U, // STRSroW
26486758U, // STRSroX
26486758U, // STRSui
1150584806U, // STRWpost
76842982U, // STRWpre
26486758U, // STRWroW
26486758U, // STRWroX
26486758U, // STRWui
1150584806U, // STRXpost
76842982U, // STRXpre
26486758U, // STRXroW
26486758U, // STRXroX
26486758U, // STRXui
26485337U, // STTRBi
26485834U, // STTRHi
26486763U, // STTRWi
26486763U, // STTRXi
26485351U, // STURBBi
26486781U, // STURBi
26486781U, // STURDi
26485848U, // STURHHi
26486781U, // STURHi
26486781U, // STURQi
26486781U, // STURSi
26486781U, // STURWi
26486781U, // STURXi
17049444U, // STXPW
17049444U, // STXPX
553919109U, // STXRB
553919606U, // STXRH
553920535U, // STXRW
553920535U, // STXRX
537400855U, // SUBHNv2i64_v2i32
571748625U, // SUBHNv2i64_v4i32
1074796055U, // SUBHNv4i32_v4i16
1108881681U, // SUBHNv4i32_v8i16
1644179729U, // SUBHNv8i16_v16i8
1612453399U, // SUBHNv8i16_v8i8
17049650U, // SUBSWri
0U, // SUBSWrr
17049650U, // SUBSWrs
17049650U, // SUBSWrx
17049650U, // SUBSXri
0U, // SUBSXrr
17049650U, // SUBSXrs
17049650U, // SUBSXrx
17049650U, // SUBSXrx64
17048238U, // SUBWri
0U, // SUBWrr
17048238U, // SUBWrs
17048238U, // SUBWrx
17048238U, // SUBXri
0U, // SUBXrr
17048238U, // SUBXrs
17048238U, // SUBXrx
17048238U, // SUBXrx64
2147488430U, // SUBv16i8
17048238U, // SUBv1i64
2684883630U, // SUBv2i32
537662126U, // SUBv2i64
3222278830U, // SUBv4i16
1075057326U, // SUBv4i32
1612190382U, // SUBv8i16
3759936174U, // SUBv8i8
33567585U, // SUQADDv16i8
604275553U, // SUQADDv1i16
604275553U, // SUQADDv1i32
604275553U, // SUQADDv1i64
604275553U, // SUQADDv1i8
1107833697U, // SUQADDv2i32
1644966753U, // SUQADDv2i64
2182099809U, // SUQADDv4i16
2719232865U, // SUQADDv4i32
3256365921U, // SUQADDv8i16
3793498977U, // SUQADDv8i8
21263U, // SVC
17049022U, // SYSLxt
419702938U, // SYSxt
436212968U, // TBLv16i8Four
436212968U, // TBLv16i8One
436212968U, // TBLv16i8Three
436212968U, // TBLv16i8Two
4196144360U, // TBLv8i8Four
4196144360U, // TBLv8i8One
4196144360U, // TBLv8i8Three
4196144360U, // TBLv8i8Two
17050183U, // TBNZW
17050183U, // TBNZX
452999686U, // TBXv16i8Four
452999686U, // TBXv16i8One
452999686U, // TBXv16i8Three
452999686U, // TBXv16i8Two
4212931078U, // TBXv8i8Four
4212931078U, // TBXv8i8One
4212931078U, // TBXv8i8Three
4212931078U, // TBXv8i8Two
17050167U, // TBZW
17050167U, // TBZX
0U, // TCRETURNdi
0U, // TCRETURNri
2107995U, // TLSDESCCALL
0U, // TLSDESC_BLR
2147487770U, // TRN1v16i8
2684882970U, // TRN1v2i32
537661466U, // TRN1v2i64
3222278170U, // TRN1v4i16
1075056666U, // TRN1v4i32
1612189722U, // TRN1v8i16
3759935514U, // TRN1v8i8
2147488072U, // TRN2v16i8
2684883272U, // TRN2v2i32
537661768U, // TRN2v2i64
3222278472U, // TRN2v4i16
1075056968U, // TRN2v4i32
1612190024U, // TRN2v8i16
3759935816U, // TRN2v8i8
2182623338U, // UABALv16i8_v8i16
2718708938U, // UABALv2i32_v2i64
3256104138U, // UABALv4i16_v4i32
1108095082U, // UABALv4i32_v2i64
1645490282U, // UABALv8i16_v4i32
3793237194U, // UABALv8i8_v8i16
2181050868U, // UABAv16i8
2718446068U, // UABAv2i32
3255841268U, // UABAv4i16
1108619764U, // UABAv4i32
1645752820U, // UABAv8i16
3793498612U, // UABAv8i8
2149060772U, // UABDLv16i8_v8i16
2685146386U, // UABDLv2i32_v2i64
3222541586U, // UABDLv4i16_v4i32
1074532516U, // UABDLv4i32_v2i64
1611927716U, // UABDLv8i16_v4i32
3759674642U, // UABDLv8i8_v8i16
2147488544U, // UABDv16i8
2684883744U, // UABDv2i32
3222278944U, // UABDv4i16
1075057440U, // UABDv4i32
1612190496U, // UABDv8i16
3759936288U, // UABDv8i8
35141323U, // UADALPv16i8_v8i16
1117533899U, // UADALPv2i32_v1i64
2181576395U, // UADALPv4i16_v2i32
2718709451U, // UADALPv4i32_v2i64
3256104651U, // UADALPv8i16_v4i32
3792713419U, // UADALPv8i8_v4i16
1578715U, // UADDLPv16i8_v8i16
1083971291U, // UADDLPv2i32_v1i64
2148013787U, // UADDLPv4i16_v2i32
2685146843U, // UADDLPv4i32_v2i64
3222542043U, // UADDLPv8i16_v4i32
3759150811U, // UADDLPv8i8_v4i16
272708U, // UADDLVv16i8v
2147756356U, // UADDLVv4i16v
2684627268U, // UADDLVv4i32v
3221498180U, // UADDLVv8i16v
3758369092U, // UADDLVv8i8v
2149060788U, // UADDLv16i8_v8i16
2685146416U, // UADDLv2i32_v2i64
3222541616U, // UADDLv4i16_v4i32
1074532532U, // UADDLv4i32_v2i64
1611927732U, // UADDLv8i16_v4i32
3759674672U, // UADDLv8i8_v8i16
1612190141U, // UADDWv16i8_v8i16
537663943U, // UADDWv2i32_v2i64
1075059143U, // UADDWv4i16_v4i32
537661885U, // UADDWv4i32_v2i64
1075057085U, // UADDWv8i16_v4i32
1612192199U, // UADDWv8i8_v8i16
17049067U, // UBFMWri
17049067U, // UBFMXri
17048524U, // UCVTFSWDri
17048524U, // UCVTFSWSri
17048524U, // UCVTFSXDri
17048524U, // UCVTFSXSri
553919436U, // UCVTFUWDri
553919436U, // UCVTFUWSri
553919436U, // UCVTFUXDri
553919436U, // UCVTFUXSri
17048524U, // UCVTFd
17048524U, // UCVTFs
553919436U, // UCVTFv1i32
553919436U, // UCVTFv1i64
1074271180U, // UCVTFv2f32
1611404236U, // UCVTFv2f64
2684883916U, // UCVTFv2i32_shift
537662412U, // UCVTFv2i64_shift
2685670348U, // UCVTFv4f32
1075057612U, // UCVTFv4i32_shift
17049910U, // UDIVWr
17049910U, // UDIVXr
17049910U, // UDIV_IntWr
17049910U, // UDIV_IntXr
2147488579U, // UHADDv16i8
2684883779U, // UHADDv2i32
3222278979U, // UHADDv4i16
1075057475U, // UHADDv4i32
1612190531U, // UHADDv8i16
3759936323U, // UHADDv8i8
2147488442U, // UHSUBv16i8
2684883642U, // UHSUBv2i32
3222278842U, // UHSUBv4i16
1075057338U, // UHSUBv4i32
1612190394U, // UHSUBv8i16
3759936186U, // UHSUBv8i8
17048865U, // UMADDLrrr
2147489616U, // UMAXPv16i8
2684884816U, // UMAXPv2i32
3222280016U, // UMAXPv4i16
1075058512U, // UMAXPv4i32
1612191568U, // UMAXPv8i16
3759937360U, // UMAXPv8i8
272794U, // UMAXVv16i8v
2147756442U, // UMAXVv4i16v
2684627354U, // UMAXVv4i32v
3221498266U, // UMAXVv8i16v
3758369178U, // UMAXVv8i8v
2147490304U, // UMAXv16i8
2684885504U, // UMAXv2i32
3222280704U, // UMAXv4i16
1075059200U, // UMAXv4i32
1612192256U, // UMAXv8i16
3759938048U, // UMAXv8i8
2147489558U, // UMINPv16i8
2684884758U, // UMINPv2i32
3222279958U, // UMINPv4i16
1075058454U, // UMINPv4i32
1612191510U, // UMINPv8i16
3759937302U, // UMINPv8i8
272748U, // UMINVv16i8v
2147756396U, // UMINVv4i16v
2684627308U, // UMINVv4i32v
3221498220U, // UMINVv8i16v
3758369132U, // UMINVv8i8v
2147489330U, // UMINv16i8
2684884530U, // UMINv2i32
3222279730U, // UMINv4i16
1075058226U, // UMINv4i32
1612191282U, // UMINv8i16
3759937074U, // UMINv8i8
2182623364U, // UMLALv16i8_v8i16
2718708961U, // UMLALv2i32_indexed
2718708961U, // UMLALv2i32_v2i64
3256104161U, // UMLALv4i16_indexed
3256104161U, // UMLALv4i16_v4i32
1108095108U, // UMLALv4i32_indexed
1108095108U, // UMLALv4i32_v2i64
1645490308U, // UMLALv8i16_indexed
1645490308U, // UMLALv8i16_v4i32
3793237217U, // UMLALv8i8_v8i16
2182623488U, // UMLSLv16i8_v8i16
2718709175U, // UMLSLv2i32_indexed
2718709175U, // UMLSLv2i32_v2i64
3256104375U, // UMLSLv4i16_indexed
3256104375U, // UMLSLv4i16_v4i32
1108095232U, // UMLSLv4i32_indexed
1108095232U, // UMLSLv4i32_v2i64
1645490432U, // UMLSLv8i16_indexed
1645490432U, // UMLSLv8i16_v4i32
3793237431U, // UMLSLv8i8_v8i16
272774U, // UMOVvi16
537143686U, // UMOVvi32
1074014598U, // UMOVvi64
1610885510U, // UMOVvi8
17048821U, // UMSUBLrrr
17048610U, // UMULHrr
2149060838U, // UMULLv16i8_v8i16
2685146523U, // UMULLv2i32_indexed
2685146523U, // UMULLv2i32_v2i64
3222541723U, // UMULLv4i16_indexed
3222541723U, // UMULLv4i16_v4i32
1074532582U, // UMULLv4i32_indexed
1074532582U, // UMULLv4i32_v2i64
1611927782U, // UMULLv8i16_indexed
1611927782U, // UMULLv8i16_v4i32
3759674779U, // UMULLv8i8_v8i16
2147488610U, // UQADDv16i8
17048418U, // UQADDv1i16
17048418U, // UQADDv1i32
17048418U, // UQADDv1i64
17048418U, // UQADDv1i8
2684883810U, // UQADDv2i32
537662306U, // UQADDv2i64
3222279010U, // UQADDv4i16
1075057506U, // UQADDv4i32
1612190562U, // UQADDv8i16
3759936354U, // UQADDv8i8
2147489108U, // UQRSHLv16i8
17048916U, // UQRSHLv1i16
17048916U, // UQRSHLv1i32
17048916U, // UQRSHLv1i64
17048916U, // UQRSHLv1i8
2684884308U, // UQRSHLv2i32
537662804U, // UQRSHLv2i64
3222279508U, // UQRSHLv4i16
1075058004U, // UQRSHLv4i32
1612191060U, // UQRSHLv8i16
3759936852U, // UQRSHLv8i8
17049180U, // UQRSHRNb
17049180U, // UQRSHRNh
17049180U, // UQRSHRNs
1644179774U, // UQRSHRNv16i8_shift
537400924U, // UQRSHRNv2i32_shift
1074796124U, // UQRSHRNv4i16_shift
571748670U, // UQRSHRNv4i32_shift
1108881726U, // UQRSHRNv8i16_shift
1612453468U, // UQRSHRNv8i8_shift
17048901U, // UQSHLb
17048901U, // UQSHLd
17048901U, // UQSHLh
17048901U, // UQSHLs
2147489093U, // UQSHLv16i8
2147489093U, // UQSHLv16i8_shift
17048901U, // UQSHLv1i16
17048901U, // UQSHLv1i32
17048901U, // UQSHLv1i64
17048901U, // UQSHLv1i8
2684884293U, // UQSHLv2i32
2684884293U, // UQSHLv2i32_shift
537662789U, // UQSHLv2i64
537662789U, // UQSHLv2i64_shift
3222279493U, // UQSHLv4i16
3222279493U, // UQSHLv4i16_shift
1075057989U, // UQSHLv4i32
1075057989U, // UQSHLv4i32_shift
1612191045U, // UQSHLv8i16
1612191045U, // UQSHLv8i16_shift
3759936837U, // UQSHLv8i8
3759936837U, // UQSHLv8i8_shift
17049163U, // UQSHRNb
17049163U, // UQSHRNh
17049163U, // UQSHRNs
1644179755U, // UQSHRNv16i8_shift
537400907U, // UQSHRNv2i32_shift
1074796107U, // UQSHRNv4i16_shift
571748651U, // UQSHRNv4i32_shift
1108881707U, // UQSHRNv8i16_shift
1612453451U, // UQSHRNv8i8_shift
2147488471U, // UQSUBv16i8
17048279U, // UQSUBv1i16
17048279U, // UQSUBv1i32
17048279U, // UQSUBv1i64
17048279U, // UQSUBv1i8
2684883671U, // UQSUBv2i32
537662167U, // UQSUBv2i64
3222278871U, // UQSUBv4i16
1075057367U, // UQSUBv4i32
1612190423U, // UQSUBv8i16
3759936215U, // UQSUBv8i8
3254792542U, // UQXTNv16i8
553920128U, // UQXTNv1i16
553920128U, // UQXTNv1i32
553920128U, // UQXTNv1i8
1611142784U, // UQXTNv2i32
2685408896U, // UQXTNv4i16
1645490526U, // UQXTNv4i32
2719494494U, // UQXTNv8i16
3223066240U, // UQXTNv8i8
1074271121U, // URECPEv2i32
2685670289U, // URECPEv4i32
2147488564U, // URHADDv16i8
2684883764U, // URHADDv2i32
3222278964U, // URHADDv4i16
1075057460U, // URHADDv4i32
1612190516U, // URHADDv8i16
3759936308U, // URHADDv8i8
2147489123U, // URSHLv16i8
17048931U, // URSHLv1i64
2684884323U, // URSHLv2i32
537662819U, // URSHLv2i64
3222279523U, // URSHLv4i16
1075058019U, // URSHLv4i32
1612191075U, // URSHLv8i16
3759936867U, // URSHLv8i8
17049508U, // URSHRd
2147489700U, // URSHRv16i8_shift
2684884900U, // URSHRv2i32_shift
537663396U, // URSHRv2i64_shift
3222280100U, // URSHRv4i16_shift
1075058596U, // URSHRv4i32_shift
1612191652U, // URSHRv8i16_shift
3759937444U, // URSHRv8i8_shift
1074271159U, // URSQRTEv2i32
2685670327U, // URSQRTEv4i32
67404295U, // URSRAd
2181050887U, // URSRAv16i8_shift
2718446087U, // URSRAv2i32_shift
571224583U, // URSRAv2i64_shift
3255841287U, // URSRAv4i16_shift
1108619783U, // URSRAv4i32_shift
1645752839U, // URSRAv8i16_shift
3793498631U, // URSRAv8i8_shift
2149060804U, // USHLLv16i8_shift
2685146493U, // USHLLv2i32_shift
3222541693U, // USHLLv4i16_shift
1074532548U, // USHLLv4i32_shift
1611927748U, // USHLLv8i16_shift
3759674749U, // USHLLv8i8_shift
2147489136U, // USHLv16i8
17048944U, // USHLv1i64
2684884336U, // USHLv2i32
537662832U, // USHLv2i64
3222279536U, // USHLv4i16
1075058032U, // USHLv4i32
1612191088U, // USHLv8i16
3759936880U, // USHLv8i8
17049521U, // USHRd
2147489713U, // USHRv16i8_shift
2684884913U, // USHRv2i32_shift
537663409U, // USHRv2i64_shift
3222280113U, // USHRv4i16_shift
1075058609U, // USHRv4i32_shift
1612191665U, // USHRv8i16_shift
3759937457U, // USHRv8i8_shift
33567577U, // USQADDv16i8
604275545U, // USQADDv1i16
604275545U, // USQADDv1i32
604275545U, // USQADDv1i64
604275545U, // USQADDv1i8
1107833689U, // USQADDv2i32
1644966745U, // USQADDv2i64
2182099801U, // USQADDv4i16
2719232857U, // USQADDv4i32
3256365913U, // USQADDv8i16
3793498969U, // USQADDv8i8
67404308U, // USRAd
2181050900U, // USRAv16i8_shift
2718446100U, // USRAv2i32_shift
571224596U, // USRAv2i64_shift
3255841300U, // USRAv4i16_shift
1108619796U, // USRAv4i32_shift
1645752852U, // USRAv8i16_shift
3793498644U, // USRAv8i8_shift
2149060756U, // USUBLv16i8_v8i16
2685146372U, // USUBLv2i32_v2i64
3222541572U, // USUBLv4i16_v4i32
1074532500U, // USUBLv4i32_v2i64
1611927700U, // USUBLv8i16_v4i32
3759674628U, // USUBLv8i8_v8i16
1612190125U, // USUBWv16i8_v8i16
537663920U, // USUBWv2i32_v2i64
1075059120U, // USUBWv4i16_v4i32
537661869U, // USUBWv4i32_v2i64
1075057069U, // USUBWv8i16_v4i32
1612192176U, // USUBWv8i8_v8i16
2147487782U, // UZP1v16i8
2684882982U, // UZP1v2i32
537661478U, // UZP1v2i64
3222278182U, // UZP1v4i16
1075056678U, // UZP1v4i32
1612189734U, // UZP1v8i16
3759935526U, // UZP1v8i8
2147488147U, // UZP2v16i8
2684883347U, // UZP2v2i32
537661843U, // UZP2v2i64
3222278547U, // UZP2v4i16
1075057043U, // UZP2v4i32
1612190099U, // UZP2v8i16
3759935891U, // UZP2v8i8
3254792536U, // XTNv16i8
1611142779U, // XTNv2i32
2685408891U, // XTNv4i16
1645490520U, // XTNv4i32
2719494488U, // XTNv8i16
3223066235U, // XTNv8i8
2147487776U, // ZIP1v16i8
2684882976U, // ZIP1v2i32
537661472U, // ZIP1v2i64
3222278176U, // ZIP1v4i16
1075056672U, // ZIP1v4i32
1612189728U, // ZIP1v8i16
3759935520U, // ZIP1v8i8
2147488141U, // ZIP2v16i8
2684883341U, // ZIP2v2i32
537661837U, // ZIP2v2i64
3222278541U, // ZIP2v4i16
1075057037U, // ZIP2v4i32
1612190093U, // ZIP2v8i16
3759935885U, // ZIP2v8i8
0U
};
static const uint32_t OpInfo2[] = {
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
0U, // DBG_VALUE
0U, // REG_SEQUENCE
0U, // COPY
0U, // BUNDLE
0U, // LIFETIME_START
0U, // LIFETIME_END
0U, // STACKMAP
0U, // PATCHPOINT
0U, // LOAD_STACK_GUARD
0U, // ABSv16i8
0U, // ABSv1i64
0U, // ABSv2i32
0U, // ABSv2i64
0U, // ABSv4i16
0U, // ABSv4i32
0U, // ABSv8i16
0U, // ABSv8i8
1U, // ADCSWr
1U, // ADCSXr
1U, // ADCWr
1U, // ADCXr
265U, // ADDHNv2i64_v2i32
273U, // ADDHNv2i64_v4i32
521U, // ADDHNv4i32_v4i16
529U, // ADDHNv4i32_v8i16
785U, // ADDHNv8i16_v16i8
777U, // ADDHNv8i16_v8i8
1033U, // ADDPv16i8
1289U, // ADDPv2i32
265U, // ADDPv2i64
0U, // ADDPv2i64p
1545U, // ADDPv4i16
521U, // ADDPv4i32
777U, // ADDPv8i16
1801U, // ADDPv8i8
25U, // ADDSWri
0U, // ADDSWrr
33U, // ADDSWrs
41U, // ADDSWrx
25U, // ADDSXri
0U, // ADDSXrr
33U, // ADDSXrs
41U, // ADDSXrx
2049U, // ADDSXrx64
0U, // ADDVv16i8v
0U, // ADDVv4i16v
0U, // ADDVv4i32v
0U, // ADDVv8i16v
0U, // ADDVv8i8v
25U, // ADDWri
0U, // ADDWrr
33U, // ADDWrs
41U, // ADDWrx
25U, // ADDXri
0U, // ADDXrr
33U, // ADDXrs
41U, // ADDXrx
2049U, // ADDXrx64
1033U, // ADDv16i8
1U, // ADDv1i64
1289U, // ADDv2i32
265U, // ADDv2i64
1545U, // ADDv4i16
521U, // ADDv4i32
777U, // ADDv8i16
1801U, // ADDv8i8
0U, // ADJCALLSTACKDOWN
0U, // ADJCALLSTACKUP
0U, // ADR
0U, // ADRP
0U, // AESDrr
0U, // AESErr
0U, // AESIMCrr
0U, // AESMCrr
49U, // ANDSWri
0U, // ANDSWrr
33U, // ANDSWrs
57U, // ANDSXri
0U, // ANDSXrr
33U, // ANDSXrs
49U, // ANDWri
0U, // ANDWrr
33U, // ANDWrs
57U, // ANDXri
0U, // ANDXrr
33U, // ANDXrs
1033U, // ANDv16i8
1801U, // ANDv8i8
1U, // ASRVWr
1U, // ASRVXr
0U, // B
2369U, // BFMWri
2369U, // BFMXri
0U, // BICSWrr
33U, // BICSWrs
0U, // BICSXrr
33U, // BICSXrs
0U, // BICWrr
33U, // BICWrs
0U, // BICXrr
33U, // BICXrs
1033U, // BICv16i8
0U, // BICv2i32
0U, // BICv4i16
0U, // BICv4i32
0U, // BICv8i16
1801U, // BICv8i8
1033U, // BIFv16i8
1801U, // BIFv8i8
1041U, // BITv16i8
1809U, // BITv8i8
0U, // BL
0U, // BLR
0U, // BR
0U, // BRK
1041U, // BSLv16i8
1809U, // BSLv8i8
0U, // Bcc
0U, // CBNZW
0U, // CBNZX
0U, // CBZW
0U, // CBZX
10497U, // CCMNWi
10497U, // CCMNWr
10497U, // CCMNXi
10497U, // CCMNXr
10497U, // CCMPWi
10497U, // CCMPWr
10497U, // CCMPXi
10497U, // CCMPXr
0U, // CLREX
0U, // CLSWr
0U, // CLSXr
0U, // CLSv16i8
0U, // CLSv2i32
0U, // CLSv4i16
0U, // CLSv4i32
0U, // CLSv8i16
0U, // CLSv8i8
0U, // CLZWr
0U, // CLZXr
0U, // CLZv16i8
0U, // CLZv2i32
0U, // CLZv4i16
0U, // CLZv4i32
0U, // CLZv8i16
0U, // CLZv8i8
1033U, // CMEQv16i8
2U, // CMEQv16i8rz
1U, // CMEQv1i64
2U, // CMEQv1i64rz
1289U, // CMEQv2i32
2U, // CMEQv2i32rz
265U, // CMEQv2i64
2U, // CMEQv2i64rz
1545U, // CMEQv4i16
2U, // CMEQv4i16rz
521U, // CMEQv4i32
2U, // CMEQv4i32rz
777U, // CMEQv8i16
2U, // CMEQv8i16rz
1801U, // CMEQv8i8
2U, // CMEQv8i8rz
1033U, // CMGEv16i8
2U, // CMGEv16i8rz
1U, // CMGEv1i64
2U, // CMGEv1i64rz
1289U, // CMGEv2i32
2U, // CMGEv2i32rz
265U, // CMGEv2i64
2U, // CMGEv2i64rz
1545U, // CMGEv4i16
2U, // CMGEv4i16rz
521U, // CMGEv4i32
2U, // CMGEv4i32rz
777U, // CMGEv8i16
2U, // CMGEv8i16rz
1801U, // CMGEv8i8
2U, // CMGEv8i8rz
1033U, // CMGTv16i8
2U, // CMGTv16i8rz
1U, // CMGTv1i64
2U, // CMGTv1i64rz
1289U, // CMGTv2i32
2U, // CMGTv2i32rz
265U, // CMGTv2i64
2U, // CMGTv2i64rz
1545U, // CMGTv4i16
2U, // CMGTv4i16rz
521U, // CMGTv4i32
2U, // CMGTv4i32rz
777U, // CMGTv8i16
2U, // CMGTv8i16rz
1801U, // CMGTv8i8
2U, // CMGTv8i8rz
1033U, // CMHIv16i8
1U, // CMHIv1i64
1289U, // CMHIv2i32
265U, // CMHIv2i64
1545U, // CMHIv4i16
521U, // CMHIv4i32
777U, // CMHIv8i16
1801U, // CMHIv8i8
1033U, // CMHSv16i8
1U, // CMHSv1i64
1289U, // CMHSv2i32
265U, // CMHSv2i64
1545U, // CMHSv4i16
521U, // CMHSv4i32
777U, // CMHSv8i16
1801U, // CMHSv8i8
2U, // CMLEv16i8rz
2U, // CMLEv1i64rz
2U, // CMLEv2i32rz
2U, // CMLEv2i64rz
2U, // CMLEv4i16rz
2U, // CMLEv4i32rz
2U, // CMLEv8i16rz
2U, // CMLEv8i8rz
2U, // CMLTv16i8rz
2U, // CMLTv1i64rz
2U, // CMLTv2i32rz
2U, // CMLTv2i64rz
2U, // CMLTv4i16rz
2U, // CMLTv4i32rz
2U, // CMLTv8i16rz
2U, // CMLTv8i8rz
1033U, // CMTSTv16i8
1U, // CMTSTv1i64
1289U, // CMTSTv2i32
265U, // CMTSTv2i64
1545U, // CMTSTv4i16
521U, // CMTSTv4i32
777U, // CMTSTv8i16
1801U, // CMTSTv8i8
0U, // CNTv16i8
0U, // CNTv8i8
75U, // CPYi16
75U, // CPYi32
75U, // CPYi64
75U, // CPYi8
1U, // CRC32Brr
1U, // CRC32CBrr
1U, // CRC32CHrr
1U, // CRC32CWrr
1U, // CRC32CXrr
1U, // CRC32Hrr
1U, // CRC32Wrr
1U, // CRC32Xrr
10497U, // CSELWr
10497U, // CSELXr
10497U, // CSINCWr
10497U, // CSINCXr
10497U, // CSINVWr
10497U, // CSINVXr
10497U, // CSNEGWr
10497U, // CSNEGXr
0U, // DCPS1
0U, // DCPS2
0U, // DCPS3
0U, // DMB
0U, // DRPS
0U, // DSB
0U, // DUPv16i8gpr
75U, // DUPv16i8lane
0U, // DUPv2i32gpr
75U, // DUPv2i32lane
0U, // DUPv2i64gpr
75U, // DUPv2i64lane
0U, // DUPv4i16gpr
75U, // DUPv4i16lane
0U, // DUPv4i32gpr
75U, // DUPv4i32lane
0U, // DUPv8i16gpr
75U, // DUPv8i16lane
0U, // DUPv8i8gpr
75U, // DUPv8i8lane
0U, // EONWrr
33U, // EONWrs
0U, // EONXrr
33U, // EONXrs
49U, // EORWri
0U, // EORWrr
33U, // EORWrs
57U, // EORXri
0U, // EORXrr
33U, // EORXrs
1033U, // EORv16i8
1801U, // EORv8i8
0U, // ERET
18689U, // EXTRWrri
18689U, // EXTRXrri
2569U, // EXTv16i8
2825U, // EXTv8i8
0U, // F128CSEL
1U, // FABD32
1U, // FABD64
1289U, // FABDv2f32
265U, // FABDv2f64
521U, // FABDv4f32
0U, // FABSDr
0U, // FABSSr
0U, // FABSv2f32
0U, // FABSv2f64
0U, // FABSv4f32
1U, // FACGE32
1U, // FACGE64
1289U, // FACGEv2f32
265U, // FACGEv2f64
521U, // FACGEv4f32
1U, // FACGT32
1U, // FACGT64
1289U, // FACGTv2f32
265U, // FACGTv2f64
521U, // FACGTv4f32
1U, // FADDDrr
1289U, // FADDPv2f32
265U, // FADDPv2f64
0U, // FADDPv2i32p
0U, // FADDPv2i64p
521U, // FADDPv4f32
1U, // FADDSrr
1289U, // FADDv2f32
265U, // FADDv2f64
521U, // FADDv4f32
10497U, // FCCMPDrr
10497U, // FCCMPEDrr
10497U, // FCCMPESrr
10497U, // FCCMPSrr
1U, // FCMEQ32
1U, // FCMEQ64
3U, // FCMEQv1i32rz
3U, // FCMEQv1i64rz
1289U, // FCMEQv2f32
265U, // FCMEQv2f64
3U, // FCMEQv2i32rz
3U, // FCMEQv2i64rz
521U, // FCMEQv4f32
3U, // FCMEQv4i32rz
1U, // FCMGE32
1U, // FCMGE64
3U, // FCMGEv1i32rz
3U, // FCMGEv1i64rz
1289U, // FCMGEv2f32
265U, // FCMGEv2f64
3U, // FCMGEv2i32rz
3U, // FCMGEv2i64rz
521U, // FCMGEv4f32
3U, // FCMGEv4i32rz
1U, // FCMGT32
1U, // FCMGT64
3U, // FCMGTv1i32rz
3U, // FCMGTv1i64rz
1289U, // FCMGTv2f32
265U, // FCMGTv2f64
3U, // FCMGTv2i32rz
3U, // FCMGTv2i64rz
521U, // FCMGTv4f32
3U, // FCMGTv4i32rz
3U, // FCMLEv1i32rz
3U, // FCMLEv1i64rz
3U, // FCMLEv2i32rz
3U, // FCMLEv2i64rz
3U, // FCMLEv4i32rz
3U, // FCMLTv1i32rz
3U, // FCMLTv1i64rz
3U, // FCMLTv2i32rz
3U, // FCMLTv2i64rz
3U, // FCMLTv4i32rz
0U, // FCMPDri
0U, // FCMPDrr
0U, // FCMPEDri
0U, // FCMPEDrr
0U, // FCMPESri
0U, // FCMPESrr
0U, // FCMPSri
0U, // FCMPSrr
10497U, // FCSELDrrr
10497U, // FCSELSrrr
0U, // FCVTASUWDr
0U, // FCVTASUWSr
0U, // FCVTASUXDr
0U, // FCVTASUXSr
0U, // FCVTASv1i32
0U, // FCVTASv1i64
0U, // FCVTASv2f32
0U, // FCVTASv2f64
0U, // FCVTASv4f32
0U, // FCVTAUUWDr
0U, // FCVTAUUWSr
0U, // FCVTAUUXDr
0U, // FCVTAUUXSr
0U, // FCVTAUv1i32
0U, // FCVTAUv1i64
0U, // FCVTAUv2f32
0U, // FCVTAUv2f64
0U, // FCVTAUv4f32
0U, // FCVTDHr
0U, // FCVTDSr
0U, // FCVTHDr
0U, // FCVTHSr
0U, // FCVTLv2i32
0U, // FCVTLv4i16
0U, // FCVTLv4i32
0U, // FCVTLv8i16
0U, // FCVTMSUWDr
0U, // FCVTMSUWSr
0U, // FCVTMSUXDr
0U, // FCVTMSUXSr
0U, // FCVTMSv1i32
0U, // FCVTMSv1i64
0U, // FCVTMSv2f32
0U, // FCVTMSv2f64
0U, // FCVTMSv4f32
0U, // FCVTMUUWDr
0U, // FCVTMUUWSr
0U, // FCVTMUUXDr
0U, // FCVTMUUXSr
0U, // FCVTMUv1i32
0U, // FCVTMUv1i64
0U, // FCVTMUv2f32
0U, // FCVTMUv2f64
0U, // FCVTMUv4f32
0U, // FCVTNSUWDr
0U, // FCVTNSUWSr
0U, // FCVTNSUXDr
0U, // FCVTNSUXSr
0U, // FCVTNSv1i32
0U, // FCVTNSv1i64
0U, // FCVTNSv2f32
0U, // FCVTNSv2f64
0U, // FCVTNSv4f32
0U, // FCVTNUUWDr
0U, // FCVTNUUWSr
0U, // FCVTNUUXDr
0U, // FCVTNUUXSr
0U, // FCVTNUv1i32
0U, // FCVTNUv1i64
0U, // FCVTNUv2f32
0U, // FCVTNUv2f64
0U, // FCVTNUv4f32
0U, // FCVTNv2i32
0U, // FCVTNv4i16
0U, // FCVTNv4i32
0U, // FCVTNv8i16
0U, // FCVTPSUWDr
0U, // FCVTPSUWSr
0U, // FCVTPSUXDr
0U, // FCVTPSUXSr
0U, // FCVTPSv1i32
0U, // FCVTPSv1i64
0U, // FCVTPSv2f32
0U, // FCVTPSv2f64
0U, // FCVTPSv4f32
0U, // FCVTPUUWDr
0U, // FCVTPUUWSr
0U, // FCVTPUUXDr
0U, // FCVTPUUXSr
0U, // FCVTPUv1i32
0U, // FCVTPUv1i64
0U, // FCVTPUv2f32
0U, // FCVTPUv2f64
0U, // FCVTPUv4f32
0U, // FCVTSDr
0U, // FCVTSHr
0U, // FCVTXNv1i64
0U, // FCVTXNv2f32
0U, // FCVTXNv4f32
1U, // FCVTZSSWDri
1U, // FCVTZSSWSri
1U, // FCVTZSSXDri
1U, // FCVTZSSXSri
0U, // FCVTZSUWDr
0U, // FCVTZSUWSr
0U, // FCVTZSUXDr
0U, // FCVTZSUXSr
1U, // FCVTZS_IntSWDri
1U, // FCVTZS_IntSWSri
1U, // FCVTZS_IntSXDri
1U, // FCVTZS_IntSXSri
0U, // FCVTZS_IntUWDr
0U, // FCVTZS_IntUWSr
0U, // FCVTZS_IntUXDr
0U, // FCVTZS_IntUXSr
0U, // FCVTZS_Intv2f32
0U, // FCVTZS_Intv2f64
0U, // FCVTZS_Intv4f32
1U, // FCVTZSd
1U, // FCVTZSs
0U, // FCVTZSv1i32
0U, // FCVTZSv1i64
0U, // FCVTZSv2f32
0U, // FCVTZSv2f64
1U, // FCVTZSv2i32_shift
1U, // FCVTZSv2i64_shift
0U, // FCVTZSv4f32
1U, // FCVTZSv4i32_shift
1U, // FCVTZUSWDri
1U, // FCVTZUSWSri
1U, // FCVTZUSXDri
1U, // FCVTZUSXSri
0U, // FCVTZUUWDr
0U, // FCVTZUUWSr
0U, // FCVTZUUXDr
0U, // FCVTZUUXSr
1U, // FCVTZU_IntSWDri
1U, // FCVTZU_IntSWSri
1U, // FCVTZU_IntSXDri
1U, // FCVTZU_IntSXSri
0U, // FCVTZU_IntUWDr
0U, // FCVTZU_IntUWSr
0U, // FCVTZU_IntUXDr
0U, // FCVTZU_IntUXSr
0U, // FCVTZU_Intv2f32
0U, // FCVTZU_Intv2f64
0U, // FCVTZU_Intv4f32
1U, // FCVTZUd
1U, // FCVTZUs
0U, // FCVTZUv1i32
0U, // FCVTZUv1i64
0U, // FCVTZUv2f32
0U, // FCVTZUv2f64
1U, // FCVTZUv2i32_shift
1U, // FCVTZUv2i64_shift
0U, // FCVTZUv4f32
1U, // FCVTZUv4i32_shift
1U, // FDIVDrr
1U, // FDIVSrr
1289U, // FDIVv2f32
265U, // FDIVv2f64
521U, // FDIVv4f32
18689U, // FMADDDrrr
18689U, // FMADDSrrr
1U, // FMAXDrr
1U, // FMAXNMDrr
1289U, // FMAXNMPv2f32
265U, // FMAXNMPv2f64
0U, // FMAXNMPv2i32p
0U, // FMAXNMPv2i64p
521U, // FMAXNMPv4f32
1U, // FMAXNMSrr
0U, // FMAXNMVv4i32v
1289U, // FMAXNMv2f32
265U, // FMAXNMv2f64
521U, // FMAXNMv4f32
1289U, // FMAXPv2f32
265U, // FMAXPv2f64
0U, // FMAXPv2i32p
0U, // FMAXPv2i64p
521U, // FMAXPv4f32
1U, // FMAXSrr
0U, // FMAXVv4i32v
1289U, // FMAXv2f32
265U, // FMAXv2f64
521U, // FMAXv4f32
1U, // FMINDrr
1U, // FMINNMDrr
1289U, // FMINNMPv2f32
265U, // FMINNMPv2f64
0U, // FMINNMPv2i32p
0U, // FMINNMPv2i64p
521U, // FMINNMPv4f32
1U, // FMINNMSrr
0U, // FMINNMVv4i32v
1289U, // FMINNMv2f32
265U, // FMINNMv2f64
521U, // FMINNMv4f32
1289U, // FMINPv2f32
265U, // FMINPv2f64
0U, // FMINPv2i32p
0U, // FMINPv2i64p
521U, // FMINPv4f32
1U, // FMINSrr
0U, // FMINVv4i32v
1289U, // FMINv2f32
265U, // FMINv2f64
521U, // FMINv4f32
27665U, // FMLAv1i32_indexed
27921U, // FMLAv1i64_indexed
1297U, // FMLAv2f32
273U, // FMLAv2f64
27665U, // FMLAv2i32_indexed
27921U, // FMLAv2i64_indexed
529U, // FMLAv4f32
27665U, // FMLAv4i32_indexed
27665U, // FMLSv1i32_indexed
27921U, // FMLSv1i64_indexed
1297U, // FMLSv2f32
273U, // FMLSv2f64
27665U, // FMLSv2i32_indexed
27921U, // FMLSv2i64_indexed
529U, // FMLSv4f32
27665U, // FMLSv4i32_indexed
75U, // FMOVDXHighr
0U, // FMOVDXr
0U, // FMOVDi
0U, // FMOVDr
0U, // FMOVSWr
0U, // FMOVSi
0U, // FMOVSr
0U, // FMOVWSr
0U, // FMOVXDHighr
0U, // FMOVXDr
0U, // FMOVv2f32_ns
0U, // FMOVv2f64_ns
0U, // FMOVv4f32_ns
18689U, // FMSUBDrrr
18689U, // FMSUBSrrr
1U, // FMULDrr
1U, // FMULSrr
1U, // FMULX32
1U, // FMULX64
35849U, // FMULXv1i32_indexed
36105U, // FMULXv1i64_indexed
1289U, // FMULXv2f32
265U, // FMULXv2f64
35849U, // FMULXv2i32_indexed
36105U, // FMULXv2i64_indexed
521U, // FMULXv4f32
35849U, // FMULXv4i32_indexed
35849U, // FMULv1i32_indexed
36105U, // FMULv1i64_indexed
1289U, // FMULv2f32
265U, // FMULv2f64
35849U, // FMULv2i32_indexed
36105U, // FMULv2i64_indexed
521U, // FMULv4f32
35849U, // FMULv4i32_indexed
0U, // FNEGDr
0U, // FNEGSr
0U, // FNEGv2f32
0U, // FNEGv2f64
0U, // FNEGv4f32
18689U, // FNMADDDrrr
18689U, // FNMADDSrrr
18689U, // FNMSUBDrrr
18689U, // FNMSUBSrrr
1U, // FNMULDrr
1U, // FNMULSrr
0U, // FRECPEv1i32
0U, // FRECPEv1i64
0U, // FRECPEv2f32
0U, // FRECPEv2f64
0U, // FRECPEv4f32
1U, // FRECPS32
1U, // FRECPS64
1289U, // FRECPSv2f32
265U, // FRECPSv2f64
521U, // FRECPSv4f32
0U, // FRECPXv1i32
0U, // FRECPXv1i64
0U, // FRINTADr
0U, // FRINTASr
0U, // FRINTAv2f32
0U, // FRINTAv2f64
0U, // FRINTAv4f32
0U, // FRINTIDr
0U, // FRINTISr
0U, // FRINTIv2f32
0U, // FRINTIv2f64
0U, // FRINTIv4f32
0U, // FRINTMDr
0U, // FRINTMSr
0U, // FRINTMv2f32
0U, // FRINTMv2f64
0U, // FRINTMv4f32
0U, // FRINTNDr
0U, // FRINTNSr
0U, // FRINTNv2f32
0U, // FRINTNv2f64
0U, // FRINTNv4f32
0U, // FRINTPDr
0U, // FRINTPSr
0U, // FRINTPv2f32
0U, // FRINTPv2f64
0U, // FRINTPv4f32
0U, // FRINTXDr
0U, // FRINTXSr
0U, // FRINTXv2f32
0U, // FRINTXv2f64
0U, // FRINTXv4f32
0U, // FRINTZDr
0U, // FRINTZSr
0U, // FRINTZv2f32
0U, // FRINTZv2f64
0U, // FRINTZv4f32
0U, // FRSQRTEv1i32
0U, // FRSQRTEv1i64
0U, // FRSQRTEv2f32
0U, // FRSQRTEv2f64
0U, // FRSQRTEv4f32
1U, // FRSQRTS32
1U, // FRSQRTS64
1289U, // FRSQRTSv2f32
265U, // FRSQRTSv2f64
521U, // FRSQRTSv4f32
0U, // FSQRTDr
0U, // FSQRTSr
0U, // FSQRTv2f32
0U, // FSQRTv2f64
0U, // FSQRTv4f32
1U, // FSUBDrr
1U, // FSUBSrr
1289U, // FSUBv2f32
265U, // FSUBv2f64
521U, // FSUBv4f32
0U, // HINT
0U, // HLT
0U, // HVC
0U, // INSvi16gpr
83U, // INSvi16lane
0U, // INSvi32gpr
83U, // INSvi32lane
0U, // INSvi64gpr
83U, // INSvi64lane
0U, // INSvi8gpr
83U, // INSvi8lane
0U, // ISB
0U, // LD1Fourv16b
0U, // LD1Fourv16b_POST
0U, // LD1Fourv1d
0U, // LD1Fourv1d_POST
0U, // LD1Fourv2d
0U, // LD1Fourv2d_POST
0U, // LD1Fourv2s
0U, // LD1Fourv2s_POST
0U, // LD1Fourv4h
0U, // LD1Fourv4h_POST
0U, // LD1Fourv4s
0U, // LD1Fourv4s_POST
0U, // LD1Fourv8b
0U, // LD1Fourv8b_POST
0U, // LD1Fourv8h
0U, // LD1Fourv8h_POST
0U, // LD1Onev16b
0U, // LD1Onev16b_POST
0U, // LD1Onev1d
0U, // LD1Onev1d_POST
0U, // LD1Onev2d
0U, // LD1Onev2d_POST
0U, // LD1Onev2s
0U, // LD1Onev2s_POST
0U, // LD1Onev4h
0U, // LD1Onev4h_POST
0U, // LD1Onev4s
0U, // LD1Onev4s_POST
0U, // LD1Onev8b
0U, // LD1Onev8b_POST
0U, // LD1Onev8h
0U, // LD1Onev8h_POST
0U, // LD1Rv16b
0U, // LD1Rv16b_POST
0U, // LD1Rv1d
0U, // LD1Rv1d_POST
0U, // LD1Rv2d
0U, // LD1Rv2d_POST
0U, // LD1Rv2s
0U, // LD1Rv2s_POST
0U, // LD1Rv4h
0U, // LD1Rv4h_POST
0U, // LD1Rv4s
0U, // LD1Rv4s_POST
0U, // LD1Rv8b
0U, // LD1Rv8b_POST
0U, // LD1Rv8h
0U, // LD1Rv8h_POST
0U, // LD1Threev16b
0U, // LD1Threev16b_POST
0U, // LD1Threev1d
0U, // LD1Threev1d_POST
0U, // LD1Threev2d
0U, // LD1Threev2d_POST
0U, // LD1Threev2s
0U, // LD1Threev2s_POST
0U, // LD1Threev4h
0U, // LD1Threev4h_POST
0U, // LD1Threev4s
0U, // LD1Threev4s_POST
0U, // LD1Threev8b
0U, // LD1Threev8b_POST
0U, // LD1Threev8h
0U, // LD1Threev8h_POST
0U, // LD1Twov16b
0U, // LD1Twov16b_POST
0U, // LD1Twov1d
0U, // LD1Twov1d_POST
0U, // LD1Twov2d
0U, // LD1Twov2d_POST
0U, // LD1Twov2s
0U, // LD1Twov2s_POST
0U, // LD1Twov4h
0U, // LD1Twov4h_POST
0U, // LD1Twov4s
0U, // LD1Twov4s_POST
0U, // LD1Twov8b
0U, // LD1Twov8b_POST
0U, // LD1Twov8h
0U, // LD1Twov8h_POST
0U, // LD1i16
0U, // LD1i16_POST
0U, // LD1i32
0U, // LD1i32_POST
0U, // LD1i64
0U, // LD1i64_POST
0U, // LD1i8
0U, // LD1i8_POST
0U, // LD2Rv16b
0U, // LD2Rv16b_POST
0U, // LD2Rv1d
0U, // LD2Rv1d_POST
0U, // LD2Rv2d
0U, // LD2Rv2d_POST
0U, // LD2Rv2s
0U, // LD2Rv2s_POST
0U, // LD2Rv4h
0U, // LD2Rv4h_POST
0U, // LD2Rv4s
0U, // LD2Rv4s_POST
0U, // LD2Rv8b
0U, // LD2Rv8b_POST
0U, // LD2Rv8h
0U, // LD2Rv8h_POST
0U, // LD2Twov16b
0U, // LD2Twov16b_POST
0U, // LD2Twov2d
0U, // LD2Twov2d_POST
0U, // LD2Twov2s
0U, // LD2Twov2s_POST
0U, // LD2Twov4h
0U, // LD2Twov4h_POST
0U, // LD2Twov4s
0U, // LD2Twov4s_POST
0U, // LD2Twov8b
0U, // LD2Twov8b_POST
0U, // LD2Twov8h
0U, // LD2Twov8h_POST
0U, // LD2i16
0U, // LD2i16_POST
0U, // LD2i32
0U, // LD2i32_POST
0U, // LD2i64
0U, // LD2i64_POST
0U, // LD2i8
0U, // LD2i8_POST
0U, // LD3Rv16b
0U, // LD3Rv16b_POST
0U, // LD3Rv1d
0U, // LD3Rv1d_POST
0U, // LD3Rv2d
0U, // LD3Rv2d_POST
0U, // LD3Rv2s
0U, // LD3Rv2s_POST
0U, // LD3Rv4h
0U, // LD3Rv4h_POST
0U, // LD3Rv4s
0U, // LD3Rv4s_POST
0U, // LD3Rv8b
0U, // LD3Rv8b_POST
0U, // LD3Rv8h
0U, // LD3Rv8h_POST
0U, // LD3Threev16b
0U, // LD3Threev16b_POST
0U, // LD3Threev2d
0U, // LD3Threev2d_POST
0U, // LD3Threev2s
0U, // LD3Threev2s_POST
0U, // LD3Threev4h
0U, // LD3Threev4h_POST
0U, // LD3Threev4s
0U, // LD3Threev4s_POST
0U, // LD3Threev8b
0U, // LD3Threev8b_POST
0U, // LD3Threev8h
0U, // LD3Threev8h_POST
0U, // LD3i16
0U, // LD3i16_POST
0U, // LD3i32
0U, // LD3i32_POST
0U, // LD3i64
0U, // LD3i64_POST
0U, // LD3i8
0U, // LD3i8_POST
0U, // LD4Fourv16b
0U, // LD4Fourv16b_POST
0U, // LD4Fourv2d
0U, // LD4Fourv2d_POST
0U, // LD4Fourv2s
0U, // LD4Fourv2s_POST
0U, // LD4Fourv4h
0U, // LD4Fourv4h_POST
0U, // LD4Fourv4s
0U, // LD4Fourv4s_POST
0U, // LD4Fourv8b
0U, // LD4Fourv8b_POST
0U, // LD4Fourv8h
0U, // LD4Fourv8h_POST
0U, // LD4Rv16b
0U, // LD4Rv16b_POST
0U, // LD4Rv1d
0U, // LD4Rv1d_POST
0U, // LD4Rv2d
0U, // LD4Rv2d_POST
0U, // LD4Rv2s
0U, // LD4Rv2s_POST
0U, // LD4Rv4h
0U, // LD4Rv4h_POST
0U, // LD4Rv4s
0U, // LD4Rv4s_POST
0U, // LD4Rv8b
0U, // LD4Rv8b_POST
0U, // LD4Rv8h
0U, // LD4Rv8h_POST
0U, // LD4i16
0U, // LD4i16_POST
0U, // LD4i32
0U, // LD4i32_POST
0U, // LD4i64
0U, // LD4i64_POST
0U, // LD4i8
0U, // LD4i8_POST
4U, // LDARB
4U, // LDARH
4U, // LDARW
4U, // LDARX
3588U, // LDAXPW
3588U, // LDAXPX
4U, // LDAXRB
4U, // LDAXRH
4U, // LDAXRW
4U, // LDAXRX
43268U, // LDNPDi
51460U, // LDNPQi
59652U, // LDNPSi
59652U, // LDNPWi
43268U, // LDNPXi
43268U, // LDPDi
69444U, // LDPDpost
330052U, // LDPDpre
51460U, // LDPQi
77636U, // LDPQpost
338244U, // LDPQpre
59652U, // LDPSWi
85828U, // LDPSWpost
346436U, // LDPSWpre
59652U, // LDPSi
85828U, // LDPSpost
346436U, // LDPSpre
59652U, // LDPWi
85828U, // LDPWpost
346436U, // LDPWpre
43268U, // LDPXi
69444U, // LDPXpost
330052U, // LDPXpre
4U, // LDRBBpost
4161U, // LDRBBpre
92417U, // LDRBBroW
100609U, // LDRBBroX
89U, // LDRBBui
4U, // LDRBpost
4161U, // LDRBpre
92417U, // LDRBroW
100609U, // LDRBroX
89U, // LDRBui
0U, // LDRDl
4U, // LDRDpost
4161U, // LDRDpre
108801U, // LDRDroW
116993U, // LDRDroX
97U, // LDRDui
4U, // LDRHHpost
4161U, // LDRHHpre
125185U, // LDRHHroW
133377U, // LDRHHroX
105U, // LDRHHui
4U, // LDRHpost
4161U, // LDRHpre
125185U, // LDRHroW
133377U, // LDRHroX
105U, // LDRHui
0U, // LDRQl
4U, // LDRQpost
4161U, // LDRQpre
141569U, // LDRQroW
149761U, // LDRQroX
113U, // LDRQui
4U, // LDRSBWpost
4161U, // LDRSBWpre
92417U, // LDRSBWroW
100609U, // LDRSBWroX
89U, // LDRSBWui
4U, // LDRSBXpost
4161U, // LDRSBXpre
92417U, // LDRSBXroW
100609U, // LDRSBXroX
89U, // LDRSBXui
4U, // LDRSHWpost
4161U, // LDRSHWpre
125185U, // LDRSHWroW
133377U, // LDRSHWroX
105U, // LDRSHWui
4U, // LDRSHXpost
4161U, // LDRSHXpre
125185U, // LDRSHXroW
133377U, // LDRSHXroX
105U, // LDRSHXui
0U, // LDRSWl
4U, // LDRSWpost
4161U, // LDRSWpre
157953U, // LDRSWroW
166145U, // LDRSWroX
121U, // LDRSWui
0U, // LDRSl
4U, // LDRSpost
4161U, // LDRSpre
157953U, // LDRSroW
166145U, // LDRSroX
121U, // LDRSui
0U, // LDRWl
4U, // LDRWpost
4161U, // LDRWpre
157953U, // LDRWroW
166145U, // LDRWroX
121U, // LDRWui
0U, // LDRXl
4U, // LDRXpost
4161U, // LDRXpre
108801U, // LDRXroW
116993U, // LDRXroX
97U, // LDRXui
3585U, // LDTRBi
3585U, // LDTRHi
3585U, // LDTRSBWi
3585U, // LDTRSBXi
3585U, // LDTRSHWi
3585U, // LDTRSHXi
3585U, // LDTRSWi
3585U, // LDTRWi
3585U, // LDTRXi
3585U, // LDURBBi
3585U, // LDURBi
3585U, // LDURDi
3585U, // LDURHHi
3585U, // LDURHi
3585U, // LDURQi
3585U, // LDURSBWi
3585U, // LDURSBXi
3585U, // LDURSHWi
3585U, // LDURSHXi
3585U, // LDURSWi
3585U, // LDURSi
3585U, // LDURWi
3585U, // LDURXi
3588U, // LDXPW
3588U, // LDXPX
4U, // LDXRB
4U, // LDXRH
4U, // LDXRW
4U, // LDXRX
0U, // LOADgot
1U, // LSLVWr
1U, // LSLVXr
1U, // LSRVWr
1U, // LSRVXr
18689U, // MADDWrrr
18689U, // MADDXrrr
1041U, // MLAv16i8
1297U, // MLAv2i32
27665U, // MLAv2i32_indexed
1553U, // MLAv4i16
28945U, // MLAv4i16_indexed
529U, // MLAv4i32
27665U, // MLAv4i32_indexed
785U, // MLAv8i16
28945U, // MLAv8i16_indexed
1809U, // MLAv8i8
1041U, // MLSv16i8
1297U, // MLSv2i32
27665U, // MLSv2i32_indexed
1553U, // MLSv4i16
28945U, // MLSv4i16_indexed
529U, // MLSv4i32
27665U, // MLSv4i32_indexed
785U, // MLSv8i16
28945U, // MLSv8i16_indexed
1809U, // MLSv8i8
0U, // MOVID
0U, // MOVIv16b_ns
0U, // MOVIv2d_ns
4U, // MOVIv2i32
4U, // MOVIv2s_msl
4U, // MOVIv4i16
4U, // MOVIv4i32
4U, // MOVIv4s_msl
0U, // MOVIv8b_ns
4U, // MOVIv8i16
0U, // MOVKWi
0U, // MOVKXi
4U, // MOVNWi
4U, // MOVNXi
4U, // MOVZWi
4U, // MOVZXi
0U, // MOVaddr
0U, // MOVaddrBA
0U, // MOVaddrCP
0U, // MOVaddrEXT
0U, // MOVaddrJT
0U, // MOVaddrTLS
0U, // MOVi32imm
0U, // MOVi64imm
0U, // MRS
0U, // MSR
0U, // MSRpstate
18689U, // MSUBWrrr
18689U, // MSUBXrrr
1033U, // MULv16i8
1289U, // MULv2i32
35849U, // MULv2i32_indexed
1545U, // MULv4i16
37129U, // MULv4i16_indexed
521U, // MULv4i32
35849U, // MULv4i32_indexed
777U, // MULv8i16
37129U, // MULv8i16_indexed
1801U, // MULv8i8
4U, // MVNIv2i32
4U, // MVNIv2s_msl
4U, // MVNIv4i16
4U, // MVNIv4i32
4U, // MVNIv4s_msl
4U, // MVNIv8i16
0U, // NEGv16i8
0U, // NEGv1i64
0U, // NEGv2i32
0U, // NEGv2i64
0U, // NEGv4i16
0U, // NEGv4i32
0U, // NEGv8i16
0U, // NEGv8i8
0U, // NOTv16i8
0U, // NOTv8i8
0U, // ORNWrr
33U, // ORNWrs
0U, // ORNXrr
33U, // ORNXrs
1033U, // ORNv16i8
1801U, // ORNv8i8
49U, // ORRWri
0U, // ORRWrr
33U, // ORRWrs
57U, // ORRXri
0U, // ORRXrr
33U, // ORRXrs
1033U, // ORRv16i8
0U, // ORRv2i32
0U, // ORRv4i16
0U, // ORRv4i32
0U, // ORRv8i16
1801U, // ORRv8i8
1033U, // PMULLv16i8
0U, // PMULLv1i64
0U, // PMULLv2i64
1801U, // PMULLv8i8
1033U, // PMULv16i8
1801U, // PMULv8i8
0U, // PRFMl
108801U, // PRFMroW
116993U, // PRFMroX
97U, // PRFMui
3585U, // PRFUMi
265U, // RADDHNv2i64_v2i32
273U, // RADDHNv2i64_v4i32
521U, // RADDHNv4i32_v4i16
529U, // RADDHNv4i32_v8i16
785U, // RADDHNv8i16_v16i8
777U, // RADDHNv8i16_v8i8
0U, // RBITWr
0U, // RBITXr
0U, // RBITv16i8
0U, // RBITv8i8
0U, // RET
0U, // RET_ReallyLR
0U, // REV16Wr
0U, // REV16Xr
0U, // REV16v16i8
0U, // REV16v8i8
0U, // REV32Xr
0U, // REV32v16i8
0U, // REV32v4i16
0U, // REV32v8i16
0U, // REV32v8i8
0U, // REV64v16i8
0U, // REV64v2i32
0U, // REV64v4i16
0U, // REV64v4i32
0U, // REV64v8i16
0U, // REV64v8i8
0U, // REVWr
0U, // REVXr
1U, // RORVWr
1U, // RORVXr
65U, // RSHRNv16i8_shift
1U, // RSHRNv2i32_shift
1U, // RSHRNv4i16_shift
65U, // RSHRNv4i32_shift
65U, // RSHRNv8i16_shift
1U, // RSHRNv8i8_shift
265U, // RSUBHNv2i64_v2i32
273U, // RSUBHNv2i64_v4i32
521U, // RSUBHNv4i32_v4i16
529U, // RSUBHNv4i32_v8i16
785U, // RSUBHNv8i16_v16i8
777U, // RSUBHNv8i16_v8i8
1041U, // SABALv16i8_v8i16
1297U, // SABALv2i32_v2i64
1553U, // SABALv4i16_v4i32
529U, // SABALv4i32_v2i64
785U, // SABALv8i16_v4i32
1809U, // SABALv8i8_v8i16
1041U, // SABAv16i8
1297U, // SABAv2i32
1553U, // SABAv4i16
529U, // SABAv4i32
785U, // SABAv8i16
1809U, // SABAv8i8
1033U, // SABDLv16i8_v8i16
1289U, // SABDLv2i32_v2i64
1545U, // SABDLv4i16_v4i32
521U, // SABDLv4i32_v2i64
777U, // SABDLv8i16_v4i32
1801U, // SABDLv8i8_v8i16
1033U, // SABDv16i8
1289U, // SABDv2i32
1545U, // SABDv4i16
521U, // SABDv4i32
777U, // SABDv8i16
1801U, // SABDv8i8
0U, // SADALPv16i8_v8i16
0U, // SADALPv2i32_v1i64
0U, // SADALPv4i16_v2i32
0U, // SADALPv4i32_v2i64
0U, // SADALPv8i16_v4i32
0U, // SADALPv8i8_v4i16
0U, // SADDLPv16i8_v8i16
0U, // SADDLPv2i32_v1i64
0U, // SADDLPv4i16_v2i32
0U, // SADDLPv4i32_v2i64
0U, // SADDLPv8i16_v4i32
0U, // SADDLPv8i8_v4i16
0U, // SADDLVv16i8v
0U, // SADDLVv4i16v
0U, // SADDLVv4i32v
0U, // SADDLVv8i16v
0U, // SADDLVv8i8v
1033U, // SADDLv16i8_v8i16
1289U, // SADDLv2i32_v2i64
1545U, // SADDLv4i16_v4i32
521U, // SADDLv4i32_v2i64
777U, // SADDLv8i16_v4i32
1801U, // SADDLv8i8_v8i16
1033U, // SADDWv16i8_v8i16
1289U, // SADDWv2i32_v2i64
1545U, // SADDWv4i16_v4i32
521U, // SADDWv4i32_v2i64
777U, // SADDWv8i16_v4i32
1801U, // SADDWv8i8_v8i16
1U, // SBCSWr
1U, // SBCSXr
1U, // SBCWr
1U, // SBCXr
18689U, // SBFMWri
18689U, // SBFMXri
1U, // SCVTFSWDri
1U, // SCVTFSWSri
1U, // SCVTFSXDri
1U, // SCVTFSXSri
0U, // SCVTFUWDri
0U, // SCVTFUWSri
0U, // SCVTFUXDri
0U, // SCVTFUXSri
1U, // SCVTFd
1U, // SCVTFs
0U, // SCVTFv1i32
0U, // SCVTFv1i64
0U, // SCVTFv2f32
0U, // SCVTFv2f64
1U, // SCVTFv2i32_shift
1U, // SCVTFv2i64_shift
0U, // SCVTFv4f32
1U, // SCVTFv4i32_shift
1U, // SDIVWr
1U, // SDIVXr
1U, // SDIV_IntWr
1U, // SDIV_IntXr
529U, // SHA1Crrr
0U, // SHA1Hrr
529U, // SHA1Mrrr
529U, // SHA1Prrr
529U, // SHA1SU0rrr
0U, // SHA1SU1rr
529U, // SHA256H2rrr
529U, // SHA256Hrrr
0U, // SHA256SU0rr
529U, // SHA256SU1rrr
1033U, // SHADDv16i8
1289U, // SHADDv2i32
1545U, // SHADDv4i16
521U, // SHADDv4i32
777U, // SHADDv8i16
1801U, // SHADDv8i8
4U, // SHLLv16i8
4U, // SHLLv2i32
4U, // SHLLv4i16
4U, // SHLLv4i32
5U, // SHLLv8i16
5U, // SHLLv8i8
1U, // SHLd
1U, // SHLv16i8_shift
1U, // SHLv2i32_shift
1U, // SHLv2i64_shift
1U, // SHLv4i16_shift
1U, // SHLv4i32_shift
1U, // SHLv8i16_shift
1U, // SHLv8i8_shift
65U, // SHRNv16i8_shift
1U, // SHRNv2i32_shift
1U, // SHRNv4i16_shift
65U, // SHRNv4i32_shift
65U, // SHRNv8i16_shift
1U, // SHRNv8i8_shift
1033U, // SHSUBv16i8
1289U, // SHSUBv2i32
1545U, // SHSUBv4i16
521U, // SHSUBv4i32
777U, // SHSUBv8i16
1801U, // SHSUBv8i8
65U, // SLId
65U, // SLIv16i8_shift
65U, // SLIv2i32_shift
65U, // SLIv2i64_shift
65U, // SLIv4i16_shift
65U, // SLIv4i32_shift
65U, // SLIv8i16_shift
65U, // SLIv8i8_shift
18689U, // SMADDLrrr
1033U, // SMAXPv16i8
1289U, // SMAXPv2i32
1545U, // SMAXPv4i16
521U, // SMAXPv4i32
777U, // SMAXPv8i16
1801U, // SMAXPv8i8
0U, // SMAXVv16i8v
0U, // SMAXVv4i16v
0U, // SMAXVv4i32v
0U, // SMAXVv8i16v
0U, // SMAXVv8i8v
1033U, // SMAXv16i8
1289U, // SMAXv2i32
1545U, // SMAXv4i16
521U, // SMAXv4i32
777U, // SMAXv8i16
1801U, // SMAXv8i8
0U, // SMC
1033U, // SMINPv16i8
1289U, // SMINPv2i32
1545U, // SMINPv4i16
521U, // SMINPv4i32
777U, // SMINPv8i16
1801U, // SMINPv8i8
0U, // SMINVv16i8v
0U, // SMINVv4i16v
0U, // SMINVv4i32v
0U, // SMINVv8i16v
0U, // SMINVv8i8v
1033U, // SMINv16i8
1289U, // SMINv2i32
1545U, // SMINv4i16
521U, // SMINv4i32
777U, // SMINv8i16
1801U, // SMINv8i8
1041U, // SMLALv16i8_v8i16
27665U, // SMLALv2i32_indexed
1297U, // SMLALv2i32_v2i64
28945U, // SMLALv4i16_indexed
1553U, // SMLALv4i16_v4i32
27665U, // SMLALv4i32_indexed
529U, // SMLALv4i32_v2i64
28945U, // SMLALv8i16_indexed
785U, // SMLALv8i16_v4i32
1809U, // SMLALv8i8_v8i16
1041U, // SMLSLv16i8_v8i16
27665U, // SMLSLv2i32_indexed
1297U, // SMLSLv2i32_v2i64
28945U, // SMLSLv4i16_indexed
1553U, // SMLSLv4i16_v4i32
27665U, // SMLSLv4i32_indexed
529U, // SMLSLv4i32_v2i64
28945U, // SMLSLv8i16_indexed
785U, // SMLSLv8i16_v4i32
1809U, // SMLSLv8i8_v8i16
75U, // SMOVvi16to32
75U, // SMOVvi16to64
75U, // SMOVvi32to64
75U, // SMOVvi8to32
75U, // SMOVvi8to64
18689U, // SMSUBLrrr
1U, // SMULHrr
1033U, // SMULLv16i8_v8i16
35849U, // SMULLv2i32_indexed
1289U, // SMULLv2i32_v2i64
37129U, // SMULLv4i16_indexed
1545U, // SMULLv4i16_v4i32
35849U, // SMULLv4i32_indexed
521U, // SMULLv4i32_v2i64
37129U, // SMULLv8i16_indexed
777U, // SMULLv8i16_v4i32
1801U, // SMULLv8i8_v8i16
0U, // SQABSv16i8
0U, // SQABSv1i16
0U, // SQABSv1i32
0U, // SQABSv1i64
0U, // SQABSv1i8
0U, // SQABSv2i32
0U, // SQABSv2i64
0U, // SQABSv4i16
0U, // SQABSv4i32
0U, // SQABSv8i16
0U, // SQABSv8i8
1033U, // SQADDv16i8
1U, // SQADDv1i16
1U, // SQADDv1i32
1U, // SQADDv1i64
1U, // SQADDv1i8
1289U, // SQADDv2i32
265U, // SQADDv2i64
1545U, // SQADDv4i16
521U, // SQADDv4i32
777U, // SQADDv8i16
1801U, // SQADDv8i8
65U, // SQDMLALi16
65U, // SQDMLALi32
28945U, // SQDMLALv1i32_indexed
27665U, // SQDMLALv1i64_indexed
27665U, // SQDMLALv2i32_indexed
1297U, // SQDMLALv2i32_v2i64
28945U, // SQDMLALv4i16_indexed
1553U, // SQDMLALv4i16_v4i32
27665U, // SQDMLALv4i32_indexed
529U, // SQDMLALv4i32_v2i64
28945U, // SQDMLALv8i16_indexed
785U, // SQDMLALv8i16_v4i32
65U, // SQDMLSLi16
65U, // SQDMLSLi32
28945U, // SQDMLSLv1i32_indexed
27665U, // SQDMLSLv1i64_indexed
27665U, // SQDMLSLv2i32_indexed
1297U, // SQDMLSLv2i32_v2i64
28945U, // SQDMLSLv4i16_indexed
1553U, // SQDMLSLv4i16_v4i32
27665U, // SQDMLSLv4i32_indexed
529U, // SQDMLSLv4i32_v2i64
28945U, // SQDMLSLv8i16_indexed
785U, // SQDMLSLv8i16_v4i32
1U, // SQDMULHv1i16
37129U, // SQDMULHv1i16_indexed
1U, // SQDMULHv1i32
35849U, // SQDMULHv1i32_indexed
1289U, // SQDMULHv2i32
35849U, // SQDMULHv2i32_indexed
1545U, // SQDMULHv4i16
37129U, // SQDMULHv4i16_indexed
521U, // SQDMULHv4i32
35849U, // SQDMULHv4i32_indexed
777U, // SQDMULHv8i16
37129U, // SQDMULHv8i16_indexed
1U, // SQDMULLi16
1U, // SQDMULLi32
37129U, // SQDMULLv1i32_indexed
35849U, // SQDMULLv1i64_indexed
35849U, // SQDMULLv2i32_indexed
1289U, // SQDMULLv2i32_v2i64
37129U, // SQDMULLv4i16_indexed
1545U, // SQDMULLv4i16_v4i32
35849U, // SQDMULLv4i32_indexed
521U, // SQDMULLv4i32_v2i64
37129U, // SQDMULLv8i16_indexed
777U, // SQDMULLv8i16_v4i32
0U, // SQNEGv16i8
0U, // SQNEGv1i16
0U, // SQNEGv1i32
0U, // SQNEGv1i64
0U, // SQNEGv1i8
0U, // SQNEGv2i32
0U, // SQNEGv2i64
0U, // SQNEGv4i16
0U, // SQNEGv4i32
0U, // SQNEGv8i16
0U, // SQNEGv8i8
1U, // SQRDMULHv1i16
37129U, // SQRDMULHv1i16_indexed
1U, // SQRDMULHv1i32
35849U, // SQRDMULHv1i32_indexed
1289U, // SQRDMULHv2i32
35849U, // SQRDMULHv2i32_indexed
1545U, // SQRDMULHv4i16
37129U, // SQRDMULHv4i16_indexed
521U, // SQRDMULHv4i32
35849U, // SQRDMULHv4i32_indexed
777U, // SQRDMULHv8i16
37129U, // SQRDMULHv8i16_indexed
1033U, // SQRSHLv16i8
1U, // SQRSHLv1i16
1U, // SQRSHLv1i32
1U, // SQRSHLv1i64
1U, // SQRSHLv1i8
1289U, // SQRSHLv2i32
265U, // SQRSHLv2i64
1545U, // SQRSHLv4i16
521U, // SQRSHLv4i32
777U, // SQRSHLv8i16
1801U, // SQRSHLv8i8
1U, // SQRSHRNb
1U, // SQRSHRNh
1U, // SQRSHRNs
65U, // SQRSHRNv16i8_shift
1U, // SQRSHRNv2i32_shift
1U, // SQRSHRNv4i16_shift
65U, // SQRSHRNv4i32_shift
65U, // SQRSHRNv8i16_shift
1U, // SQRSHRNv8i8_shift
1U, // SQRSHRUNb
1U, // SQRSHRUNh
1U, // SQRSHRUNs
65U, // SQRSHRUNv16i8_shift
1U, // SQRSHRUNv2i32_shift
1U, // SQRSHRUNv4i16_shift
65U, // SQRSHRUNv4i32_shift
65U, // SQRSHRUNv8i16_shift
1U, // SQRSHRUNv8i8_shift
1U, // SQSHLUb
1U, // SQSHLUd
1U, // SQSHLUh
1U, // SQSHLUs
1U, // SQSHLUv16i8_shift
1U, // SQSHLUv2i32_shift
1U, // SQSHLUv2i64_shift
1U, // SQSHLUv4i16_shift
1U, // SQSHLUv4i32_shift
1U, // SQSHLUv8i16_shift
1U, // SQSHLUv8i8_shift
1U, // SQSHLb
1U, // SQSHLd
1U, // SQSHLh
1U, // SQSHLs
1033U, // SQSHLv16i8
1U, // SQSHLv16i8_shift
1U, // SQSHLv1i16
1U, // SQSHLv1i32
1U, // SQSHLv1i64
1U, // SQSHLv1i8
1289U, // SQSHLv2i32
1U, // SQSHLv2i32_shift
265U, // SQSHLv2i64
1U, // SQSHLv2i64_shift
1545U, // SQSHLv4i16
1U, // SQSHLv4i16_shift
521U, // SQSHLv4i32
1U, // SQSHLv4i32_shift
777U, // SQSHLv8i16
1U, // SQSHLv8i16_shift
1801U, // SQSHLv8i8
1U, // SQSHLv8i8_shift
1U, // SQSHRNb
1U, // SQSHRNh
1U, // SQSHRNs
65U, // SQSHRNv16i8_shift
1U, // SQSHRNv2i32_shift
1U, // SQSHRNv4i16_shift
65U, // SQSHRNv4i32_shift
65U, // SQSHRNv8i16_shift
1U, // SQSHRNv8i8_shift
1U, // SQSHRUNb
1U, // SQSHRUNh
1U, // SQSHRUNs
65U, // SQSHRUNv16i8_shift
1U, // SQSHRUNv2i32_shift
1U, // SQSHRUNv4i16_shift
65U, // SQSHRUNv4i32_shift
65U, // SQSHRUNv8i16_shift
1U, // SQSHRUNv8i8_shift
1033U, // SQSUBv16i8
1U, // SQSUBv1i16
1U, // SQSUBv1i32
1U, // SQSUBv1i64
1U, // SQSUBv1i8
1289U, // SQSUBv2i32
265U, // SQSUBv2i64
1545U, // SQSUBv4i16
521U, // SQSUBv4i32
777U, // SQSUBv8i16
1801U, // SQSUBv8i8
0U, // SQXTNv16i8
0U, // SQXTNv1i16
0U, // SQXTNv1i32
0U, // SQXTNv1i8
0U, // SQXTNv2i32
0U, // SQXTNv4i16
0U, // SQXTNv4i32
0U, // SQXTNv8i16
0U, // SQXTNv8i8
0U, // SQXTUNv16i8
0U, // SQXTUNv1i16
0U, // SQXTUNv1i32
0U, // SQXTUNv1i8
0U, // SQXTUNv2i32
0U, // SQXTUNv4i16
0U, // SQXTUNv4i32
0U, // SQXTUNv8i16
0U, // SQXTUNv8i8
1033U, // SRHADDv16i8
1289U, // SRHADDv2i32
1545U, // SRHADDv4i16
521U, // SRHADDv4i32
777U, // SRHADDv8i16
1801U, // SRHADDv8i8
65U, // SRId
65U, // SRIv16i8_shift
65U, // SRIv2i32_shift
65U, // SRIv2i64_shift
65U, // SRIv4i16_shift
65U, // SRIv4i32_shift
65U, // SRIv8i16_shift
65U, // SRIv8i8_shift
1033U, // SRSHLv16i8
1U, // SRSHLv1i64
1289U, // SRSHLv2i32
265U, // SRSHLv2i64
1545U, // SRSHLv4i16
521U, // SRSHLv4i32
777U, // SRSHLv8i16
1801U, // SRSHLv8i8
1U, // SRSHRd
1U, // SRSHRv16i8_shift
1U, // SRSHRv2i32_shift
1U, // SRSHRv2i64_shift
1U, // SRSHRv4i16_shift
1U, // SRSHRv4i32_shift
1U, // SRSHRv8i16_shift
1U, // SRSHRv8i8_shift
65U, // SRSRAd
65U, // SRSRAv16i8_shift
65U, // SRSRAv2i32_shift
65U, // SRSRAv2i64_shift
65U, // SRSRAv4i16_shift
65U, // SRSRAv4i32_shift
65U, // SRSRAv8i16_shift
65U, // SRSRAv8i8_shift
1U, // SSHLLv16i8_shift
1U, // SSHLLv2i32_shift
1U, // SSHLLv4i16_shift
1U, // SSHLLv4i32_shift
1U, // SSHLLv8i16_shift
1U, // SSHLLv8i8_shift
1033U, // SSHLv16i8
1U, // SSHLv1i64
1289U, // SSHLv2i32
265U, // SSHLv2i64
1545U, // SSHLv4i16
521U, // SSHLv4i32
777U, // SSHLv8i16
1801U, // SSHLv8i8
1U, // SSHRd
1U, // SSHRv16i8_shift
1U, // SSHRv2i32_shift
1U, // SSHRv2i64_shift
1U, // SSHRv4i16_shift
1U, // SSHRv4i32_shift
1U, // SSHRv8i16_shift
1U, // SSHRv8i8_shift
65U, // SSRAd
65U, // SSRAv16i8_shift
65U, // SSRAv2i32_shift
65U, // SSRAv2i64_shift
65U, // SSRAv4i16_shift
65U, // SSRAv4i32_shift
65U, // SSRAv8i16_shift
65U, // SSRAv8i8_shift
1033U, // SSUBLv16i8_v8i16
1289U, // SSUBLv2i32_v2i64
1545U, // SSUBLv4i16_v4i32
521U, // SSUBLv4i32_v2i64
777U, // SSUBLv8i16_v4i32
1801U, // SSUBLv8i8_v8i16
1033U, // SSUBWv16i8_v8i16
1289U, // SSUBWv2i32_v2i64
1545U, // SSUBWv4i16_v4i32
521U, // SSUBWv4i32_v2i64
777U, // SSUBWv8i16_v4i32
1801U, // SSUBWv8i8_v8i16
0U, // ST1Fourv16b
0U, // ST1Fourv16b_POST
0U, // ST1Fourv1d
0U, // ST1Fourv1d_POST
0U, // ST1Fourv2d
0U, // ST1Fourv2d_POST
0U, // ST1Fourv2s
0U, // ST1Fourv2s_POST
0U, // ST1Fourv4h
0U, // ST1Fourv4h_POST
0U, // ST1Fourv4s
0U, // ST1Fourv4s_POST
0U, // ST1Fourv8b
0U, // ST1Fourv8b_POST
0U, // ST1Fourv8h
0U, // ST1Fourv8h_POST
0U, // ST1Onev16b
0U, // ST1Onev16b_POST
0U, // ST1Onev1d
0U, // ST1Onev1d_POST
0U, // ST1Onev2d
0U, // ST1Onev2d_POST
0U, // ST1Onev2s
0U, // ST1Onev2s_POST
0U, // ST1Onev4h
0U, // ST1Onev4h_POST
0U, // ST1Onev4s
0U, // ST1Onev4s_POST
0U, // ST1Onev8b
0U, // ST1Onev8b_POST
0U, // ST1Onev8h
0U, // ST1Onev8h_POST
0U, // ST1Threev16b
0U, // ST1Threev16b_POST
0U, // ST1Threev1d
0U, // ST1Threev1d_POST
0U, // ST1Threev2d
0U, // ST1Threev2d_POST
0U, // ST1Threev2s
0U, // ST1Threev2s_POST
0U, // ST1Threev4h
0U, // ST1Threev4h_POST
0U, // ST1Threev4s
0U, // ST1Threev4s_POST
0U, // ST1Threev8b
0U, // ST1Threev8b_POST
0U, // ST1Threev8h
0U, // ST1Threev8h_POST
0U, // ST1Twov16b
0U, // ST1Twov16b_POST
0U, // ST1Twov1d
0U, // ST1Twov1d_POST
0U, // ST1Twov2d
0U, // ST1Twov2d_POST
0U, // ST1Twov2s
0U, // ST1Twov2s_POST
0U, // ST1Twov4h
0U, // ST1Twov4h_POST
0U, // ST1Twov4s
0U, // ST1Twov4s_POST
0U, // ST1Twov8b
0U, // ST1Twov8b_POST
0U, // ST1Twov8h
0U, // ST1Twov8h_POST
0U, // ST1i16
0U, // ST1i16_POST
0U, // ST1i32
0U, // ST1i32_POST
0U, // ST1i64
0U, // ST1i64_POST
0U, // ST1i8
0U, // ST1i8_POST
0U, // ST2Twov16b
0U, // ST2Twov16b_POST
0U, // ST2Twov2d
0U, // ST2Twov2d_POST
0U, // ST2Twov2s
0U, // ST2Twov2s_POST
0U, // ST2Twov4h
0U, // ST2Twov4h_POST
0U, // ST2Twov4s
0U, // ST2Twov4s_POST
0U, // ST2Twov8b
0U, // ST2Twov8b_POST
0U, // ST2Twov8h
0U, // ST2Twov8h_POST
0U, // ST2i16
0U, // ST2i16_POST
0U, // ST2i32
0U, // ST2i32_POST
0U, // ST2i64
0U, // ST2i64_POST
0U, // ST2i8
0U, // ST2i8_POST
0U, // ST3Threev16b
0U, // ST3Threev16b_POST
0U, // ST3Threev2d
0U, // ST3Threev2d_POST
0U, // ST3Threev2s
0U, // ST3Threev2s_POST
0U, // ST3Threev4h
0U, // ST3Threev4h_POST
0U, // ST3Threev4s
0U, // ST3Threev4s_POST
0U, // ST3Threev8b
0U, // ST3Threev8b_POST
0U, // ST3Threev8h
0U, // ST3Threev8h_POST
0U, // ST3i16
0U, // ST3i16_POST
0U, // ST3i32
0U, // ST3i32_POST
0U, // ST3i64
0U, // ST3i64_POST
0U, // ST3i8
0U, // ST3i8_POST
0U, // ST4Fourv16b
0U, // ST4Fourv16b_POST
0U, // ST4Fourv2d
0U, // ST4Fourv2d_POST
0U, // ST4Fourv2s
0U, // ST4Fourv2s_POST
0U, // ST4Fourv4h
0U, // ST4Fourv4h_POST
0U, // ST4Fourv4s
0U, // ST4Fourv4s_POST
0U, // ST4Fourv8b
0U, // ST4Fourv8b_POST
0U, // ST4Fourv8h
0U, // ST4Fourv8h_POST
0U, // ST4i16
0U, // ST4i16_POST
0U, // ST4i32
0U, // ST4i32_POST
0U, // ST4i64
0U, // ST4i64_POST
0U, // ST4i8
0U, // ST4i8_POST
4U, // STLRB
4U, // STLRH
4U, // STLRW
4U, // STLRX
4609U, // STLXPW
4609U, // STLXPX
3588U, // STLXRB
3588U, // STLXRH
3588U, // STLXRW
3588U, // STLXRX
43268U, // STNPDi
51460U, // STNPQi
59652U, // STNPSi
59652U, // STNPWi
43268U, // STNPXi
43268U, // STPDi
69444U, // STPDpost
330052U, // STPDpre
51460U, // STPQi
77636U, // STPQpost
338244U, // STPQpre
59652U, // STPSi
85828U, // STPSpost
346436U, // STPSpre
59652U, // STPWi
85828U, // STPWpost
346436U, // STPWpre
43268U, // STPXi
69444U, // STPXpost
330052U, // STPXpre
4U, // STRBBpost
4161U, // STRBBpre
92417U, // STRBBroW
100609U, // STRBBroX
89U, // STRBBui
4U, // STRBpost
4161U, // STRBpre
92417U, // STRBroW
100609U, // STRBroX
89U, // STRBui
4U, // STRDpost
4161U, // STRDpre
108801U, // STRDroW
116993U, // STRDroX
97U, // STRDui
4U, // STRHHpost
4161U, // STRHHpre
125185U, // STRHHroW
133377U, // STRHHroX
105U, // STRHHui
4U, // STRHpost
4161U, // STRHpre
125185U, // STRHroW
133377U, // STRHroX
105U, // STRHui
4U, // STRQpost
4161U, // STRQpre
141569U, // STRQroW
149761U, // STRQroX
113U, // STRQui
4U, // STRSpost
4161U, // STRSpre
157953U, // STRSroW
166145U, // STRSroX
121U, // STRSui
4U, // STRWpost
4161U, // STRWpre
157953U, // STRWroW
166145U, // STRWroX
121U, // STRWui
4U, // STRXpost
4161U, // STRXpre
108801U, // STRXroW
116993U, // STRXroX
97U, // STRXui
3585U, // STTRBi
3585U, // STTRHi
3585U, // STTRWi
3585U, // STTRXi
3585U, // STURBBi
3585U, // STURBi
3585U, // STURDi
3585U, // STURHHi
3585U, // STURHi
3585U, // STURQi
3585U, // STURSi
3585U, // STURWi
3585U, // STURXi
4609U, // STXPW
4609U, // STXPX
3588U, // STXRB
3588U, // STXRH
3588U, // STXRW
3588U, // STXRX
265U, // SUBHNv2i64_v2i32
273U, // SUBHNv2i64_v4i32
521U, // SUBHNv4i32_v4i16
529U, // SUBHNv4i32_v8i16
785U, // SUBHNv8i16_v16i8
777U, // SUBHNv8i16_v8i8
25U, // SUBSWri
0U, // SUBSWrr
33U, // SUBSWrs
41U, // SUBSWrx
25U, // SUBSXri
0U, // SUBSXrr
33U, // SUBSXrs
41U, // SUBSXrx
2049U, // SUBSXrx64
25U, // SUBWri
0U, // SUBWrr
33U, // SUBWrs
41U, // SUBWrx
25U, // SUBXri
0U, // SUBXrr
33U, // SUBXrs
41U, // SUBXrx
2049U, // SUBXrx64
1033U, // SUBv16i8
1U, // SUBv1i64
1289U, // SUBv2i32
265U, // SUBv2i64
1545U, // SUBv4i16
521U, // SUBv4i32
777U, // SUBv8i16
1801U, // SUBv8i8
0U, // SUQADDv16i8
0U, // SUQADDv1i16
0U, // SUQADDv1i32
0U, // SUQADDv1i64
0U, // SUQADDv1i8
0U, // SUQADDv2i32
0U, // SUQADDv2i64
0U, // SUQADDv4i16
0U, // SUQADDv4i32
0U, // SUQADDv8i16
0U, // SUQADDv8i8
0U, // SVC
129U, // SYSLxt
0U, // SYSxt
0U, // TBLv16i8Four
0U, // TBLv16i8One
0U, // TBLv16i8Three
0U, // TBLv16i8Two
0U, // TBLv8i8Four
0U, // TBLv8i8One
0U, // TBLv8i8Three
0U, // TBLv8i8Two
137U, // TBNZW
137U, // TBNZX
0U, // TBXv16i8Four
0U, // TBXv16i8One
0U, // TBXv16i8Three
0U, // TBXv16i8Two
0U, // TBXv8i8Four
0U, // TBXv8i8One
0U, // TBXv8i8Three
0U, // TBXv8i8Two
137U, // TBZW
137U, // TBZX
0U, // TCRETURNdi
0U, // TCRETURNri
0U, // TLSDESCCALL
0U, // TLSDESC_BLR
1033U, // TRN1v16i8
1289U, // TRN1v2i32
265U, // TRN1v2i64
1545U, // TRN1v4i16
521U, // TRN1v4i32
777U, // TRN1v8i16
1801U, // TRN1v8i8
1033U, // TRN2v16i8
1289U, // TRN2v2i32
265U, // TRN2v2i64
1545U, // TRN2v4i16
521U, // TRN2v4i32
777U, // TRN2v8i16
1801U, // TRN2v8i8
1041U, // UABALv16i8_v8i16
1297U, // UABALv2i32_v2i64
1553U, // UABALv4i16_v4i32
529U, // UABALv4i32_v2i64
785U, // UABALv8i16_v4i32
1809U, // UABALv8i8_v8i16
1041U, // UABAv16i8
1297U, // UABAv2i32
1553U, // UABAv4i16
529U, // UABAv4i32
785U, // UABAv8i16
1809U, // UABAv8i8
1033U, // UABDLv16i8_v8i16
1289U, // UABDLv2i32_v2i64
1545U, // UABDLv4i16_v4i32
521U, // UABDLv4i32_v2i64
777U, // UABDLv8i16_v4i32
1801U, // UABDLv8i8_v8i16
1033U, // UABDv16i8
1289U, // UABDv2i32
1545U, // UABDv4i16
521U, // UABDv4i32
777U, // UABDv8i16
1801U, // UABDv8i8
0U, // UADALPv16i8_v8i16
0U, // UADALPv2i32_v1i64
0U, // UADALPv4i16_v2i32
0U, // UADALPv4i32_v2i64
0U, // UADALPv8i16_v4i32
0U, // UADALPv8i8_v4i16
0U, // UADDLPv16i8_v8i16
0U, // UADDLPv2i32_v1i64
0U, // UADDLPv4i16_v2i32
0U, // UADDLPv4i32_v2i64
0U, // UADDLPv8i16_v4i32
0U, // UADDLPv8i8_v4i16
0U, // UADDLVv16i8v
0U, // UADDLVv4i16v
0U, // UADDLVv4i32v
0U, // UADDLVv8i16v
0U, // UADDLVv8i8v
1033U, // UADDLv16i8_v8i16
1289U, // UADDLv2i32_v2i64
1545U, // UADDLv4i16_v4i32
521U, // UADDLv4i32_v2i64
777U, // UADDLv8i16_v4i32
1801U, // UADDLv8i8_v8i16
1033U, // UADDWv16i8_v8i16
1289U, // UADDWv2i32_v2i64
1545U, // UADDWv4i16_v4i32
521U, // UADDWv4i32_v2i64
777U, // UADDWv8i16_v4i32
1801U, // UADDWv8i8_v8i16
18689U, // UBFMWri
18689U, // UBFMXri
1U, // UCVTFSWDri
1U, // UCVTFSWSri
1U, // UCVTFSXDri
1U, // UCVTFSXSri
0U, // UCVTFUWDri
0U, // UCVTFUWSri
0U, // UCVTFUXDri
0U, // UCVTFUXSri
1U, // UCVTFd
1U, // UCVTFs
0U, // UCVTFv1i32
0U, // UCVTFv1i64
0U, // UCVTFv2f32
0U, // UCVTFv2f64
1U, // UCVTFv2i32_shift
1U, // UCVTFv2i64_shift
0U, // UCVTFv4f32
1U, // UCVTFv4i32_shift
1U, // UDIVWr
1U, // UDIVXr
1U, // UDIV_IntWr
1U, // UDIV_IntXr
1033U, // UHADDv16i8
1289U, // UHADDv2i32
1545U, // UHADDv4i16
521U, // UHADDv4i32
777U, // UHADDv8i16
1801U, // UHADDv8i8
1033U, // UHSUBv16i8
1289U, // UHSUBv2i32
1545U, // UHSUBv4i16
521U, // UHSUBv4i32
777U, // UHSUBv8i16
1801U, // UHSUBv8i8
18689U, // UMADDLrrr
1033U, // UMAXPv16i8
1289U, // UMAXPv2i32
1545U, // UMAXPv4i16
521U, // UMAXPv4i32
777U, // UMAXPv8i16
1801U, // UMAXPv8i8
0U, // UMAXVv16i8v
0U, // UMAXVv4i16v
0U, // UMAXVv4i32v
0U, // UMAXVv8i16v
0U, // UMAXVv8i8v
1033U, // UMAXv16i8
1289U, // UMAXv2i32
1545U, // UMAXv4i16
521U, // UMAXv4i32
777U, // UMAXv8i16
1801U, // UMAXv8i8
1033U, // UMINPv16i8
1289U, // UMINPv2i32
1545U, // UMINPv4i16
521U, // UMINPv4i32
777U, // UMINPv8i16
1801U, // UMINPv8i8
0U, // UMINVv16i8v
0U, // UMINVv4i16v
0U, // UMINVv4i32v
0U, // UMINVv8i16v
0U, // UMINVv8i8v
1033U, // UMINv16i8
1289U, // UMINv2i32
1545U, // UMINv4i16
521U, // UMINv4i32
777U, // UMINv8i16
1801U, // UMINv8i8
1041U, // UMLALv16i8_v8i16
27665U, // UMLALv2i32_indexed
1297U, // UMLALv2i32_v2i64
28945U, // UMLALv4i16_indexed
1553U, // UMLALv4i16_v4i32
27665U, // UMLALv4i32_indexed
529U, // UMLALv4i32_v2i64
28945U, // UMLALv8i16_indexed
785U, // UMLALv8i16_v4i32
1809U, // UMLALv8i8_v8i16
1041U, // UMLSLv16i8_v8i16
27665U, // UMLSLv2i32_indexed
1297U, // UMLSLv2i32_v2i64
28945U, // UMLSLv4i16_indexed
1553U, // UMLSLv4i16_v4i32
27665U, // UMLSLv4i32_indexed
529U, // UMLSLv4i32_v2i64
28945U, // UMLSLv8i16_indexed
785U, // UMLSLv8i16_v4i32
1809U, // UMLSLv8i8_v8i16
75U, // UMOVvi16
75U, // UMOVvi32
75U, // UMOVvi64
75U, // UMOVvi8
18689U, // UMSUBLrrr
1U, // UMULHrr
1033U, // UMULLv16i8_v8i16
35849U, // UMULLv2i32_indexed
1289U, // UMULLv2i32_v2i64
37129U, // UMULLv4i16_indexed
1545U, // UMULLv4i16_v4i32
35849U, // UMULLv4i32_indexed
521U, // UMULLv4i32_v2i64
37129U, // UMULLv8i16_indexed
777U, // UMULLv8i16_v4i32
1801U, // UMULLv8i8_v8i16
1033U, // UQADDv16i8
1U, // UQADDv1i16
1U, // UQADDv1i32
1U, // UQADDv1i64
1U, // UQADDv1i8
1289U, // UQADDv2i32
265U, // UQADDv2i64
1545U, // UQADDv4i16
521U, // UQADDv4i32
777U, // UQADDv8i16
1801U, // UQADDv8i8
1033U, // UQRSHLv16i8
1U, // UQRSHLv1i16
1U, // UQRSHLv1i32
1U, // UQRSHLv1i64
1U, // UQRSHLv1i8
1289U, // UQRSHLv2i32
265U, // UQRSHLv2i64
1545U, // UQRSHLv4i16
521U, // UQRSHLv4i32
777U, // UQRSHLv8i16
1801U, // UQRSHLv8i8
1U, // UQRSHRNb
1U, // UQRSHRNh
1U, // UQRSHRNs
65U, // UQRSHRNv16i8_shift
1U, // UQRSHRNv2i32_shift
1U, // UQRSHRNv4i16_shift
65U, // UQRSHRNv4i32_shift
65U, // UQRSHRNv8i16_shift
1U, // UQRSHRNv8i8_shift
1U, // UQSHLb
1U, // UQSHLd
1U, // UQSHLh
1U, // UQSHLs
1033U, // UQSHLv16i8
1U, // UQSHLv16i8_shift
1U, // UQSHLv1i16
1U, // UQSHLv1i32
1U, // UQSHLv1i64
1U, // UQSHLv1i8
1289U, // UQSHLv2i32
1U, // UQSHLv2i32_shift
265U, // UQSHLv2i64
1U, // UQSHLv2i64_shift
1545U, // UQSHLv4i16
1U, // UQSHLv4i16_shift
521U, // UQSHLv4i32
1U, // UQSHLv4i32_shift
777U, // UQSHLv8i16
1U, // UQSHLv8i16_shift
1801U, // UQSHLv8i8
1U, // UQSHLv8i8_shift
1U, // UQSHRNb
1U, // UQSHRNh
1U, // UQSHRNs
65U, // UQSHRNv16i8_shift
1U, // UQSHRNv2i32_shift
1U, // UQSHRNv4i16_shift
65U, // UQSHRNv4i32_shift
65U, // UQSHRNv8i16_shift
1U, // UQSHRNv8i8_shift
1033U, // UQSUBv16i8
1U, // UQSUBv1i16
1U, // UQSUBv1i32
1U, // UQSUBv1i64
1U, // UQSUBv1i8
1289U, // UQSUBv2i32
265U, // UQSUBv2i64
1545U, // UQSUBv4i16
521U, // UQSUBv4i32
777U, // UQSUBv8i16
1801U, // UQSUBv8i8
0U, // UQXTNv16i8
0U, // UQXTNv1i16
0U, // UQXTNv1i32
0U, // UQXTNv1i8
0U, // UQXTNv2i32
0U, // UQXTNv4i16
0U, // UQXTNv4i32
0U, // UQXTNv8i16
0U, // UQXTNv8i8
0U, // URECPEv2i32
0U, // URECPEv4i32
1033U, // URHADDv16i8
1289U, // URHADDv2i32
1545U, // URHADDv4i16
521U, // URHADDv4i32
777U, // URHADDv8i16
1801U, // URHADDv8i8
1033U, // URSHLv16i8
1U, // URSHLv1i64
1289U, // URSHLv2i32
265U, // URSHLv2i64
1545U, // URSHLv4i16
521U, // URSHLv4i32
777U, // URSHLv8i16
1801U, // URSHLv8i8
1U, // URSHRd
1U, // URSHRv16i8_shift
1U, // URSHRv2i32_shift
1U, // URSHRv2i64_shift
1U, // URSHRv4i16_shift
1U, // URSHRv4i32_shift
1U, // URSHRv8i16_shift
1U, // URSHRv8i8_shift
0U, // URSQRTEv2i32
0U, // URSQRTEv4i32
65U, // URSRAd
65U, // URSRAv16i8_shift
65U, // URSRAv2i32_shift
65U, // URSRAv2i64_shift
65U, // URSRAv4i16_shift
65U, // URSRAv4i32_shift
65U, // URSRAv8i16_shift
65U, // URSRAv8i8_shift
1U, // USHLLv16i8_shift
1U, // USHLLv2i32_shift
1U, // USHLLv4i16_shift
1U, // USHLLv4i32_shift
1U, // USHLLv8i16_shift
1U, // USHLLv8i8_shift
1033U, // USHLv16i8
1U, // USHLv1i64
1289U, // USHLv2i32
265U, // USHLv2i64
1545U, // USHLv4i16
521U, // USHLv4i32
777U, // USHLv8i16
1801U, // USHLv8i8
1U, // USHRd
1U, // USHRv16i8_shift
1U, // USHRv2i32_shift
1U, // USHRv2i64_shift
1U, // USHRv4i16_shift
1U, // USHRv4i32_shift
1U, // USHRv8i16_shift
1U, // USHRv8i8_shift
0U, // USQADDv16i8
0U, // USQADDv1i16
0U, // USQADDv1i32
0U, // USQADDv1i64
0U, // USQADDv1i8
0U, // USQADDv2i32
0U, // USQADDv2i64
0U, // USQADDv4i16
0U, // USQADDv4i32
0U, // USQADDv8i16
0U, // USQADDv8i8
65U, // USRAd
65U, // USRAv16i8_shift
65U, // USRAv2i32_shift
65U, // USRAv2i64_shift
65U, // USRAv4i16_shift
65U, // USRAv4i32_shift
65U, // USRAv8i16_shift
65U, // USRAv8i8_shift
1033U, // USUBLv16i8_v8i16
1289U, // USUBLv2i32_v2i64
1545U, // USUBLv4i16_v4i32
521U, // USUBLv4i32_v2i64
777U, // USUBLv8i16_v4i32
1801U, // USUBLv8i8_v8i16
1033U, // USUBWv16i8_v8i16
1289U, // USUBWv2i32_v2i64
1545U, // USUBWv4i16_v4i32
521U, // USUBWv4i32_v2i64
777U, // USUBWv8i16_v4i32
1801U, // USUBWv8i8_v8i16
1033U, // UZP1v16i8
1289U, // UZP1v2i32
265U, // UZP1v2i64
1545U, // UZP1v4i16
521U, // UZP1v4i32
777U, // UZP1v8i16
1801U, // UZP1v8i8
1033U, // UZP2v16i8
1289U, // UZP2v2i32
265U, // UZP2v2i64
1545U, // UZP2v4i16
521U, // UZP2v4i32
777U, // UZP2v8i16
1801U, // UZP2v8i8
0U, // XTNv16i8
0U, // XTNv2i32
0U, // XTNv4i16
0U, // XTNv4i32
0U, // XTNv8i16
0U, // XTNv8i8
1033U, // ZIP1v16i8
1289U, // ZIP1v2i32
265U, // ZIP1v2i64
1545U, // ZIP1v4i16
521U, // ZIP1v4i32
777U, // ZIP1v8i16
1801U, // ZIP1v8i8
1033U, // ZIP2v16i8
1289U, // ZIP2v2i32
265U, // ZIP2v2i64
1545U, // ZIP2v4i16
521U, // ZIP2v4i32
777U, // ZIP2v8i16
1801U, // ZIP2v8i8
0U
};
#ifndef CAPSTONE_DIET
static const char AsmStrs[] = {
/* 0 */ 's', 'h', 'a', '1', 's', 'u', '0', 9, 0,
/* 9 */ 's', 'h', 'a', '2', '5', '6', 's', 'u', '0', 9, 0,
/* 20 */ 'l', 'd', '1', 9, 0,
/* 25 */ 't', 'r', 'n', '1', 9, 0,
/* 31 */ 'z', 'i', 'p', '1', 9, 0,
/* 37 */ 'u', 'z', 'p', '1', 9, 0,
/* 43 */ 'd', 'c', 'p', 's', '1', 9, 0,
/* 50 */ 's', 't', '1', 9, 0,
/* 55 */ 's', 'h', 'a', '1', 's', 'u', '1', 9, 0,
/* 64 */ 's', 'h', 'a', '2', '5', '6', 's', 'u', '1', 9, 0,
/* 75 */ 'r', 'e', 'v', '3', '2', 9, 0,
/* 82 */ 'l', 'd', '2', 9, 0,
/* 87 */ 's', 'h', 'a', '2', '5', '6', 'h', '2', 9, 0,
/* 97 */ 's', 'a', 'b', 'a', 'l', '2', 9, 0,
/* 105 */ 'u', 'a', 'b', 'a', 'l', '2', 9, 0,
/* 113 */ 's', 'q', 'd', 'm', 'l', 'a', 'l', '2', 9, 0,
/* 123 */ 's', 'm', 'l', 'a', 'l', '2', 9, 0,
/* 131 */ 'u', 'm', 'l', 'a', 'l', '2', 9, 0,
/* 139 */ 's', 's', 'u', 'b', 'l', '2', 9, 0,
/* 147 */ 'u', 's', 'u', 'b', 'l', '2', 9, 0,
/* 155 */ 's', 'a', 'b', 'd', 'l', '2', 9, 0,
/* 163 */ 'u', 'a', 'b', 'd', 'l', '2', 9, 0,
/* 171 */ 's', 'a', 'd', 'd', 'l', '2', 9, 0,
/* 179 */ 'u', 'a', 'd', 'd', 'l', '2', 9, 0,
/* 187 */ 's', 's', 'h', 'l', 'l', '2', 9, 0,
/* 195 */ 'u', 's', 'h', 'l', 'l', '2', 9, 0,
/* 203 */ 's', 'q', 'd', 'm', 'u', 'l', 'l', '2', 9, 0,
/* 213 */ 'p', 'm', 'u', 'l', 'l', '2', 9, 0,
/* 221 */ 's', 'm', 'u', 'l', 'l', '2', 9, 0,
/* 229 */ 'u', 'm', 'u', 'l', 'l', '2', 9, 0,
/* 237 */ 's', 'q', 'd', 'm', 'l', 's', 'l', '2', 9, 0,
/* 247 */ 's', 'm', 'l', 's', 'l', '2', 9, 0,
/* 255 */ 'u', 'm', 'l', 's', 'l', '2', 9, 0,
/* 263 */ 'f', 'c', 'v', 't', 'l', '2', 9, 0,
/* 271 */ 'r', 's', 'u', 'b', 'h', 'n', '2', 9, 0,
/* 280 */ 'r', 'a', 'd', 'd', 'h', 'n', '2', 9, 0,
/* 289 */ 's', 'q', 's', 'h', 'r', 'n', '2', 9, 0,
/* 298 */ 'u', 'q', 's', 'h', 'r', 'n', '2', 9, 0,
/* 307 */ 's', 'q', 'r', 's', 'h', 'r', 'n', '2', 9, 0,
/* 317 */ 'u', 'q', 'r', 's', 'h', 'r', 'n', '2', 9, 0,
/* 327 */ 't', 'r', 'n', '2', 9, 0,
/* 333 */ 'f', 'c', 'v', 't', 'n', '2', 9, 0,
/* 341 */ 's', 'q', 'x', 't', 'n', '2', 9, 0,
/* 349 */ 'u', 'q', 'x', 't', 'n', '2', 9, 0,
/* 357 */ 's', 'q', 's', 'h', 'r', 'u', 'n', '2', 9, 0,
/* 367 */ 's', 'q', 'r', 's', 'h', 'r', 'u', 'n', '2', 9, 0,
/* 378 */ 's', 'q', 'x', 't', 'u', 'n', '2', 9, 0,
/* 387 */ 'f', 'c', 'v', 't', 'x', 'n', '2', 9, 0,
/* 396 */ 'z', 'i', 'p', '2', 9, 0,
/* 402 */ 'u', 'z', 'p', '2', 9, 0,
/* 408 */ 'd', 'c', 'p', 's', '2', 9, 0,
/* 415 */ 's', 't', '2', 9, 0,
/* 420 */ 's', 's', 'u', 'b', 'w', '2', 9, 0,
/* 428 */ 'u', 's', 'u', 'b', 'w', '2', 9, 0,
/* 436 */ 's', 'a', 'd', 'd', 'w', '2', 9, 0,
/* 444 */ 'u', 'a', 'd', 'd', 'w', '2', 9, 0,
/* 452 */ 'l', 'd', '3', 9, 0,
/* 457 */ 'd', 'c', 'p', 's', '3', 9, 0,
/* 464 */ 's', 't', '3', 9, 0,
/* 469 */ 'r', 'e', 'v', '6', '4', 9, 0,
/* 476 */ 'l', 'd', '4', 9, 0,
/* 481 */ 's', 't', '4', 9, 0,
/* 486 */ 'r', 'e', 'v', '1', '6', 9, 0,
/* 493 */ 's', 'a', 'b', 'a', 9, 0,
/* 499 */ 'u', 'a', 'b', 'a', 9, 0,
/* 505 */ 'f', 'm', 'l', 'a', 9, 0,
/* 511 */ 's', 'r', 's', 'r', 'a', 9, 0,
/* 518 */ 'u', 'r', 's', 'r', 'a', 9, 0,
/* 525 */ 's', 's', 'r', 'a', 9, 0,
/* 531 */ 'u', 's', 'r', 'a', 9, 0,
/* 537 */ 'f', 'r', 'i', 'n', 't', 'a', 9, 0,
/* 545 */ 'c', 'r', 'c', '3', '2', 'b', 9, 0,
/* 553 */ 'c', 'r', 'c', '3', '2', 'c', 'b', 9, 0,
/* 562 */ 'd', 'm', 'b', 9, 0,
/* 567 */ 'l', 'd', 'a', 'r', 'b', 9, 0,
/* 574 */ 'l', 'd', 'r', 'b', 9, 0,
/* 580 */ 's', 't', 'l', 'r', 'b', 9, 0,
/* 587 */ 'l', 'd', 't', 'r', 'b', 9, 0,
/* 594 */ 's', 't', 'r', 'b', 9, 0,
/* 600 */ 's', 't', 't', 'r', 'b', 9, 0,
/* 607 */ 'l', 'd', 'u', 'r', 'b', 9, 0,
/* 614 */ 's', 't', 'u', 'r', 'b', 9, 0,
/* 621 */ 'l', 'd', 'a', 'x', 'r', 'b', 9, 0,
/* 629 */ 'l', 'd', 'x', 'r', 'b', 9, 0,
/* 636 */ 's', 't', 'l', 'x', 'r', 'b', 9, 0,
/* 644 */ 's', 't', 'x', 'r', 'b', 9, 0,
/* 651 */ 'd', 's', 'b', 9, 0,
/* 656 */ 'i', 's', 'b', 9, 0,
/* 661 */ 'l', 'd', 'r', 's', 'b', 9, 0,
/* 668 */ 'l', 'd', 't', 'r', 's', 'b', 9, 0,
/* 676 */ 'l', 'd', 'u', 'r', 's', 'b', 9, 0,
/* 684 */ 'f', 's', 'u', 'b', 9, 0,
/* 690 */ 's', 'h', 's', 'u', 'b', 9, 0,
/* 697 */ 'u', 'h', 's', 'u', 'b', 9, 0,
/* 704 */ 'f', 'm', 's', 'u', 'b', 9, 0,
/* 711 */ 'f', 'n', 'm', 's', 'u', 'b', 9, 0,
/* 719 */ 's', 'q', 's', 'u', 'b', 9, 0,
/* 726 */ 'u', 'q', 's', 'u', 'b', 9, 0,
/* 733 */ 's', 'h', 'a', '1', 'c', 9, 0,
/* 740 */ 's', 'b', 'c', 9, 0,
/* 745 */ 'a', 'd', 'c', 9, 0,
/* 750 */ 'b', 'i', 'c', 9, 0,
/* 755 */ 'a', 'e', 's', 'i', 'm', 'c', 9, 0,
/* 763 */ 'a', 'e', 's', 'm', 'c', 9, 0,
/* 770 */ 'c', 's', 'i', 'n', 'c', 9, 0,
/* 777 */ 'h', 'v', 'c', 9, 0,
/* 782 */ 's', 'v', 'c', 9, 0,
/* 787 */ 'f', 'a', 'b', 'd', 9, 0,
/* 793 */ 's', 'a', 'b', 'd', 9, 0,
/* 799 */ 'u', 'a', 'b', 'd', 9, 0,
/* 805 */ 'f', 'a', 'd', 'd', 9, 0,
/* 811 */ 's', 'r', 'h', 'a', 'd', 'd', 9, 0,
/* 819 */ 'u', 'r', 'h', 'a', 'd', 'd', 9, 0,
/* 827 */ 's', 'h', 'a', 'd', 'd', 9, 0,
/* 834 */ 'u', 'h', 'a', 'd', 'd', 9, 0,
/* 841 */ 'f', 'm', 'a', 'd', 'd', 9, 0,
/* 848 */ 'f', 'n', 'm', 'a', 'd', 'd', 9, 0,
/* 856 */ 'u', 's', 'q', 'a', 'd', 'd', 9, 0,
/* 864 */ 's', 'u', 'q', 'a', 'd', 'd', 9, 0,
/* 872 */ 'a', 'n', 'd', 9, 0,
/* 877 */ 'a', 'e', 's', 'd', 9, 0,
/* 883 */ 'f', 'a', 'c', 'g', 'e', 9, 0,
/* 890 */ 'f', 'c', 'm', 'g', 'e', 9, 0,
/* 897 */ 'f', 'c', 'm', 'l', 'e', 9, 0,
/* 904 */ 'f', 'r', 'e', 'c', 'p', 'e', 9, 0,
/* 912 */ 'u', 'r', 'e', 'c', 'p', 'e', 9, 0,
/* 920 */ 'f', 'c', 'c', 'm', 'p', 'e', 9, 0,
/* 928 */ 'f', 'c', 'm', 'p', 'e', 9, 0,
/* 935 */ 'a', 'e', 's', 'e', 9, 0,
/* 941 */ 'f', 'r', 's', 'q', 'r', 't', 'e', 9, 0,
/* 950 */ 'u', 'r', 's', 'q', 'r', 't', 'e', 9, 0,
/* 959 */ 'b', 'i', 'f', 9, 0,
/* 964 */ 's', 'c', 'v', 't', 'f', 9, 0,
/* 971 */ 'u', 'c', 'v', 't', 'f', 9, 0,
/* 978 */ 'f', 'n', 'e', 'g', 9, 0,
/* 984 */ 's', 'q', 'n', 'e', 'g', 9, 0,
/* 991 */ 'c', 's', 'n', 'e', 'g', 9, 0,
/* 998 */ 's', 'h', 'a', '1', 'h', 9, 0,
/* 1005 */ 'c', 'r', 'c', '3', '2', 'h', 9, 0,
/* 1013 */ 's', 'h', 'a', '2', '5', '6', 'h', 9, 0,
/* 1022 */ 'c', 'r', 'c', '3', '2', 'c', 'h', 9, 0,
/* 1031 */ 's', 'q', 'd', 'm', 'u', 'l', 'h', 9, 0,
/* 1040 */ 's', 'q', 'r', 'd', 'm', 'u', 'l', 'h', 9, 0,
/* 1050 */ 's', 'm', 'u', 'l', 'h', 9, 0,
/* 1057 */ 'u', 'm', 'u', 'l', 'h', 9, 0,
/* 1064 */ 'l', 'd', 'a', 'r', 'h', 9, 0,
/* 1071 */ 'l', 'd', 'r', 'h', 9, 0,
/* 1077 */ 's', 't', 'l', 'r', 'h', 9, 0,
/* 1084 */ 'l', 'd', 't', 'r', 'h', 9, 0,
/* 1091 */ 's', 't', 'r', 'h', 9, 0,
/* 1097 */ 's', 't', 't', 'r', 'h', 9, 0,
/* 1104 */ 'l', 'd', 'u', 'r', 'h', 9, 0,
/* 1111 */ 's', 't', 'u', 'r', 'h', 9, 0,
/* 1118 */ 'l', 'd', 'a', 'x', 'r', 'h', 9, 0,
/* 1126 */ 'l', 'd', 'x', 'r', 'h', 9, 0,
/* 1133 */ 's', 't', 'l', 'x', 'r', 'h', 9, 0,
/* 1141 */ 's', 't', 'x', 'r', 'h', 9, 0,
/* 1148 */ 'l', 'd', 'r', 's', 'h', 9, 0,
/* 1155 */ 'l', 'd', 't', 'r', 's', 'h', 9, 0,
/* 1163 */ 'l', 'd', 'u', 'r', 's', 'h', 9, 0,
/* 1171 */ 'c', 'm', 'h', 'i', 9, 0,
/* 1177 */ 's', 'l', 'i', 9, 0,
/* 1182 */ 'm', 'v', 'n', 'i', 9, 0,
/* 1188 */ 's', 'r', 'i', 9, 0,
/* 1193 */ 'f', 'r', 'i', 'n', 't', 'i', 9, 0,
/* 1201 */ 'm', 'o', 'v', 'i', 9, 0,
/* 1207 */ 'b', 'r', 'k', 9, 0,
/* 1212 */ 'm', 'o', 'v', 'k', 9, 0,
/* 1218 */ 's', 'a', 'b', 'a', 'l', 9, 0,
/* 1225 */ 'u', 'a', 'b', 'a', 'l', 9, 0,
/* 1232 */ 's', 'q', 'd', 'm', 'l', 'a', 'l', 9, 0,
/* 1241 */ 's', 'm', 'l', 'a', 'l', 9, 0,
/* 1248 */ 'u', 'm', 'l', 'a', 'l', 9, 0,
/* 1255 */ 't', 'b', 'l', 9, 0,
/* 1260 */ 's', 'm', 's', 'u', 'b', 'l', 9, 0,
/* 1268 */ 'u', 'm', 's', 'u', 'b', 'l', 9, 0,
/* 1276 */ 's', 's', 'u', 'b', 'l', 9, 0,
/* 1283 */ 'u', 's', 'u', 'b', 'l', 9, 0,
/* 1290 */ 's', 'a', 'b', 'd', 'l', 9, 0,
/* 1297 */ 'u', 'a', 'b', 'd', 'l', 9, 0,
/* 1304 */ 's', 'm', 'a', 'd', 'd', 'l', 9, 0,
/* 1312 */ 'u', 'm', 'a', 'd', 'd', 'l', 9, 0,
/* 1320 */ 's', 'a', 'd', 'd', 'l', 9, 0,
/* 1327 */ 'u', 'a', 'd', 'd', 'l', 9, 0,
/* 1334 */ 'f', 'c', 's', 'e', 'l', 9, 0,
/* 1341 */ 's', 'q', 's', 'h', 'l', 9, 0,
/* 1348 */ 'u', 'q', 's', 'h', 'l', 9, 0,
/* 1355 */ 's', 'q', 'r', 's', 'h', 'l', 9, 0,
/* 1363 */ 'u', 'q', 'r', 's', 'h', 'l', 9, 0,
/* 1371 */ 's', 'r', 's', 'h', 'l', 9, 0,
/* 1378 */ 'u', 'r', 's', 'h', 'l', 9, 0,
/* 1385 */ 's', 's', 'h', 'l', 9, 0,
/* 1391 */ 'u', 's', 'h', 'l', 9, 0,
/* 1397 */ 's', 's', 'h', 'l', 'l', 9, 0,
/* 1404 */ 'u', 's', 'h', 'l', 'l', 9, 0,
/* 1411 */ 's', 'q', 'd', 'm', 'u', 'l', 'l', 9, 0,
/* 1420 */ 'p', 'm', 'u', 'l', 'l', 9, 0,
/* 1427 */ 's', 'm', 'u', 'l', 'l', 9, 0,
/* 1434 */ 'u', 'm', 'u', 'l', 'l', 9, 0,
/* 1441 */ 'b', 's', 'l', 9, 0,
/* 1446 */ 's', 'q', 'd', 'm', 'l', 's', 'l', 9, 0,
/* 1455 */ 's', 'm', 'l', 's', 'l', 9, 0,
/* 1462 */ 'u', 'm', 'l', 's', 'l', 9, 0,
/* 1469 */ 's', 'y', 's', 'l', 9, 0,
/* 1475 */ 'f', 'c', 'v', 't', 'l', 9, 0,
/* 1482 */ 'f', 'm', 'u', 'l', 9, 0,
/* 1488 */ 'f', 'n', 'm', 'u', 'l', 9, 0,
/* 1495 */ 'p', 'm', 'u', 'l', 9, 0,
/* 1501 */ 's', 'h', 'a', '1', 'm', 9, 0,
/* 1508 */ 's', 'b', 'f', 'm', 9, 0,
/* 1514 */ 'u', 'b', 'f', 'm', 9, 0,
/* 1520 */ 'p', 'r', 'f', 'm', 9, 0,
/* 1526 */ 'f', 'm', 'i', 'n', 'n', 'm', 9, 0,
/* 1534 */ 'f', 'm', 'a', 'x', 'n', 'm', 9, 0,
/* 1542 */ 'f', 'r', 'i', 'n', 't', 'm', 9, 0,
/* 1550 */ 'p', 'r', 'f', 'u', 'm', 9, 0,
/* 1557 */ 'r', 's', 'u', 'b', 'h', 'n', 9, 0,
/* 1565 */ 'r', 'a', 'd', 'd', 'h', 'n', 9, 0,
/* 1573 */ 'f', 'm', 'i', 'n', 9, 0,
/* 1579 */ 's', 'm', 'i', 'n', 9, 0,
/* 1585 */ 'u', 'm', 'i', 'n', 9, 0,
/* 1591 */ 'c', 'c', 'm', 'n', 9, 0,
/* 1597 */ 'e', 'o', 'n', 9, 0,
/* 1602 */ 's', 'q', 's', 'h', 'r', 'n', 9, 0,
/* 1610 */ 'u', 'q', 's', 'h', 'r', 'n', 9, 0,
/* 1618 */ 's', 'q', 'r', 's', 'h', 'r', 'n', 9, 0,
/* 1627 */ 'u', 'q', 'r', 's', 'h', 'r', 'n', 9, 0,
/* 1636 */ 'o', 'r', 'n', 9, 0,
/* 1641 */ 'f', 'r', 'i', 'n', 't', 'n', 9, 0,
/* 1649 */ 'f', 'c', 'v', 't', 'n', 9, 0,
/* 1656 */ 's', 'q', 'x', 't', 'n', 9, 0,
/* 1663 */ 'u', 'q', 'x', 't', 'n', 9, 0,
/* 1670 */ 's', 'q', 's', 'h', 'r', 'u', 'n', 9, 0,
/* 1679 */ 's', 'q', 'r', 's', 'h', 'r', 'u', 'n', 9, 0,
/* 1689 */ 's', 'q', 'x', 't', 'u', 'n', 9, 0,
/* 1697 */ 'm', 'o', 'v', 'n', 9, 0,
/* 1703 */ 'f', 'c', 'v', 't', 'x', 'n', 9, 0,
/* 1711 */ 's', 'h', 'a', '1', 'p', 9, 0,
/* 1718 */ 'f', 'a', 'd', 'd', 'p', 9, 0,
/* 1725 */ 'l', 'd', 'p', 9, 0,
/* 1730 */ 's', 'a', 'd', 'a', 'l', 'p', 9, 0,
/* 1738 */ 'u', 'a', 'd', 'a', 'l', 'p', 9, 0,
/* 1746 */ 's', 'a', 'd', 'd', 'l', 'p', 9, 0,
/* 1754 */ 'u', 'a', 'd', 'd', 'l', 'p', 9, 0,
/* 1762 */ 'f', 'c', 'c', 'm', 'p', 9, 0,
/* 1769 */ 'f', 'c', 'm', 'p', 9, 0,
/* 1775 */ 'f', 'm', 'i', 'n', 'n', 'm', 'p', 9, 0,
/* 1784 */ 'f', 'm', 'a', 'x', 'n', 'm', 'p', 9, 0,
/* 1793 */ 'l', 'd', 'n', 'p', 9, 0,
/* 1799 */ 'f', 'm', 'i', 'n', 'p', 9, 0,
/* 1806 */ 's', 'm', 'i', 'n', 'p', 9, 0,
/* 1813 */ 'u', 'm', 'i', 'n', 'p', 9, 0,
/* 1820 */ 's', 't', 'n', 'p', 9, 0,
/* 1826 */ 'a', 'd', 'r', 'p', 9, 0,
/* 1832 */ 'f', 'r', 'i', 'n', 't', 'p', 9, 0,
/* 1840 */ 's', 't', 'p', 9, 0,
/* 1845 */ 'd', 'u', 'p', 9, 0,
/* 1850 */ 'l', 'd', 'a', 'x', 'p', 9, 0,
/* 1857 */ 'f', 'm', 'a', 'x', 'p', 9, 0,
/* 1864 */ 's', 'm', 'a', 'x', 'p', 9, 0,
/* 1871 */ 'u', 'm', 'a', 'x', 'p', 9, 0,
/* 1878 */ 'l', 'd', 'x', 'p', 9, 0,
/* 1884 */ 's', 't', 'l', 'x', 'p', 9, 0,
/* 1891 */ 's', 't', 'x', 'p', 9, 0,
/* 1897 */ 'f', 'c', 'm', 'e', 'q', 9, 0,
/* 1904 */ 'l', 'd', '1', 'r', 9, 0,
/* 1910 */ 'l', 'd', '2', 'r', 9, 0,
/* 1916 */ 'l', 'd', '3', 'r', 9, 0,
/* 1922 */ 'l', 'd', '4', 'r', 9, 0,
/* 1928 */ 'l', 'd', 'a', 'r', 9, 0,
/* 1934 */ 'b', 'r', 9, 0,
/* 1938 */ 'a', 'd', 'r', 9, 0,
/* 1943 */ 'l', 'd', 'r', 9, 0,
/* 1948 */ 's', 'r', 's', 'h', 'r', 9, 0,
/* 1955 */ 'u', 'r', 's', 'h', 'r', 9, 0,
/* 1962 */ 's', 's', 'h', 'r', 9, 0,
/* 1968 */ 'u', 's', 'h', 'r', 9, 0,
/* 1974 */ 'b', 'l', 'r', 9, 0,
/* 1979 */ 's', 't', 'l', 'r', 9, 0,
/* 1985 */ 'e', 'o', 'r', 9, 0,
/* 1990 */ 'r', 'o', 'r', 9, 0,
/* 1995 */ 'o', 'r', 'r', 9, 0,
/* 2000 */ 'a', 's', 'r', 9, 0,
/* 2005 */ 'l', 's', 'r', 9, 0,
/* 2010 */ 'm', 's', 'r', 9, 0,
/* 2015 */ 'l', 'd', 't', 'r', 9, 0,
/* 2021 */ 's', 't', 'r', 9, 0,
/* 2026 */ 's', 't', 't', 'r', 9, 0,
/* 2032 */ 'e', 'x', 't', 'r', 9, 0,
/* 2038 */ 'l', 'd', 'u', 'r', 9, 0,
/* 2044 */ 's', 't', 'u', 'r', 9, 0,
/* 2050 */ 'l', 'd', 'a', 'x', 'r', 9, 0,
/* 2057 */ 'l', 'd', 'x', 'r', 9, 0,
/* 2063 */ 's', 't', 'l', 'x', 'r', 9, 0,
/* 2070 */ 's', 't', 'x', 'r', 9, 0,
/* 2076 */ 'f', 'c', 'v', 't', 'a', 's', 9, 0,
/* 2084 */ 'f', 'a', 'b', 's', 9, 0,
/* 2090 */ 's', 'q', 'a', 'b', 's', 9, 0,
/* 2097 */ 's', 'u', 'b', 's', 9, 0,
/* 2103 */ 's', 'b', 'c', 's', 9, 0,
/* 2109 */ 'a', 'd', 'c', 's', 9, 0,
/* 2115 */ 'b', 'i', 'c', 's', 9, 0,
/* 2121 */ 'a', 'd', 'd', 's', 9, 0,
/* 2127 */ 'a', 'n', 'd', 's', 9, 0,
/* 2133 */ 'c', 'm', 'h', 's', 9, 0,
/* 2139 */ 'c', 'l', 's', 9, 0,
/* 2144 */ 'f', 'm', 'l', 's', 9, 0,
/* 2150 */ 'f', 'c', 'v', 't', 'm', 's', 9, 0,
/* 2158 */ 'i', 'n', 's', 9, 0,
/* 2163 */ 'f', 'c', 'v', 't', 'n', 's', 9, 0,
/* 2171 */ 'f', 'r', 'e', 'c', 'p', 's', 9, 0,
/* 2179 */ 'f', 'c', 'v', 't', 'p', 's', 9, 0,
/* 2187 */ 'm', 'r', 's', 9, 0,
/* 2192 */ 'f', 'r', 's', 'q', 'r', 't', 's', 9, 0,
/* 2201 */ 's', 'y', 's', 9, 0,
/* 2206 */ 'f', 'c', 'v', 't', 'z', 's', 9, 0,
/* 2214 */ 'r', 'e', 't', 9, 0,
/* 2219 */ 'f', 'a', 'c', 'g', 't', 9, 0,
/* 2226 */ 'f', 'c', 'm', 'g', 't', 9, 0,
/* 2233 */ 'r', 'b', 'i', 't', 9, 0,
/* 2239 */ 'h', 'l', 't', 9, 0,
/* 2244 */ 'f', 'c', 'm', 'l', 't', 9, 0,
/* 2251 */ 'c', 'n', 't', 9, 0,
/* 2256 */ 'n', 'o', 't', 9, 0,
/* 2261 */ 'f', 's', 'q', 'r', 't', 9, 0,
/* 2268 */ 'c', 'm', 't', 's', 't', 9, 0,
/* 2275 */ 'f', 'c', 'v', 't', 9, 0,
/* 2281 */ 'e', 'x', 't', 9, 0,
/* 2286 */ 'f', 'c', 'v', 't', 'a', 'u', 9, 0,
/* 2294 */ 's', 'q', 's', 'h', 'l', 'u', 9, 0,
/* 2302 */ 'f', 'c', 'v', 't', 'm', 'u', 9, 0,
/* 2310 */ 'f', 'c', 'v', 't', 'n', 'u', 9, 0,
/* 2318 */ 'f', 'c', 'v', 't', 'p', 'u', 9, 0,
/* 2326 */ 'f', 'c', 'v', 't', 'z', 'u', 9, 0,
/* 2334 */ 'a', 'd', 'd', 'v', 9, 0,
/* 2340 */ 'r', 'e', 'v', 9, 0,
/* 2345 */ 'f', 'd', 'i', 'v', 9, 0,
/* 2351 */ 's', 'd', 'i', 'v', 9, 0,
/* 2357 */ 'u', 'd', 'i', 'v', 9, 0,
/* 2363 */ 's', 'a', 'd', 'd', 'l', 'v', 9, 0,
/* 2371 */ 'u', 'a', 'd', 'd', 'l', 'v', 9, 0,
/* 2379 */ 'f', 'm', 'i', 'n', 'n', 'm', 'v', 9, 0,
/* 2388 */ 'f', 'm', 'a', 'x', 'n', 'm', 'v', 9, 0,
/* 2397 */ 'f', 'm', 'i', 'n', 'v', 9, 0,
/* 2404 */ 's', 'm', 'i', 'n', 'v', 9, 0,
/* 2411 */ 'u', 'm', 'i', 'n', 'v', 9, 0,
/* 2418 */ 'c', 's', 'i', 'n', 'v', 9, 0,
/* 2425 */ 'f', 'm', 'o', 'v', 9, 0,
/* 2431 */ 's', 'm', 'o', 'v', 9, 0,
/* 2437 */ 'u', 'm', 'o', 'v', 9, 0,
/* 2443 */ 'f', 'm', 'a', 'x', 'v', 9, 0,
/* 2450 */ 's', 'm', 'a', 'x', 'v', 9, 0,
/* 2457 */ 'u', 'm', 'a', 'x', 'v', 9, 0,
/* 2464 */ 'c', 'r', 'c', '3', '2', 'w', 9, 0,
/* 2472 */ 's', 's', 'u', 'b', 'w', 9, 0,
/* 2479 */ 'u', 's', 'u', 'b', 'w', 9, 0,
/* 2486 */ 'c', 'r', 'c', '3', '2', 'c', 'w', 9, 0,
/* 2495 */ 's', 'a', 'd', 'd', 'w', 9, 0,
/* 2502 */ 'u', 'a', 'd', 'd', 'w', 9, 0,
/* 2509 */ 'l', 'd', 'p', 's', 'w', 9, 0,
/* 2516 */ 'l', 'd', 'r', 's', 'w', 9, 0,
/* 2523 */ 'l', 'd', 't', 'r', 's', 'w', 9, 0,
/* 2531 */ 'l', 'd', 'u', 'r', 's', 'w', 9, 0,
/* 2539 */ 'c', 'r', 'c', '3', '2', 'x', 9, 0,
/* 2547 */ 'f', 'm', 'a', 'x', 9, 0,
/* 2553 */ 's', 'm', 'a', 'x', 9, 0,
/* 2559 */ 'u', 'm', 'a', 'x', 9, 0,
/* 2565 */ 't', 'b', 'x', 9, 0,
/* 2570 */ 'c', 'r', 'c', '3', '2', 'c', 'x', 9, 0,
/* 2579 */ 'c', 'l', 'r', 'e', 'x', 9, 0,
/* 2586 */ 'f', 'm', 'u', 'l', 'x', 9, 0,
/* 2593 */ 'f', 'r', 'e', 'c', 'p', 'x', 9, 0,
/* 2601 */ 'f', 'r', 'i', 'n', 't', 'x', 9, 0,
/* 2609 */ 'c', 'b', 'z', 9, 0,
/* 2614 */ 't', 'b', 'z', 9, 0,
/* 2619 */ 'c', 'l', 'z', 9, 0,
/* 2624 */ 'c', 'b', 'n', 'z', 9, 0,
/* 2630 */ 't', 'b', 'n', 'z', 9, 0,
/* 2636 */ 'f', 'r', 'i', 'n', 't', 'z', 9, 0,
/* 2644 */ 'm', 'o', 'v', 'z', 9, 0,
/* 2650 */ '.', 't', 'l', 's', 'd', 'e', 's', 'c', 'c', 'a', 'l', 'l', 32, 0,
/* 2664 */ 'h', 'i', 'n', 't', 32, 0,
/* 2670 */ 'b', '.', 0,
/* 2673 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
/* 2686 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
/* 2693 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
/* 2703 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
/* 2718 */ 'd', 'r', 'p', 's', 0,
/* 2723 */ 'e', 'r', 'e', 't', 0,
};
#endif
// Emit the opcode for the instruction.
uint64_t Bits1 = OpInfo[MCInst_getOpcode(MI)];
uint64_t Bits2 = OpInfo2[MCInst_getOpcode(MI)];
uint64_t Bits = (Bits2 << 32) | Bits1;
// assert(Bits != 0 && "Cannot print this instruction.");
#ifndef CAPSTONE_DIET
SStream_concat0(O, AsmStrs+(Bits & 4095)-1);
#endif
// Fragment 0 encoded into 6 bits for 40 unique commands.
//printf("Frag-0: %"PRIu64"\n", (Bits >> 12) & 63);
switch ((Bits >> 12) & 63) {
default: // unreachable.
case 0:
// DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, DRPS, ERET
return;
break;
case 1:
// ABSv16i8, ABSv2i32, ABSv2i64, ABSv4i16, ABSv4i32, ABSv8i16, ABSv8i8, A...
printVRegOperand(MI, 0, O);
break;
case 2:
// ABSv1i64, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPv2i64p, ADDSWri, ADDSWrs, ...
printOperand(MI, 0, O);
break;
case 3:
// ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, AESDrr, AESErr, ...
printVRegOperand(MI, 1, O);
break;
case 4:
// B, BL
printAlignedLabel(MI, 0, O);
return;
break;
case 5:
// BRK, DCPS1, DCPS2, DCPS3, HINT, HLT, HVC, SMC, SVC
printHexImm(MI, 0, O);
return;
break;
case 6:
// Bcc
printCondCode(MI, 0, O);
SStream_concat0(O, "\t");
printAlignedLabel(MI, 1, O);
return;
break;
case 7:
// DMB, DSB, ISB
printBarrierOption(MI, 0, O);
return;
break;
case 8:
// FMLAv1i32_indexed, FMLAv1i64_indexed, FMLSv1i32_indexed, FMLSv1i64_ind...
printOperand(MI, 1, O);
break;
case 9:
// LD1Fourv16b, LD1Onev16b, LD1Rv16b, LD1Threev16b, LD1Twov16b, LD2Rv16b,...
printTypedVectorList(MI, 0, O, 16, 'b', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 10:
// LD1Fourv16b_POST, LD1Onev16b_POST, LD1Rv16b_POST, LD1Threev16b_POST, L...
printTypedVectorList(MI, 1, O, 16, 'b', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 11:
// LD1Fourv1d, LD1Onev1d, LD1Rv1d, LD1Threev1d, LD1Twov1d, LD2Rv1d, LD3Rv...
printTypedVectorList(MI, 0, O, 1, 'd', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 12:
// LD1Fourv1d_POST, LD1Onev1d_POST, LD1Rv1d_POST, LD1Threev1d_POST, LD1Tw...
printTypedVectorList(MI, 1, O, 1, 'd', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 13:
// LD1Fourv2d, LD1Onev2d, LD1Rv2d, LD1Threev2d, LD1Twov2d, LD2Rv2d, LD2Tw...
printTypedVectorList(MI, 0, O, 2, 'd', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 14:
// LD1Fourv2d_POST, LD1Onev2d_POST, LD1Rv2d_POST, LD1Threev2d_POST, LD1Tw...
printTypedVectorList(MI, 1, O, 2, 'd', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 15:
// LD1Fourv2s, LD1Onev2s, LD1Rv2s, LD1Threev2s, LD1Twov2s, LD2Rv2s, LD2Tw...
printTypedVectorList(MI, 0, O, 2, 's', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 16:
// LD1Fourv2s_POST, LD1Onev2s_POST, LD1Rv2s_POST, LD1Threev2s_POST, LD1Tw...
printTypedVectorList(MI, 1, O, 2, 's', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 17:
// LD1Fourv4h, LD1Onev4h, LD1Rv4h, LD1Threev4h, LD1Twov4h, LD2Rv4h, LD2Tw...
printTypedVectorList(MI, 0, O, 4, 'h', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 18:
// LD1Fourv4h_POST, LD1Onev4h_POST, LD1Rv4h_POST, LD1Threev4h_POST, LD1Tw...
printTypedVectorList(MI, 1, O, 4, 'h', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 19:
// LD1Fourv4s, LD1Onev4s, LD1Rv4s, LD1Threev4s, LD1Twov4s, LD2Rv4s, LD2Tw...
printTypedVectorList(MI, 0, O, 4, 's', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 20:
// LD1Fourv4s_POST, LD1Onev4s_POST, LD1Rv4s_POST, LD1Threev4s_POST, LD1Tw...
printTypedVectorList(MI, 1, O, 4, 's', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 21:
// LD1Fourv8b, LD1Onev8b, LD1Rv8b, LD1Threev8b, LD1Twov8b, LD2Rv8b, LD2Tw...
printTypedVectorList(MI, 0, O, 8, 'b', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 22:
// LD1Fourv8b_POST, LD1Onev8b_POST, LD1Rv8b_POST, LD1Threev8b_POST, LD1Tw...
printTypedVectorList(MI, 1, O, 8, 'b', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 23:
// LD1Fourv8h, LD1Onev8h, LD1Rv8h, LD1Threev8h, LD1Twov8h, LD2Rv8h, LD2Tw...
printTypedVectorList(MI, 0, O, 8, 'h', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 1, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 24:
// LD1Fourv8h_POST, LD1Onev8h_POST, LD1Rv8h_POST, LD1Threev8h_POST, LD1Tw...
printTypedVectorList(MI, 1, O, 8, 'h', MRI);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 25:
// LD1i16, LD2i16, LD3i16, LD4i16, ST1i16_POST, ST2i16_POST, ST3i16_POST,...
printTypedVectorList(MI, 1, O, 0, 'h', MRI);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 3, O);
break;
case 26:
// LD1i16_POST, LD2i16_POST, LD3i16_POST, LD4i16_POST
printTypedVectorList(MI, 2, O, 0, 'h', MRI);
printVectorIndex(MI, 3, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 4, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 27:
// LD1i32, LD2i32, LD3i32, LD4i32, ST1i32_POST, ST2i32_POST, ST3i32_POST,...
printTypedVectorList(MI, 1, O, 0, 's', MRI);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 3, O);
break;
case 28:
// LD1i32_POST, LD2i32_POST, LD3i32_POST, LD4i32_POST
printTypedVectorList(MI, 2, O, 0, 's', MRI);
printVectorIndex(MI, 3, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 4, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 29:
// LD1i64, LD2i64, LD3i64, LD4i64, ST1i64_POST, ST2i64_POST, ST3i64_POST,...
printTypedVectorList(MI, 1, O, 0, 'd', MRI);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 3, O);
break;
case 30:
// LD1i64_POST, LD2i64_POST, LD3i64_POST, LD4i64_POST
printTypedVectorList(MI, 2, O, 0, 'd', MRI);
printVectorIndex(MI, 3, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 4, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 31:
// LD1i8, LD2i8, LD3i8, LD4i8, ST1i8_POST, ST2i8_POST, ST3i8_POST, ST4i8_...
printTypedVectorList(MI, 1, O, 0, 'b', MRI);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 3, O);
break;
case 32:
// LD1i8_POST, LD2i8_POST, LD3i8_POST, LD4i8_POST
printTypedVectorList(MI, 2, O, 0, 'b', MRI);
printVectorIndex(MI, 3, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 4, O);
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 33:
// MSR
printMSRSystemRegister(MI, 0, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 34:
// MSRpstate
printSystemPStateField(MI, 0, O);
SStream_concat0(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 35:
// PRFMl, PRFMroW, PRFMroX, PRFMui, PRFUMi
printPrefetchOp(MI, 0, O);
break;
case 36:
// ST1i16, ST2i16, ST3i16, ST4i16
printTypedVectorList(MI, 0, O, 0, 'h', MRI);
printVectorIndex(MI, 1, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 37:
// ST1i32, ST2i32, ST3i32, ST4i32
printTypedVectorList(MI, 0, O, 0, 's', MRI);
printVectorIndex(MI, 1, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 38:
// ST1i64, ST2i64, ST3i64, ST4i64
printTypedVectorList(MI, 0, O, 0, 'd', MRI);
printVectorIndex(MI, 1, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 39:
// ST1i8, ST2i8, ST3i8, ST4i8
printTypedVectorList(MI, 0, O, 0, 'b', MRI);
printVectorIndex(MI, 1, O);
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 2, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
}
// Fragment 1 encoded into 6 bits for 41 unique commands.
//printf("Frag-1: %"PRIu64"\n", (Bits >> 18) & 63);
switch ((Bits >> 18) & 63) {
default: // unreachable.
case 0:
// ABSv16i8, ADDHNv8i16_v16i8, ADDPv16i8, ADDv16i8, AESDrr, AESErr, AESIM...
SStream_concat0(O, ".16b, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_16B);
break;
case 1:
// ABSv1i64, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDPv2i64p, ADDSWri, ADDSWrs, ...
SStream_concat0(O, ", ");
break;
case 2:
// ABSv2i32, ADDHNv2i64_v2i32, ADDPv2i32, ADDv2i32, BICv2i32, CLSv2i32, C...
SStream_concat0(O, ".2s, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2S);
break;
case 3:
// ABSv2i64, ADDPv2i64, ADDv2i64, CMEQv2i64, CMEQv2i64rz, CMGEv2i64, CMGE...
SStream_concat0(O, ".2d, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
break;
case 4:
// ABSv4i16, ADDHNv4i32_v4i16, ADDPv4i16, ADDv4i16, BICv4i16, CLSv4i16, C...
SStream_concat0(O, ".4h, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4H);
break;
case 5:
// ABSv4i32, ADDHNv2i64_v4i32, ADDPv4i32, ADDv4i32, BICv4i32, CLSv4i32, C...
SStream_concat0(O, ".4s, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4S);
break;
case 6:
// ABSv8i16, ADDHNv4i32_v8i16, ADDPv8i16, ADDv8i16, BICv8i16, CLSv8i16, C...
SStream_concat0(O, ".8h, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8H);
break;
case 7:
// ABSv8i8, ADDHNv8i16_v8i8, ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8...
SStream_concat0(O, ".8b, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8B);
break;
case 8:
// BLR, BR, CLREX, RET, TLSDESCCALL
return;
break;
case 9:
// FCMPDri, FCMPEDri, FCMPESri, FCMPSri
SStream_concat0(O, ", #0.0");
arm64_op_addFP(MI, 0.0);
return;
break;
case 10:
// FMOVXDHighr, INSvi64gpr, INSvi64lane
SStream_concat0(O, ".d");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_D);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 11:
// INSvi16gpr, INSvi16lane
SStream_concat0(O, ".h");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_H);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 12:
// INSvi32gpr, INSvi32lane
SStream_concat0(O, ".s");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_S);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 13:
// INSvi8gpr, INSvi8lane
SStream_concat0(O, ".b");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_B);
printVectorIndex(MI, 2, O);
SStream_concat0(O, ", ");
break;
case 14:
// LD1Fourv16b_POST, LD1Fourv2d_POST, LD1Fourv4s_POST, LD1Fourv8h_POST, L...
printPostIncOperand2(MI, 3, O, 64);
return;
break;
case 15:
// LD1Fourv1d_POST, LD1Fourv2s_POST, LD1Fourv4h_POST, LD1Fourv8b_POST, LD...
printPostIncOperand2(MI, 3, O, 32);
return;
break;
case 16:
// LD1Onev16b_POST, LD1Onev2d_POST, LD1Onev4s_POST, LD1Onev8h_POST, LD1Tw...
printPostIncOperand2(MI, 3, O, 16);
return;
break;
case 17:
// LD1Onev1d_POST, LD1Onev2s_POST, LD1Onev4h_POST, LD1Onev8b_POST, LD1Rv1...
printPostIncOperand2(MI, 3, O, 8);
return;
break;
case 18:
// LD1Rv16b_POST, LD1Rv8b_POST
printPostIncOperand2(MI, 3, O, 1);
return;
break;
case 19:
// LD1Rv2s_POST, LD1Rv4s_POST, LD2Rv4h_POST, LD2Rv8h_POST, LD4Rv16b_POST,...
printPostIncOperand2(MI, 3, O, 4);
return;
break;
case 20:
// LD1Rv4h_POST, LD1Rv8h_POST, LD2Rv16b_POST, LD2Rv8b_POST
printPostIncOperand2(MI, 3, O, 2);
return;
break;
case 21:
// LD1Threev16b_POST, LD1Threev2d_POST, LD1Threev4s_POST, LD1Threev8h_POS...
printPostIncOperand2(MI, 3, O, 48);
return;
break;
case 22:
// LD1Threev1d_POST, LD1Threev2s_POST, LD1Threev4h_POST, LD1Threev8b_POST...
printPostIncOperand2(MI, 3, O, 24);
return;
break;
case 23:
// LD1i16, LD1i32, LD1i64, LD1i8, LD2i16, LD2i32, LD2i64, LD2i8, LD3i16, ...
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 24:
// LD1i16_POST, LD2i8_POST
printPostIncOperand2(MI, 5, O, 2);
return;
break;
case 25:
// LD1i32_POST, LD2i16_POST, LD4i8_POST
printPostIncOperand2(MI, 5, O, 4);
return;
break;
case 26:
// LD1i64_POST, LD2i32_POST, LD4i16_POST
printPostIncOperand2(MI, 5, O, 8);
return;
break;
case 27:
// LD1i8_POST
printPostIncOperand2(MI, 5, O, 1);
return;
break;
case 28:
// LD2i64_POST, LD4i32_POST
printPostIncOperand2(MI, 5, O, 16);
return;
break;
case 29:
// LD3Rv16b_POST, LD3Rv8b_POST
printPostIncOperand2(MI, 3, O, 3);
return;
break;
case 30:
// LD3Rv2s_POST, LD3Rv4s_POST
printPostIncOperand2(MI, 3, O, 12);
return;
break;
case 31:
// LD3Rv4h_POST, LD3Rv8h_POST
printPostIncOperand2(MI, 3, O, 6);
return;
break;
case 32:
// LD3i16_POST
printPostIncOperand2(MI, 5, O, 6);
return;
break;
case 33:
// LD3i32_POST
printPostIncOperand2(MI, 5, O, 12);
return;
break;
case 34:
// LD3i64_POST
printPostIncOperand2(MI, 5, O, 24);
return;
break;
case 35:
// LD3i8_POST
printPostIncOperand2(MI, 5, O, 3);
return;
break;
case 36:
// LD4i64_POST
printPostIncOperand2(MI, 5, O, 32);
return;
break;
case 37:
// LDARB, LDARH, LDARW, LDARX, LDAXRB, LDAXRH, LDAXRW, LDAXRX, LDRBBpost,...
SStream_concat0(O, ", [");
set_mem_access(MI, true);
break;
case 38:
// PMULLv1i64, PMULLv2i64
SStream_concat0(O, ".1q, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_1Q);
printVRegOperand(MI, 1, O);
break;
case 39:
// SADALPv2i32_v1i64, SADDLPv2i32_v1i64, UADALPv2i32_v1i64, UADDLPv2i32_v...
SStream_concat0(O, ".1d, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_1D);
break;
case 40:
// ST1i16_POST, ST1i32_POST, ST1i64_POST, ST1i8_POST, ST2i16_POST, ST2i32...
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
}
// Fragment 2 encoded into 5 bits for 28 unique commands.
//printf("Frag-2: %"PRIu64"\n", (Bits >> 24) & 31);
switch ((Bits >> 24) & 31) {
default: // unreachable.
case 0:
// ABSv16i8, ABSv2i32, ABSv2i64, ABSv4i16, ABSv4i32, ABSv8i16, ABSv8i8, A...
printVRegOperand(MI, 1, O);
break;
case 1:
// ABSv1i64, ADCSWr, ADCSXr, ADCWr, ADCXr, ADDSWri, ADDSWrs, ADDSWrx, ADD...
printOperand(MI, 1, O);
break;
case 2:
// ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, AESDrr, AESErr, ...
printVRegOperand(MI, 2, O);
break;
case 3:
// ADRP
printAdrpLabel(MI, 1, O);
return;
break;
case 4:
// BFMWri, BFMXri, FMLAv1i32_indexed, FMLAv1i64_indexed, FMLSv1i32_indexe...
printOperand(MI, 2, O);
break;
case 5:
// BICv2i32, BICv4i16, BICv4i32, BICv8i16, MOVKWi, MOVKXi, ORRv2i32, ORRv...
printHexImm(MI, 2, O);
printShifter(MI, 3, O);
return;
break;
case 6:
// CBNZW, CBNZX, CBZW, CBZX, LDRDl, LDRQl, LDRSWl, LDRSl, LDRWl, LDRXl, P...
printAlignedLabel(MI, 1, O);
return;
break;
case 7:
// FMOVDi, FMOVSi, FMOVv2f32_ns, FMOVv2f64_ns, FMOVv4f32_ns
printFPImmOperand(MI, 1, O);
return;
break;
case 8:
// INSvi16gpr, INSvi32gpr, INSvi64gpr, INSvi8gpr
printOperand(MI, 3, O);
return;
break;
case 9:
// INSvi16lane, INSvi32lane, INSvi64lane, INSvi8lane
printVRegOperand(MI, 3, O);
break;
case 10:
// MOVID, MOVIv2d_ns
printSIMDType10Operand(MI, 1, O);
return;
break;
case 11:
// MOVIv16b_ns, MOVIv2i32, MOVIv2s_msl, MOVIv4i16, MOVIv4i32, MOVIv4s_msl...
printHexImm(MI, 1, O);
break;
case 12:
// MRS
printMRSSystemRegister(MI, 1, O);
return;
break;
case 13:
// PMULLv1i64
SStream_concat0(O, ".1d, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_1D);
printVRegOperand(MI, 2, O);
SStream_concat0(O, ".1d");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_1D);
return;
break;
case 14:
// PMULLv2i64
SStream_concat0(O, ".2d, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
printVRegOperand(MI, 2, O);
SStream_concat0(O, ".2d");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
return;
break;
case 15:
// ST1i16_POST, ST2i8_POST
printPostIncOperand2(MI, 4, O, 2);
return;
break;
case 16:
// ST1i32_POST, ST2i16_POST, ST4i8_POST
printPostIncOperand2(MI, 4, O, 4);
return;
break;
case 17:
// ST1i64_POST, ST2i32_POST, ST4i16_POST
printPostIncOperand2(MI, 4, O, 8);
return;
break;
case 18:
// ST1i8_POST
printPostIncOperand2(MI, 4, O, 1);
return;
break;
case 19:
// ST2i64_POST, ST4i32_POST
printPostIncOperand2(MI, 4, O, 16);
return;
break;
case 20:
// ST3i16_POST
printPostIncOperand2(MI, 4, O, 6);
return;
break;
case 21:
// ST3i32_POST
printPostIncOperand2(MI, 4, O, 12);
return;
break;
case 22:
// ST3i64_POST
printPostIncOperand2(MI, 4, O, 24);
return;
break;
case 23:
// ST3i8_POST
printPostIncOperand2(MI, 4, O, 3);
return;
break;
case 24:
// ST4i64_POST
printPostIncOperand2(MI, 4, O, 32);
return;
break;
case 25:
// SYSxt
printSysCROperand(MI, 1, O);
SStream_concat0(O, ", ");
printSysCROperand(MI, 2, O);
SStream_concat0(O, ", ");
printOperand(MI, 3, O);
SStream_concat0(O, ", ");
printOperand(MI, 4, O);
return;
break;
case 26:
// TBLv16i8Four, TBLv16i8One, TBLv16i8Three, TBLv16i8Two, TBLv8i8Four, TB...
printTypedVectorList(MI, 1, O, 16, 'b', MRI);
SStream_concat0(O, ", ");
printVRegOperand(MI, 2, O);
break;
case 27:
// TBXv16i8Four, TBXv16i8One, TBXv16i8Three, TBXv16i8Two, TBXv8i8Four, TB...
printTypedVectorList(MI, 2, O, 16, 'b', MRI);
SStream_concat0(O, ", ");
printVRegOperand(MI, 3, O);
break;
}
// Fragment 3 encoded into 6 bits for 42 unique commands.
//printf("Frag-3: %"PRIu64"\n", (Bits >> 29) & 63);
switch ((Bits >> 29) & 63) {
default: // unreachable.
case 0:
// ABSv16i8, ADDVv16i8v, AESDrr, AESErr, AESIMCrr, AESMCrr, CLSv16i8, CLZ...
SStream_concat0(O, ".16b");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_16B);
return;
break;
case 1:
// ABSv1i64, ADR, CLSWr, CLSXr, CLZWr, CLZXr, DUPv16i8gpr, DUPv2i32gpr, D...
return;
break;
case 2:
// ABSv2i32, CLSv2i32, CLZv2i32, FABSv2f32, FADDPv2i32p, FCVTASv2f32, FCV...
SStream_concat0(O, ".2s");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2S);
return;
break;
case 3:
// ABSv2i64, ADDPv2i64p, FABSv2f64, FADDPv2i64p, FCVTASv2f64, FCVTAUv2f64...
SStream_concat0(O, ".2d");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
return;
break;
case 4:
// ABSv4i16, ADDVv4i16v, CLSv4i16, CLZv4i16, FCVTLv4i16, NEGv4i16, REV32v...
SStream_concat0(O, ".4h");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4H);
return;
break;
case 5:
// ABSv4i32, ADDVv4i32v, CLSv4i32, CLZv4i32, FABSv4f32, FCVTASv4f32, FCVT...
SStream_concat0(O, ".4s");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4S);
return;
break;
case 6:
// ABSv8i16, ADDVv8i16v, CLSv8i16, CLZv8i16, FCVTLv8i16, NEGv8i16, REV32v...
SStream_concat0(O, ".8h");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8H);
return;
break;
case 7:
// ABSv8i8, ADDVv8i8v, CLSv8i8, CLZv8i8, CNTv8i8, NEGv8i8, NOTv8i8, RBITv...
SStream_concat0(O, ".8b");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8B);
return;
break;
case 8:
// ADCSWr, ADCSXr, ADCWr, ADCXr, ADDSWri, ADDSWrs, ADDSWrx, ADDSXri, ADDS...
SStream_concat0(O, ", ");
break;
case 9:
// ADDHNv2i64_v2i32, ADDHNv2i64_v4i32, ADDPv2i64, ADDv2i64, CMEQv2i64, CM...
SStream_concat0(O, ".2d, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
break;
case 10:
// ADDHNv4i32_v4i16, ADDHNv4i32_v8i16, ADDPv4i32, ADDv4i32, CMEQv4i32, CM...
SStream_concat0(O, ".4s, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4S);
break;
case 11:
// ADDHNv8i16_v16i8, ADDHNv8i16_v8i8, ADDPv8i16, ADDv8i16, CMEQv8i16, CMG...
SStream_concat0(O, ".8h, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8H);
break;
case 12:
// ADDPv16i8, ADDv16i8, ANDv16i8, BICv16i8, BIFv16i8, BITv16i8, BSLv16i8,...
SStream_concat0(O, ".16b, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_16B);
break;
case 13:
// ADDPv2i32, ADDv2i32, CMEQv2i32, CMGEv2i32, CMGTv2i32, CMHIv2i32, CMHSv...
SStream_concat0(O, ".2s, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2S);
break;
case 14:
// ADDPv4i16, ADDv4i16, CMEQv4i16, CMGEv4i16, CMGTv4i16, CMHIv4i16, CMHSv...
SStream_concat0(O, ".4h, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4H);
break;
case 15:
// ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8, BITv8i8, BSLv8i8, CMEQv8...
SStream_concat0(O, ".8b, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8B);
break;
case 16:
// CMEQv16i8rz, CMGEv16i8rz, CMGTv16i8rz, CMLEv16i8rz, CMLTv16i8rz
SStream_concat0(O, ".16b, #0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_16B);
arm64_op_addFP(MI, 0.0);
return;
break;
case 17:
// CMEQv1i64rz, CMGEv1i64rz, CMGTv1i64rz, CMLEv1i64rz, CMLTv1i64rz
SStream_concat0(O, ", #0");
arm64_op_addImm(MI, 0);
return;
break;
case 18:
// CMEQv2i32rz, CMGEv2i32rz, CMGTv2i32rz, CMLEv2i32rz, CMLTv2i32rz
SStream_concat0(O, ".2s, #0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2S);
arm64_op_addImm(MI, 0);
return;
break;
case 19:
// CMEQv2i64rz, CMGEv2i64rz, CMGTv2i64rz, CMLEv2i64rz, CMLTv2i64rz
SStream_concat0(O, ".2d, #0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
arm64_op_addImm(MI, 0);
return;
break;
case 20:
// CMEQv4i16rz, CMGEv4i16rz, CMGTv4i16rz, CMLEv4i16rz, CMLTv4i16rz
SStream_concat0(O, ".4h, #0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4H);
arm64_op_addImm(MI, 0);
return;
break;
case 21:
// CMEQv4i32rz, CMGEv4i32rz, CMGTv4i32rz, CMLEv4i32rz, CMLTv4i32rz
SStream_concat0(O, ".4s, #0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4S);
arm64_op_addImm(MI, 0);
return;
break;
case 22:
// CMEQv8i16rz, CMGEv8i16rz, CMGTv8i16rz, CMLEv8i16rz, CMLTv8i16rz
SStream_concat0(O, ".8h, #0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8H);
arm64_op_addImm(MI, 0);
return;
break;
case 23:
// CMEQv8i8rz, CMGEv8i8rz, CMGTv8i8rz, CMLEv8i8rz, CMLTv8i8rz
SStream_concat0(O, ".8b, #0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8B);
arm64_op_addImm(MI, 0);
return;
break;
case 24:
// CPYi16, DUPv4i16lane, DUPv8i16lane, INSvi16lane, SMOVvi16to32, SMOVvi1...
SStream_concat0(O, ".h");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_H);
break;
case 25:
// CPYi32, DUPv2i32lane, DUPv4i32lane, INSvi32lane, SMOVvi32to64, UMOVvi3...
SStream_concat0(O, ".s");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_S);
break;
case 26:
// CPYi64, DUPv2i64lane, FMOVDXHighr, INSvi64lane, UMOVvi64
SStream_concat0(O, ".d");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_D);
break;
case 27:
// CPYi8, DUPv16i8lane, DUPv8i8lane, INSvi8lane, SMOVvi8to32, SMOVvi8to64...
SStream_concat0(O, ".b");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_B);
break;
case 28:
// FCMEQv1i32rz, FCMEQv1i64rz, FCMGEv1i32rz, FCMGEv1i64rz, FCMGTv1i32rz, ...
SStream_concat0(O, ", #0.0");
arm64_op_addFP(MI, 0.0);
return;
break;
case 29:
// FCMEQv2i32rz, FCMGEv2i32rz, FCMGTv2i32rz, FCMLEv2i32rz, FCMLTv2i32rz
SStream_concat0(O, ".2s, #0.0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2S);
arm64_op_addFP(MI, 0.0);
return;
break;
case 30:
// FCMEQv2i64rz, FCMGEv2i64rz, FCMGTv2i64rz, FCMLEv2i64rz, FCMLTv2i64rz
SStream_concat0(O, ".2d, #0.0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
arm64_op_addFP(MI, 0.0);
return;
break;
case 31:
// FCMEQv4i32rz, FCMGEv4i32rz, FCMGTv4i32rz, FCMLEv4i32rz, FCMLTv4i32rz
SStream_concat0(O, ".4s, #0.0");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4S);
arm64_op_addFP(MI, 0.0);
return;
break;
case 32:
// LDARB, LDARH, LDARW, LDARX, LDAXRB, LDAXRH, LDAXRW, LDAXRX, LDXRB, LDX...
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 33:
// LDAXPW, LDAXPX, LDNPDi, LDNPQi, LDNPSi, LDNPWi, LDNPXi, LDPDi, LDPDpos...
SStream_concat0(O, ", [");
set_mem_access(MI, true);
break;
case 34:
// LDRBBpost, LDRBpost, LDRDpost, LDRHHpost, LDRHpost, LDRQpost, LDRSBWpo...
SStream_concat0(O, "], ");
set_mem_access(MI, false);
printOperand(MI, 3, O);
return;
break;
case 35:
// MOVIv2i32, MOVIv2s_msl, MOVIv4i16, MOVIv4i32, MOVIv4s_msl, MOVIv8i16, ...
printShifter(MI, 2, O);
return;
break;
case 36:
// SHLLv16i8
SStream_concat0(O, ".16b, #8");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_16B);
arm64_op_addImm(MI, 8);
return;
break;
case 37:
// SHLLv2i32
SStream_concat0(O, ".2s, #32");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2S);
arm64_op_addImm(MI, 32);
return;
break;
case 38:
// SHLLv4i16
SStream_concat0(O, ".4h, #16");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4H);
arm64_op_addImm(MI, 16);
return;
break;
case 39:
// SHLLv4i32
SStream_concat0(O, ".4s, #32");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4S);
arm64_op_addImm(MI, 32);
return;
break;
case 40:
// SHLLv8i16
SStream_concat0(O, ".8h, #16");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8H);
arm64_op_addImm(MI, 16);
return;
break;
case 41:
// SHLLv8i8
SStream_concat0(O, ".8b, #8");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8B);
arm64_op_addImm(MI, 8);
return;
break;
}
// Fragment 4 encoded into 5 bits for 18 unique commands.
//printf("Frag-4: %"PRIu64"\n", (Bits >> 35) & 31);
switch ((Bits >> 35) & 31) {
default: // unreachable.
case 0:
// ADCSWr, ADCSXr, ADCWr, ADCXr, ADDSXrx64, ADDXrx64, ADDv1i64, ASRVWr, A...
printOperand(MI, 2, O);
break;
case 1:
// ADDHNv2i64_v2i32, ADDHNv4i32_v4i16, ADDHNv8i16_v8i8, ADDPv16i8, ADDPv2...
printVRegOperand(MI, 2, O);
break;
case 2:
// ADDHNv2i64_v4i32, ADDHNv4i32_v8i16, ADDHNv8i16_v16i8, BITv16i8, BITv8i...
printVRegOperand(MI, 3, O);
break;
case 3:
// ADDSWri, ADDSXri, ADDWri, ADDXri, SUBSWri, SUBSXri, SUBWri, SUBXri
printAddSubImm(MI, 2, O);
return;
break;
case 4:
// ADDSWrs, ADDSXrs, ADDWrs, ADDXrs, ANDSWrs, ANDSXrs, ANDWrs, ANDXrs, BI...
printShiftedRegister(MI, 2, O);
return;
break;
case 5:
// ADDSWrx, ADDSXrx, ADDWrx, ADDXrx, SUBSWrx, SUBSXrx, SUBWrx, SUBXrx
printExtendedRegister(MI, 2, O);
return;
break;
case 6:
// ANDSWri, ANDWri, EORWri, ORRWri
printLogicalImm32(MI, 2, O);
return;
break;
case 7:
// ANDSXri, ANDXri, EORXri, ORRXri
printLogicalImm64(MI, 2, O);
return;
break;
case 8:
// BFMWri, BFMXri, LDPDpost, LDPDpre, LDPQpost, LDPQpre, LDPSWpost, LDPSW...
printOperand(MI, 3, O);
break;
case 9:
// CPYi16, CPYi32, CPYi64, CPYi8, DUPv16i8lane, DUPv2i32lane, DUPv2i64lan...
printVectorIndex(MI, 2, O);
return;
break;
case 10:
// INSvi16lane, INSvi32lane, INSvi64lane, INSvi8lane
printVectorIndex(MI, 4, O);
return;
break;
case 11:
// LDRBBui, LDRBui, LDRSBWui, LDRSBXui, STRBBui, STRBui
printUImm12Offset2(MI, 2, O, 1);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 12:
// LDRDui, LDRXui, PRFMui, STRDui, STRXui
printUImm12Offset2(MI, 2, O, 8);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 13:
// LDRHHui, LDRHui, LDRSHWui, LDRSHXui, STRHHui, STRHui
printUImm12Offset2(MI, 2, O, 2);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 14:
// LDRQui, STRQui
printUImm12Offset2(MI, 2, O, 16);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 15:
// LDRSWui, LDRSui, LDRWui, STRSui, STRWui
printUImm12Offset2(MI, 2, O, 4);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 16:
// SYSLxt
printSysCROperand(MI, 2, O);
SStream_concat0(O, ", ");
printSysCROperand(MI, 3, O);
SStream_concat0(O, ", ");
printOperand(MI, 4, O);
return;
break;
case 17:
// TBNZW, TBNZX, TBZW, TBZX
printAlignedLabel(MI, 2, O);
return;
break;
}
// Fragment 5 encoded into 5 bits for 19 unique commands.
//printf("Frag-5: %"PRIu64"\n", (Bits >> 40) & 31);
switch ((Bits >> 40) & 31) {
default: // unreachable.
case 0:
// ADCSWr, ADCSXr, ADCWr, ADCXr, ADDv1i64, ASRVWr, ASRVXr, CMEQv1i64, CMG...
return;
break;
case 1:
// ADDHNv2i64_v2i32, ADDHNv2i64_v4i32, ADDPv2i64, ADDv2i64, CMEQv2i64, CM...
SStream_concat0(O, ".2d");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2D);
return;
break;
case 2:
// ADDHNv4i32_v4i16, ADDHNv4i32_v8i16, ADDPv4i32, ADDv4i32, CMEQv4i32, CM...
SStream_concat0(O, ".4s");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4S);
return;
break;
case 3:
// ADDHNv8i16_v16i8, ADDHNv8i16_v8i8, ADDPv8i16, ADDv8i16, CMEQv8i16, CMG...
SStream_concat0(O, ".8h");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8H);
return;
break;
case 4:
// ADDPv16i8, ADDv16i8, ANDv16i8, BICv16i8, BIFv16i8, BITv16i8, BSLv16i8,...
SStream_concat0(O, ".16b");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_16B);
return;
break;
case 5:
// ADDPv2i32, ADDv2i32, CMEQv2i32, CMGEv2i32, CMGTv2i32, CMHIv2i32, CMHSv...
SStream_concat0(O, ".2s");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_2S);
return;
break;
case 6:
// ADDPv4i16, ADDv4i16, CMEQv4i16, CMGEv4i16, CMGTv4i16, CMHIv4i16, CMHSv...
SStream_concat0(O, ".4h");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_4H);
return;
break;
case 7:
// ADDPv8i8, ADDv8i8, ANDv8i8, BICv8i8, BIFv8i8, BITv8i8, BSLv8i8, CMEQv8...
SStream_concat0(O, ".8b");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8B);
return;
break;
case 8:
// ADDSXrx64, ADDXrx64, SUBSXrx64, SUBXrx64
printArithExtend(MI, 3, O);
return;
break;
case 9:
// BFMWri, BFMXri, CCMNWi, CCMNWr, CCMNXi, CCMNXr, CCMPWi, CCMPWr, CCMPXi...
SStream_concat0(O, ", ");
break;
case 10:
// EXTv16i8
SStream_concat0(O, ".16b, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_16B);
printOperand(MI, 3, O);
return;
break;
case 11:
// EXTv8i8
SStream_concat0(O, ".8b, ");
arm64_op_addVectorArrSpecifier(MI, ARM64_VAS_8B);
printOperand(MI, 3, O);
return;
break;
case 12:
// FMLAv1i32_indexed, FMLAv2i32_indexed, FMLAv4i32_indexed, FMLSv1i32_ind...
SStream_concat0(O, ".s");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_S);
break;
case 13:
// FMLAv1i64_indexed, FMLAv2i64_indexed, FMLSv1i64_indexed, FMLSv2i64_ind...
SStream_concat0(O, ".d");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_D);
break;
case 14:
// LDAXPW, LDAXPX, LDTRBi, LDTRHi, LDTRSBWi, LDTRSBXi, LDTRSHWi, LDTRSHXi...
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 15:
// LDPDpost, LDPQpost, LDPSWpost, LDPSpost, LDPWpost, LDPXpost, STPDpost,...
SStream_concat0(O, "], ");
set_mem_access(MI, false);
break;
case 16:
// LDRBBpre, LDRBpre, LDRDpre, LDRHHpre, LDRHpre, LDRQpre, LDRSBWpre, LDR...
SStream_concat0(O, "]!");
set_mem_access(MI, false);
return;
break;
case 17:
// MLAv4i16_indexed, MLAv8i16_indexed, MLSv4i16_indexed, MLSv8i16_indexed...
SStream_concat0(O, ".h");
arm64_op_addVectorElementSizeSpecifier(MI, ARM64_VESS_H);
break;
case 18:
// STLXPW, STLXPX, STXPW, STXPX
SStream_concat0(O, ", [");
set_mem_access(MI, true);
printOperand(MI, 3, O);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
}
// Fragment 6 encoded into 5 bits for 21 unique commands.
//printf("Frag-6: %"PRIu64"\n", (Bits >> 45) & 31);
switch ((Bits >> 45) & 31) {
default: // unreachable.
case 0:
// BFMWri, BFMXri
printOperand(MI, 4, O);
return;
break;
case 1:
// CCMNWi, CCMNWr, CCMNXi, CCMNXr, CCMPWi, CCMPWr, CCMPXi, CCMPXr, CSELWr...
printCondCode(MI, 3, O);
return;
break;
case 2:
// EXTRWrri, EXTRXrri, FMADDDrrr, FMADDSrrr, FMSUBDrrr, FMSUBSrrr, FNMADD...
printOperand(MI, 3, O);
return;
break;
case 3:
// FMLAv1i32_indexed, FMLAv1i64_indexed, FMLAv2i32_indexed, FMLAv2i64_ind...
printVectorIndex(MI, 4, O);
return;
break;
case 4:
// FMULXv1i32_indexed, FMULXv1i64_indexed, FMULXv2i32_indexed, FMULXv2i64...
printVectorIndex(MI, 3, O);
return;
break;
case 5:
// LDNPDi, LDNPXi, LDPDi, LDPXi, STNPDi, STNPXi, STPDi, STPXi
printImmScale(MI, 3, O, 8);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 6:
// LDNPQi, LDPQi, STNPQi, STPQi
printImmScale(MI, 3, O, 16);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 7:
// LDNPSi, LDNPWi, LDPSWi, LDPSi, LDPWi, STNPSi, STNPWi, STPSi, STPWi
printImmScale(MI, 3, O, 4);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 8:
// LDPDpost, LDPDpre, LDPXpost, LDPXpre, STPDpost, STPDpre, STPXpost, STP...
printImmScale(MI, 4, O, 8);
break;
case 9:
// LDPQpost, LDPQpre, STPQpost, STPQpre
printImmScale(MI, 4, O, 16);
break;
case 10:
// LDPSWpost, LDPSWpre, LDPSpost, LDPSpre, LDPWpost, LDPWpre, STPSpost, S...
printImmScale(MI, 4, O, 4);
break;
case 11:
// LDRBBroW, LDRBroW, LDRSBWroW, LDRSBXroW, STRBBroW, STRBroW
printMemExtend(MI, 3, O, 'w', 8);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 12:
// LDRBBroX, LDRBroX, LDRSBWroX, LDRSBXroX, STRBBroX, STRBroX
printMemExtend(MI, 3, O, 'x', 8);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 13:
// LDRDroW, LDRXroW, PRFMroW, STRDroW, STRXroW
printMemExtend(MI, 3, O, 'w', 64);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 14:
// LDRDroX, LDRXroX, PRFMroX, STRDroX, STRXroX
printMemExtend(MI, 3, O, 'x', 64);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 15:
// LDRHHroW, LDRHroW, LDRSHWroW, LDRSHXroW, STRHHroW, STRHroW
printMemExtend(MI, 3, O, 'w', 16);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 16:
// LDRHHroX, LDRHroX, LDRSHWroX, LDRSHXroX, STRHHroX, STRHroX
printMemExtend(MI, 3, O, 'x', 16);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 17:
// LDRQroW, STRQroW
printMemExtend(MI, 3, O, 'w', 128);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 18:
// LDRQroX, STRQroX
printMemExtend(MI, 3, O, 'x', 128);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 19:
// LDRSWroW, LDRSroW, LDRWroW, STRSroW, STRWroW
printMemExtend(MI, 3, O, 'w', 32);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
case 20:
// LDRSWroX, LDRSroX, LDRWroX, STRSroX, STRWroX
printMemExtend(MI, 3, O, 'x', 32);
SStream_concat0(O, "]");
set_mem_access(MI, false);
return;
break;
}
// Fragment 7 encoded into 1 bits for 2 unique commands.
//printf("Frag-7: %"PRIu64"\n", (Bits >> 50) & 1);
if ((Bits >> 50) & 1) {
// LDPDpre, LDPQpre, LDPSWpre, LDPSpre, LDPWpre, LDPXpre, STPDpre, STPQpr...
SStream_concat0(O, "]!");
set_mem_access(MI, false);
return;
} else {
// LDPDpost, LDPQpost, LDPSWpost, LDPSpost, LDPWpost, LDPXpost, STPDpost,...
return;
}
}
/// getRegisterName - This method is automatically generated by tblgen
/// from the register set description. This returns the assembler name
/// for the specified register.
static const char *getRegisterName(unsigned RegNo, int AltIdx)
{
// assert(RegNo && RegNo < 420 && "Invalid register number!");
#ifndef CAPSTONE_DIET
static const char AsmStrsNoRegAltName[] = {
/* 0 */ 'D', '7', '_', 'D', '8', '_', 'D', '9', '_', 'D', '1', '0', 0,
/* 13 */ 'Q', '7', '_', 'Q', '8', '_', 'Q', '9', '_', 'Q', '1', '0', 0,
/* 26 */ 'b', '1', '0', 0,
/* 30 */ 'd', '1', '0', 0,
/* 34 */ 'h', '1', '0', 0,
/* 38 */ 'q', '1', '0', 0,
/* 42 */ 's', '1', '0', 0,
/* 46 */ 'w', '1', '0', 0,
/* 50 */ 'x', '1', '0', 0,
/* 54 */ 'D', '1', '7', '_', 'D', '1', '8', '_', 'D', '1', '9', '_', 'D', '2', '0', 0,
/* 70 */ 'Q', '1', '7', '_', 'Q', '1', '8', '_', 'Q', '1', '9', '_', 'Q', '2', '0', 0,
/* 86 */ 'b', '2', '0', 0,
/* 90 */ 'd', '2', '0', 0,
/* 94 */ 'h', '2', '0', 0,
/* 98 */ 'q', '2', '0', 0,
/* 102 */ 's', '2', '0', 0,
/* 106 */ 'w', '2', '0', 0,
/* 110 */ 'x', '2', '0', 0,
/* 114 */ 'D', '2', '7', '_', 'D', '2', '8', '_', 'D', '2', '9', '_', 'D', '3', '0', 0,
/* 130 */ 'Q', '2', '7', '_', 'Q', '2', '8', '_', 'Q', '2', '9', '_', 'Q', '3', '0', 0,
/* 146 */ 'b', '3', '0', 0,
/* 150 */ 'd', '3', '0', 0,
/* 154 */ 'h', '3', '0', 0,
/* 158 */ 'q', '3', '0', 0,
/* 162 */ 's', '3', '0', 0,
/* 166 */ 'w', '3', '0', 0,
/* 170 */ 'x', '3', '0', 0,
/* 174 */ 'D', '2', '9', '_', 'D', '3', '0', '_', 'D', '3', '1', '_', 'D', '0', 0,
/* 189 */ 'Q', '2', '9', '_', 'Q', '3', '0', '_', 'Q', '3', '1', '_', 'Q', '0', 0,
/* 204 */ 'b', '0', 0,
/* 207 */ 'd', '0', 0,
/* 210 */ 'h', '0', 0,
/* 213 */ 'q', '0', 0,
/* 216 */ 's', '0', 0,
/* 219 */ 'w', '0', 0,
/* 222 */ 'x', '0', 0,
/* 225 */ 'D', '8', '_', 'D', '9', '_', 'D', '1', '0', '_', 'D', '1', '1', 0,
/* 239 */ 'Q', '8', '_', 'Q', '9', '_', 'Q', '1', '0', '_', 'Q', '1', '1', 0,
/* 253 */ 'b', '1', '1', 0,
/* 257 */ 'd', '1', '1', 0,
/* 261 */ 'h', '1', '1', 0,
/* 265 */ 'q', '1', '1', 0,
/* 269 */ 's', '1', '1', 0,
/* 273 */ 'w', '1', '1', 0,
/* 277 */ 'x', '1', '1', 0,
/* 281 */ 'D', '1', '8', '_', 'D', '1', '9', '_', 'D', '2', '0', '_', 'D', '2', '1', 0,
/* 297 */ 'Q', '1', '8', '_', 'Q', '1', '9', '_', 'Q', '2', '0', '_', 'Q', '2', '1', 0,
/* 313 */ 'b', '2', '1', 0,
/* 317 */ 'd', '2', '1', 0,
/* 321 */ 'h', '2', '1', 0,
/* 325 */ 'q', '2', '1', 0,
/* 329 */ 's', '2', '1', 0,
/* 333 */ 'w', '2', '1', 0,
/* 337 */ 'x', '2', '1', 0,
/* 341 */ 'D', '2', '8', '_', 'D', '2', '9', '_', 'D', '3', '0', '_', 'D', '3', '1', 0,
/* 357 */ 'Q', '2', '8', '_', 'Q', '2', '9', '_', 'Q', '3', '0', '_', 'Q', '3', '1', 0,
/* 373 */ 'b', '3', '1', 0,
/* 377 */ 'd', '3', '1', 0,
/* 381 */ 'h', '3', '1', 0,
/* 385 */ 'q', '3', '1', 0,
/* 389 */ 's', '3', '1', 0,
/* 393 */ 'D', '3', '0', '_', 'D', '3', '1', '_', 'D', '0', '_', 'D', '1', 0,
/* 407 */ 'Q', '3', '0', '_', 'Q', '3', '1', '_', 'Q', '0', '_', 'Q', '1', 0,
/* 421 */ 'b', '1', 0,
/* 424 */ 'd', '1', 0,
/* 427 */ 'h', '1', 0,
/* 430 */ 'q', '1', 0,
/* 433 */ 's', '1', 0,
/* 436 */ 'w', '1', 0,
/* 439 */ 'x', '1', 0,
/* 442 */ 'D', '9', '_', 'D', '1', '0', '_', 'D', '1', '1', '_', 'D', '1', '2', 0,
/* 457 */ 'Q', '9', '_', 'Q', '1', '0', '_', 'Q', '1', '1', '_', 'Q', '1', '2', 0,
/* 472 */ 'b', '1', '2', 0,
/* 476 */ 'd', '1', '2', 0,
/* 480 */ 'h', '1', '2', 0,
/* 484 */ 'q', '1', '2', 0,
/* 488 */ 's', '1', '2', 0,
/* 492 */ 'w', '1', '2', 0,
/* 496 */ 'x', '1', '2', 0,
/* 500 */ 'D', '1', '9', '_', 'D', '2', '0', '_', 'D', '2', '1', '_', 'D', '2', '2', 0,
/* 516 */ 'Q', '1', '9', '_', 'Q', '2', '0', '_', 'Q', '2', '1', '_', 'Q', '2', '2', 0,
/* 532 */ 'b', '2', '2', 0,
/* 536 */ 'd', '2', '2', 0,
/* 540 */ 'h', '2', '2', 0,
/* 544 */ 'q', '2', '2', 0,
/* 548 */ 's', '2', '2', 0,
/* 552 */ 'w', '2', '2', 0,
/* 556 */ 'x', '2', '2', 0,
/* 560 */ 'D', '3', '1', '_', 'D', '0', '_', 'D', '1', '_', 'D', '2', 0,
/* 573 */ 'Q', '3', '1', '_', 'Q', '0', '_', 'Q', '1', '_', 'Q', '2', 0,
/* 586 */ 'b', '2', 0,
/* 589 */ 'd', '2', 0,
/* 592 */ 'h', '2', 0,
/* 595 */ 'q', '2', 0,
/* 598 */ 's', '2', 0,
/* 601 */ 'w', '2', 0,
/* 604 */ 'x', '2', 0,
/* 607 */ 'D', '1', '0', '_', 'D', '1', '1', '_', 'D', '1', '2', '_', 'D', '1', '3', 0,
/* 623 */ 'Q', '1', '0', '_', 'Q', '1', '1', '_', 'Q', '1', '2', '_', 'Q', '1', '3', 0,
/* 639 */ 'b', '1', '3', 0,
/* 643 */ 'd', '1', '3', 0,
/* 647 */ 'h', '1', '3', 0,
/* 651 */ 'q', '1', '3', 0,
/* 655 */ 's', '1', '3', 0,
/* 659 */ 'w', '1', '3', 0,
/* 663 */ 'x', '1', '3', 0,
/* 667 */ 'D', '2', '0', '_', 'D', '2', '1', '_', 'D', '2', '2', '_', 'D', '2', '3', 0,
/* 683 */ 'Q', '2', '0', '_', 'Q', '2', '1', '_', 'Q', '2', '2', '_', 'Q', '2', '3', 0,
/* 699 */ 'b', '2', '3', 0,
/* 703 */ 'd', '2', '3', 0,
/* 707 */ 'h', '2', '3', 0,
/* 711 */ 'q', '2', '3', 0,
/* 715 */ 's', '2', '3', 0,
/* 719 */ 'w', '2', '3', 0,
/* 723 */ 'x', '2', '3', 0,
/* 727 */ 'D', '0', '_', 'D', '1', '_', 'D', '2', '_', 'D', '3', 0,
/* 739 */ 'Q', '0', '_', 'Q', '1', '_', 'Q', '2', '_', 'Q', '3', 0,
/* 751 */ 'b', '3', 0,
/* 754 */ 'd', '3', 0,
/* 757 */ 'h', '3', 0,
/* 760 */ 'q', '3', 0,
/* 763 */ 's', '3', 0,
/* 766 */ 'w', '3', 0,
/* 769 */ 'x', '3', 0,
/* 772 */ 'D', '1', '1', '_', 'D', '1', '2', '_', 'D', '1', '3', '_', 'D', '1', '4', 0,
/* 788 */ 'Q', '1', '1', '_', 'Q', '1', '2', '_', 'Q', '1', '3', '_', 'Q', '1', '4', 0,
/* 804 */ 'b', '1', '4', 0,
/* 808 */ 'd', '1', '4', 0,
/* 812 */ 'h', '1', '4', 0,
/* 816 */ 'q', '1', '4', 0,
/* 820 */ 's', '1', '4', 0,
/* 824 */ 'w', '1', '4', 0,
/* 828 */ 'x', '1', '4', 0,
/* 832 */ 'D', '2', '1', '_', 'D', '2', '2', '_', 'D', '2', '3', '_', 'D', '2', '4', 0,
/* 848 */ 'Q', '2', '1', '_', 'Q', '2', '2', '_', 'Q', '2', '3', '_', 'Q', '2', '4', 0,
/* 864 */ 'b', '2', '4', 0,
/* 868 */ 'd', '2', '4', 0,
/* 872 */ 'h', '2', '4', 0,
/* 876 */ 'q', '2', '4', 0,
/* 880 */ 's', '2', '4', 0,
/* 884 */ 'w', '2', '4', 0,
/* 888 */ 'x', '2', '4', 0,
/* 892 */ 'D', '1', '_', 'D', '2', '_', 'D', '3', '_', 'D', '4', 0,
/* 904 */ 'Q', '1', '_', 'Q', '2', '_', 'Q', '3', '_', 'Q', '4', 0,
/* 916 */ 'b', '4', 0,
/* 919 */ 'd', '4', 0,
/* 922 */ 'h', '4', 0,
/* 925 */ 'q', '4', 0,
/* 928 */ 's', '4', 0,
/* 931 */ 'w', '4', 0,
/* 934 */ 'x', '4', 0,
/* 937 */ 'D', '1', '2', '_', 'D', '1', '3', '_', 'D', '1', '4', '_', 'D', '1', '5', 0,
/* 953 */ 'Q', '1', '2', '_', 'Q', '1', '3', '_', 'Q', '1', '4', '_', 'Q', '1', '5', 0,
/* 969 */ 'b', '1', '5', 0,
/* 973 */ 'd', '1', '5', 0,
/* 977 */ 'h', '1', '5', 0,
/* 981 */ 'q', '1', '5', 0,
/* 985 */ 's', '1', '5', 0,
/* 989 */ 'w', '1', '5', 0,
/* 993 */ 'x', '1', '5', 0,
/* 997 */ 'D', '2', '2', '_', 'D', '2', '3', '_', 'D', '2', '4', '_', 'D', '2', '5', 0,
/* 1013 */ 'Q', '2', '2', '_', 'Q', '2', '3', '_', 'Q', '2', '4', '_', 'Q', '2', '5', 0,
/* 1029 */ 'b', '2', '5', 0,
/* 1033 */ 'd', '2', '5', 0,
/* 1037 */ 'h', '2', '5', 0,
/* 1041 */ 'q', '2', '5', 0,
/* 1045 */ 's', '2', '5', 0,
/* 1049 */ 'w', '2', '5', 0,
/* 1053 */ 'x', '2', '5', 0,
/* 1057 */ 'D', '2', '_', 'D', '3', '_', 'D', '4', '_', 'D', '5', 0,
/* 1069 */ 'Q', '2', '_', 'Q', '3', '_', 'Q', '4', '_', 'Q', '5', 0,
/* 1081 */ 'b', '5', 0,
/* 1084 */ 'd', '5', 0,
/* 1087 */ 'h', '5', 0,
/* 1090 */ 'q', '5', 0,
/* 1093 */ 's', '5', 0,
/* 1096 */ 'w', '5', 0,
/* 1099 */ 'x', '5', 0,
/* 1102 */ 'D', '1', '3', '_', 'D', '1', '4', '_', 'D', '1', '5', '_', 'D', '1', '6', 0,
/* 1118 */ 'Q', '1', '3', '_', 'Q', '1', '4', '_', 'Q', '1', '5', '_', 'Q', '1', '6', 0,
/* 1134 */ 'b', '1', '6', 0,
/* 1138 */ 'd', '1', '6', 0,
/* 1142 */ 'h', '1', '6', 0,
/* 1146 */ 'q', '1', '6', 0,
/* 1150 */ 's', '1', '6', 0,
/* 1154 */ 'w', '1', '6', 0,
/* 1158 */ 'x', '1', '6', 0,
/* 1162 */ 'D', '2', '3', '_', 'D', '2', '4', '_', 'D', '2', '5', '_', 'D', '2', '6', 0,
/* 1178 */ 'Q', '2', '3', '_', 'Q', '2', '4', '_', 'Q', '2', '5', '_', 'Q', '2', '6', 0,
/* 1194 */ 'b', '2', '6', 0,
/* 1198 */ 'd', '2', '6', 0,
/* 1202 */ 'h', '2', '6', 0,
/* 1206 */ 'q', '2', '6', 0,
/* 1210 */ 's', '2', '6', 0,
/* 1214 */ 'w', '2', '6', 0,
/* 1218 */ 'x', '2', '6', 0,
/* 1222 */ 'D', '3', '_', 'D', '4', '_', 'D', '5', '_', 'D', '6', 0,
/* 1234 */ 'Q', '3', '_', 'Q', '4', '_', 'Q', '5', '_', 'Q', '6', 0,
/* 1246 */ 'b', '6', 0,
/* 1249 */ 'd', '6', 0,
/* 1252 */ 'h', '6', 0,
/* 1255 */ 'q', '6', 0,
/* 1258 */ 's', '6', 0,
/* 1261 */ 'w', '6', 0,
/* 1264 */ 'x', '6', 0,
/* 1267 */ 'D', '1', '4', '_', 'D', '1', '5', '_', 'D', '1', '6', '_', 'D', '1', '7', 0,
/* 1283 */ 'Q', '1', '4', '_', 'Q', '1', '5', '_', 'Q', '1', '6', '_', 'Q', '1', '7', 0,
/* 1299 */ 'b', '1', '7', 0,
/* 1303 */ 'd', '1', '7', 0,
/* 1307 */ 'h', '1', '7', 0,
/* 1311 */ 'q', '1', '7', 0,
/* 1315 */ 's', '1', '7', 0,
/* 1319 */ 'w', '1', '7', 0,
/* 1323 */ 'x', '1', '7', 0,
/* 1327 */ 'D', '2', '4', '_', 'D', '2', '5', '_', 'D', '2', '6', '_', 'D', '2', '7', 0,
/* 1343 */ 'Q', '2', '4', '_', 'Q', '2', '5', '_', 'Q', '2', '6', '_', 'Q', '2', '7', 0,
/* 1359 */ 'b', '2', '7', 0,
/* 1363 */ 'd', '2', '7', 0,
/* 1367 */ 'h', '2', '7', 0,
/* 1371 */ 'q', '2', '7', 0,
/* 1375 */ 's', '2', '7', 0,
/* 1379 */ 'w', '2', '7', 0,
/* 1383 */ 'x', '2', '7', 0,
/* 1387 */ 'D', '4', '_', 'D', '5', '_', 'D', '6', '_', 'D', '7', 0,
/* 1399 */ 'Q', '4', '_', 'Q', '5', '_', 'Q', '6', '_', 'Q', '7', 0,
/* 1411 */ 'b', '7', 0,
/* 1414 */ 'd', '7', 0,
/* 1417 */ 'h', '7', 0,
/* 1420 */ 'q', '7', 0,
/* 1423 */ 's', '7', 0,
/* 1426 */ 'w', '7', 0,
/* 1429 */ 'x', '7', 0,
/* 1432 */ 'D', '1', '5', '_', 'D', '1', '6', '_', 'D', '1', '7', '_', 'D', '1', '8', 0,
/* 1448 */ 'Q', '1', '5', '_', 'Q', '1', '6', '_', 'Q', '1', '7', '_', 'Q', '1', '8', 0,
/* 1464 */ 'b', '1', '8', 0,
/* 1468 */ 'd', '1', '8', 0,
/* 1472 */ 'h', '1', '8', 0,
/* 1476 */ 'q', '1', '8', 0,
/* 1480 */ 's', '1', '8', 0,
/* 1484 */ 'w', '1', '8', 0,
/* 1488 */ 'x', '1', '8', 0,
/* 1492 */ 'D', '2', '5', '_', 'D', '2', '6', '_', 'D', '2', '7', '_', 'D', '2', '8', 0,
/* 1508 */ 'Q', '2', '5', '_', 'Q', '2', '6', '_', 'Q', '2', '7', '_', 'Q', '2', '8', 0,
/* 1524 */ 'b', '2', '8', 0,
/* 1528 */ 'd', '2', '8', 0,
/* 1532 */ 'h', '2', '8', 0,
/* 1536 */ 'q', '2', '8', 0,
/* 1540 */ 's', '2', '8', 0,
/* 1544 */ 'w', '2', '8', 0,
/* 1548 */ 'x', '2', '8', 0,
/* 1552 */ 'D', '5', '_', 'D', '6', '_', 'D', '7', '_', 'D', '8', 0,
/* 1564 */ 'Q', '5', '_', 'Q', '6', '_', 'Q', '7', '_', 'Q', '8', 0,
/* 1576 */ 'b', '8', 0,
/* 1579 */ 'd', '8', 0,
/* 1582 */ 'h', '8', 0,
/* 1585 */ 'q', '8', 0,
/* 1588 */ 's', '8', 0,
/* 1591 */ 'w', '8', 0,
/* 1594 */ 'x', '8', 0,
/* 1597 */ 'D', '1', '6', '_', 'D', '1', '7', '_', 'D', '1', '8', '_', 'D', '1', '9', 0,
/* 1613 */ 'Q', '1', '6', '_', 'Q', '1', '7', '_', 'Q', '1', '8', '_', 'Q', '1', '9', 0,
/* 1629 */ 'b', '1', '9', 0,
/* 1633 */ 'd', '1', '9', 0,
/* 1637 */ 'h', '1', '9', 0,
/* 1641 */ 'q', '1', '9', 0,
/* 1645 */ 's', '1', '9', 0,
/* 1649 */ 'w', '1', '9', 0,
/* 1653 */ 'x', '1', '9', 0,
/* 1657 */ 'D', '2', '6', '_', 'D', '2', '7', '_', 'D', '2', '8', '_', 'D', '2', '9', 0,
/* 1673 */ 'Q', '2', '6', '_', 'Q', '2', '7', '_', 'Q', '2', '8', '_', 'Q', '2', '9', 0,
/* 1689 */ 'b', '2', '9', 0,
/* 1693 */ 'd', '2', '9', 0,
/* 1697 */ 'h', '2', '9', 0,
/* 1701 */ 'q', '2', '9', 0,
/* 1705 */ 's', '2', '9', 0,
/* 1709 */ 'w', '2', '9', 0,
/* 1713 */ 'x', '2', '9', 0,
/* 1717 */ 'D', '6', '_', 'D', '7', '_', 'D', '8', '_', 'D', '9', 0,
/* 1729 */ 'Q', '6', '_', 'Q', '7', '_', 'Q', '8', '_', 'Q', '9', 0,
/* 1741 */ 'b', '9', 0,
/* 1744 */ 'd', '9', 0,
/* 1747 */ 'h', '9', 0,
/* 1750 */ 'q', '9', 0,
/* 1753 */ 's', '9', 0,
/* 1756 */ 'w', '9', 0,
/* 1759 */ 'x', '9', 0,
/* 1762 */ 'w', 's', 'p', 0,
/* 1766 */ 'w', 'z', 'r', 0,
/* 1770 */ 'x', 'z', 'r', 0,
/* 1774 */ 'n', 'z', 'c', 'v', 0,
};
static const uint32_t RegAsmOffsetNoRegAltName[] = {
1713, 170, 1774, 1763, 1762, 1766, 1770, 204, 421, 586, 751, 916, 1081, 1246,
1411, 1576, 1741, 26, 253, 472, 639, 804, 969, 1134, 1299, 1464, 1629, 86,
313, 532, 699, 864, 1029, 1194, 1359, 1524, 1689, 146, 373, 207, 424, 589,
754, 919, 1084, 1249, 1414, 1579, 1744, 30, 257, 476, 643, 808, 973, 1138,
1303, 1468, 1633, 90, 317, 536, 703, 868, 1033, 1198, 1363, 1528, 1693, 150,
377, 210, 427, 592, 757, 922, 1087, 1252, 1417, 1582, 1747, 34, 261, 480,
647, 812, 977, 1142, 1307, 1472, 1637, 94, 321, 540, 707, 872, 1037, 1202,
1367, 1532, 1697, 154, 381, 213, 430, 595, 760, 925, 1090, 1255, 1420, 1585,
1750, 38, 265, 484, 651, 816, 981, 1146, 1311, 1476, 1641, 98, 325, 544,
711, 876, 1041, 1206, 1371, 1536, 1701, 158, 385, 216, 433, 598, 763, 928,
1093, 1258, 1423, 1588, 1753, 42, 269, 488, 655, 820, 985, 1150, 1315, 1480,
1645, 102, 329, 548, 715, 880, 1045, 1210, 1375, 1540, 1705, 162, 389, 219,
436, 601, 766, 931, 1096, 1261, 1426, 1591, 1756, 46, 273, 492, 659, 824,
989, 1154, 1319, 1484, 1649, 106, 333, 552, 719, 884, 1049, 1214, 1379, 1544,
1709, 166, 222, 439, 604, 769, 934, 1099, 1264, 1429, 1594, 1759, 50, 277,
496, 663, 828, 993, 1158, 1323, 1488, 1653, 110, 337, 556, 723, 888, 1053,
1218, 1383, 1548, 401, 567, 733, 898, 1063, 1228, 1393, 1558, 1723, 6, 231,
449, 615, 780, 945, 1110, 1275, 1440, 1605, 62, 289, 508, 675, 840, 1005,
1170, 1335, 1500, 1665, 122, 349, 182, 727, 892, 1057, 1222, 1387, 1552, 1717,
0, 225, 442, 607, 772, 937, 1102, 1267, 1432, 1597, 54, 281, 500, 667,
832, 997, 1162, 1327, 1492, 1657, 114, 341, 174, 393, 560, 564, 730, 895,
1060, 1225, 1390, 1555, 1720, 3, 228, 445, 611, 776, 941, 1106, 1271, 1436,
1601, 58, 285, 504, 671, 836, 1001, 1166, 1331, 1496, 1661, 118, 345, 178,
397, 415, 580, 745, 910, 1075, 1240, 1405, 1570, 1735, 19, 245, 464, 631,
796, 961, 1126, 1291, 1456, 1621, 78, 305, 524, 691, 856, 1021, 1186, 1351,
1516, 1681, 138, 365, 197, 739, 904, 1069, 1234, 1399, 1564, 1729, 13, 239,
457, 623, 788, 953, 1118, 1283, 1448, 1613, 70, 297, 516, 683, 848, 1013,
1178, 1343, 1508, 1673, 130, 357, 189, 407, 573, 577, 742, 907, 1072, 1237,
1402, 1567, 1732, 16, 242, 460, 627, 792, 957, 1122, 1287, 1452, 1617, 74,
301, 520, 687, 852, 1017, 1182, 1347, 1512, 1677, 134, 361, 193, 411,
};
static const char AsmStrsvreg[] = {
/* 0 */ 'v', '1', '0', 0,
/* 4 */ 'v', '2', '0', 0,
/* 8 */ 'v', '3', '0', 0,
/* 12 */ 'v', '0', 0,
/* 15 */ 'v', '1', '1', 0,
/* 19 */ 'v', '2', '1', 0,
/* 23 */ 'v', '3', '1', 0,
/* 27 */ 'v', '1', 0,
/* 30 */ 'v', '1', '2', 0,
/* 34 */ 'v', '2', '2', 0,
/* 38 */ 'v', '2', 0,
/* 41 */ 'v', '1', '3', 0,
/* 45 */ 'v', '2', '3', 0,
/* 49 */ 'v', '3', 0,
/* 52 */ 'v', '1', '4', 0,
/* 56 */ 'v', '2', '4', 0,
/* 60 */ 'v', '4', 0,
/* 63 */ 'v', '1', '5', 0,
/* 67 */ 'v', '2', '5', 0,
/* 71 */ 'v', '5', 0,
/* 74 */ 'v', '1', '6', 0,
/* 78 */ 'v', '2', '6', 0,
/* 82 */ 'v', '6', 0,
/* 85 */ 'v', '1', '7', 0,
/* 89 */ 'v', '2', '7', 0,
/* 93 */ 'v', '7', 0,
/* 96 */ 'v', '1', '8', 0,
/* 100 */ 'v', '2', '8', 0,
/* 104 */ 'v', '8', 0,
/* 107 */ 'v', '1', '9', 0,
/* 111 */ 'v', '2', '9', 0,
/* 115 */ 'v', '9', 0,
};
static const uint32_t RegAsmOffsetvreg[] = {
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 12, 27, 38,
49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41, 52, 63, 74,
85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89, 100, 111, 8,
23, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 12, 27, 38, 49, 60, 71, 82, 93, 104,
115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, 4, 19, 34,
45, 56, 67, 78, 89, 100, 111, 8, 23, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 12, 27, 38, 49, 60, 71, 82, 93, 104, 115, 0,
15, 30, 41, 52, 63, 74, 85, 96, 107, 4, 19, 34, 45, 56,
67, 78, 89, 100, 111, 8, 23, 12, 27, 38, 49, 60, 71, 82,
93, 104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, 4,
19, 34, 45, 56, 67, 78, 89, 100, 111, 8, 23, 12, 27, 38,
49, 60, 71, 82, 93, 104, 115, 0, 15, 30, 41, 52, 63, 74,
85, 96, 107, 4, 19, 34, 45, 56, 67, 78, 89, 100, 111, 8,
23, 12, 27, 38, 49, 60, 71, 82, 93, 104, 115, 0, 15, 30,
41, 52, 63, 74, 85, 96, 107, 4, 19, 34, 45, 56, 67, 78,
89, 100, 111, 8, 23, 12, 27, 38, 49, 60, 71, 82, 93, 104,
115, 0, 15, 30, 41, 52, 63, 74, 85, 96, 107, 4, 19, 34,
45, 56, 67, 78, 89, 100, 111, 8, 23, 12, 27, 38, 49, 60,
71, 82, 93, 104, 115, 0, 15, 30, 41, 52, 63, 74, 85, 96,
107, 4, 19, 34, 45, 56, 67, 78, 89, 100, 111, 8, 23,
};
const uint32_t *RegAsmOffset;
const char *AsmStrs;
switch(AltIdx) {
default: // llvm_unreachable("Invalid register alt name index!");
case AArch64_NoRegAltName:
AsmStrs = AsmStrsNoRegAltName;
RegAsmOffset = RegAsmOffsetNoRegAltName;
break;
case AArch64_vreg:
AsmStrs = AsmStrsvreg;
RegAsmOffset = RegAsmOffsetvreg;
break;
}
//int i;
//for (i = 0; i < sizeof(RegAsmOffsetNoRegAltName)/4; i++)
// printf("%s = %u\n", AsmStrsNoRegAltName+RegAsmOffsetNoRegAltName[i], i + 1);
//printf("*************************\n");
//for (i = 0; i < sizeof(RegAsmOffsetvreg)/4; i++)
// printf("%s = %u\n", AsmStrsvreg+RegAsmOffsetvreg[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, MCRegisterInfo *MRI)
{
// printf(">>>> Method: %u, opIdx: %x\n", PrintMethodIdx, OpIdx);
switch (PrintMethodIdx) {
default:
// llvm_unreachable("Unknown PrintMethod kind");
break;
case 0:
printAddSubImm(MI, OpIdx, OS);
break;
case 1:
printShifter(MI, OpIdx, OS);
break;
case 2:
printArithExtend(MI, OpIdx, OS);
break;
case 3:
printLogicalImm32(MI, OpIdx, OS);
break;
case 4:
printLogicalImm64(MI, OpIdx, OS);
break;
case 5:
printVRegOperand(MI, OpIdx, OS);
break;
case 6:
printHexImm(MI, OpIdx, OS);
break;
case 7:
printInverseCondCode(MI, OpIdx, OS);
break;
case 8:
printVectorIndex(MI, OpIdx, OS);
break;
case 9:
printTypedVectorList(MI, OpIdx, OS, 16, 'b', MRI);
break;
case 10:
printTypedVectorList(MI, OpIdx, OS, 1, 'd', MRI);
break;
case 11:
printTypedVectorList(MI, OpIdx, OS, 2, 'd', MRI);
break;
case 12:
printTypedVectorList(MI, OpIdx, OS, 2, 's', MRI);
break;
case 13:
printTypedVectorList(MI, OpIdx, OS, 4, 'h', MRI);
break;
case 14:
printTypedVectorList(MI, OpIdx, OS, 4, 's', MRI);
break;
case 15:
printTypedVectorList(MI, OpIdx, OS, 8, 'b', MRI);
break;
case 16:
printTypedVectorList(MI, OpIdx, OS, 8, 'h', MRI);
break;
case 17:
printTypedVectorList(MI, OpIdx, OS, 0, 'h', MRI);
break;
case 18:
printTypedVectorList(MI, OpIdx, OS, 0, 's', MRI);
break;
case 19:
printTypedVectorList(MI, OpIdx, OS, 0, 'd', MRI);
break;
case 20:
printTypedVectorList(MI, OpIdx, OS, 0, 'b', MRI);
break;
case 21:
printPrefetchOp(MI, OpIdx, OS);
break;
case 22:
printSysCROperand(MI, OpIdx, OS);
break;
}
}
static bool AArch64InstPrinterValidateMCOperand(
MCOperand *MCOp, unsigned PredicateIndex)
{
switch (PredicateIndex) {
default:
// llvm_unreachable("Unknown MCOperandPredicate kind");
case 1: {
return (MCOperand_isImm(MCOp) &&
MCOperand_getImm(MCOp) != ARM64_CC_AL &&
MCOperand_getImm(MCOp) != ARM64_CC_NV);
}
}
}
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 AArch64_ADDSWri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 1)) {
// (ADDSWri WZR, GPR32sp:$src, addsub_shifted_imm32:$imm)
AsmString = "cmn $\x02, $\xFF\x03\x01";
break;
}
return NULL;
case AArch64_ADDSWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDSWrs WZR, GPR32:$src1, GPR32:$src2, 0)
AsmString = "cmn $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (ADDSWrs WZR, GPR32:$src1, GPR32:$src2, arith_shift32:$sh)
AsmString = "cmn $\x02, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "adds $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ADDSWrx:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (ADDSWrx WZR, GPR32sponly:$src1, GPR32:$src2, 16)
AsmString = "cmn $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (ADDSWrx WZR, GPR32sp:$src1, GPR32:$src2, arith_extend:$sh)
AsmString = "cmn $\x02, $\x03$\xFF\x04\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (ADDSWrx GPR32:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
AsmString = "adds $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ADDSXri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1)) {
// (ADDSXri XZR, GPR64sp:$src, addsub_shifted_imm64:$imm)
AsmString = "cmn $\x02, $\xFF\x03\x01";
break;
}
return NULL;
case AArch64_ADDSXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDSXrs XZR, GPR64:$src1, GPR64:$src2, 0)
AsmString = "cmn $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (ADDSXrs XZR, GPR64:$src1, GPR64:$src2, arith_shift64:$sh)
AsmString = "cmn $\x02, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "adds $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ADDSXrx:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (ADDSXrx XZR, GPR64sp:$src1, GPR32:$src2, arith_extend:$sh)
AsmString = "cmn $\x02, $\x03$\xFF\x04\x03";
break;
}
return NULL;
case AArch64_ADDSXrx64:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (ADDSXrx64 XZR, GPR64sponly:$src1, GPR64:$src2, 24)
AsmString = "cmn $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (ADDSXrx64 XZR, GPR64sp:$src1, GPR64:$src2, arith_extendlsl64:$sh)
AsmString = "cmn $\x02, $\x03$\xFF\x04\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (ADDSXrx64 GPR64:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
AsmString = "adds $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ADDWri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDWri GPR32sponly:$dst, GPR32sp:$src, 0, 0)
AsmString = "mov $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDWri GPR32sp:$dst, GPR32sponly:$src, 0, 0)
AsmString = "mov $\x01, $\x02";
break;
}
return NULL;
case AArch64_ADDWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "add $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ADDWrx:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (ADDWrx GPR32sponly:$dst, GPR32sp:$src1, GPR32:$src2, 16)
AsmString = "add $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (ADDWrx GPR32sp:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
AsmString = "add $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ADDXri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDXri GPR64sponly:$dst, GPR64sp:$src, 0, 0)
AsmString = "mov $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDXri GPR64sp:$dst, GPR64sponly:$src, 0, 0)
AsmString = "mov $\x01, $\x02";
break;
}
return NULL;
case AArch64_ADDXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ADDXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "add $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ADDXrx64:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (ADDXrx64 GPR64sponly:$dst, GPR64sp:$src1, GPR64:$src2, 24)
AsmString = "add $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (ADDXrx64 GPR64sp:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
AsmString = "add $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ANDSWri:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1)) {
// (ANDSWri WZR, GPR32:$src1, logical_imm32:$src2)
AsmString = "tst $\x02, $\xFF\x03\x04";
break;
}
return NULL;
case AArch64_ANDSWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ANDSWrs WZR, GPR32:$src1, GPR32:$src2, 0)
AsmString = "tst $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (ANDSWrs WZR, GPR32:$src1, GPR32:$src2, logical_shift32:$sh)
AsmString = "tst $\x02, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ANDSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "ands $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ANDSXri:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1)) {
// (ANDSXri XZR, GPR64:$src1, logical_imm64:$src2)
AsmString = "tst $\x02, $\xFF\x03\x05";
break;
}
return NULL;
case AArch64_ANDSXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ANDSXrs XZR, GPR64:$src1, GPR64:$src2, 0)
AsmString = "tst $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (ANDSXrs XZR, GPR64:$src1, GPR64:$src2, logical_shift64:$sh)
AsmString = "tst $\x02, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ANDSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "ands $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ANDWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ANDWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "and $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ANDXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ANDXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "and $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_BICSWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (BICSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "bics $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_BICSXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (BICSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "bics $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_BICWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (BICWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "bic $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_BICXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (BICXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "bic $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_BICv2i32:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (BICv2i32 V64:$Vd, imm0_255:$imm, 0)
AsmString = "bic $\xFF\x01\x06.2s, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_BICv4i16:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (BICv4i16 V64:$Vd, imm0_255:$imm, 0)
AsmString = "bic $\xFF\x01\x06.4h, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_BICv4i32:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (BICv4i32 V128:$Vd, imm0_255:$imm, 0)
AsmString = "bic $\xFF\x01\x06.4s, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_BICv8i16:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (BICv8i16 V128:$Vd, imm0_255:$imm, 0)
AsmString = "bic $\xFF\x01\x06.8h, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_CLREX:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 15) {
// (CLREX 15)
AsmString = "clrex";
break;
}
return NULL;
case AArch64_CSINCWr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_WZR &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINCWr GPR32:$dst, WZR, WZR, inv_ccode:$cc)
AsmString = "cset $\x01, $\xFF\x04\x08";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1)) &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINCWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc)
AsmString = "cinc $\x01, $\x02, $\xFF\x04\x08";
break;
}
return NULL;
case AArch64_CSINCXr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINCXr GPR64:$dst, XZR, XZR, inv_ccode:$cc)
AsmString = "cset $\x01, $\xFF\x04\x08";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1)) &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINCXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc)
AsmString = "cinc $\x01, $\x02, $\xFF\x04\x08";
break;
}
return NULL;
case AArch64_CSINVWr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_WZR &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINVWr GPR32:$dst, WZR, WZR, inv_ccode:$cc)
AsmString = "csetm $\x01, $\xFF\x04\x08";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1)) &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINVWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc)
AsmString = "cinv $\x01, $\x02, $\xFF\x04\x08";
break;
}
return NULL;
case AArch64_CSINVXr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINVXr GPR64:$dst, XZR, XZR, inv_ccode:$cc)
AsmString = "csetm $\x01, $\xFF\x04\x08";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1)) &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSINVXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc)
AsmString = "cinv $\x01, $\x02, $\xFF\x04\x08";
break;
}
return NULL;
case AArch64_CSNEGWr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1)) &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSNEGWr GPR32:$dst, GPR32:$src, GPR32:$src, inv_ccode:$cc)
AsmString = "cneg $\x01, $\x02, $\xFF\x04\x08";
break;
}
return NULL;
case AArch64_CSNEGXr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1)) &&
AArch64InstPrinterValidateMCOperand(MCInst_getOperand(MI, 3), 1)) {
// (CSNEGXr GPR64:$dst, GPR64:$src, GPR64:$src, inv_ccode:$cc)
AsmString = "cneg $\x01, $\x02, $\xFF\x04\x08";
break;
}
return NULL;
case AArch64_DCPS1:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 0) {
// (DCPS1 0)
AsmString = "dcps1";
break;
}
return NULL;
case AArch64_DCPS2:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 0) {
// (DCPS2 0)
AsmString = "dcps2";
break;
}
return NULL;
case AArch64_DCPS3:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 0) {
// (DCPS3 0)
AsmString = "dcps3";
break;
}
return NULL;
case AArch64_EONWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (EONWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "eon $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_EONXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (EONXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "eon $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_EORWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (EORWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "eor $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_EORXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (EORXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "eor $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_EXTRWrri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
// (EXTRWrri GPR32:$dst, GPR32:$src, GPR32:$src, imm0_31:$shift)
AsmString = "ror $\x01, $\x02, $\x04";
break;
}
return NULL;
case AArch64_EXTRXrri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
// (EXTRXrri GPR64:$dst, GPR64:$src, GPR64:$src, imm0_63:$shift)
AsmString = "ror $\x01, $\x02, $\x04";
break;
}
return NULL;
case AArch64_HINT:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 0) {
// (HINT { 0, 0, 0 })
AsmString = "nop";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 1) {
// (HINT { 0, 0, 1 })
AsmString = "yield";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 2) {
// (HINT { 0, 1, 0 })
AsmString = "wfe";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 3) {
// (HINT { 0, 1, 1 })
AsmString = "wfi";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 4) {
// (HINT { 1, 0, 0 })
AsmString = "sev";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 5) {
// (HINT { 1, 0, 1 })
AsmString = "sevl";
break;
}
return NULL;
case AArch64_INSvi16gpr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (INSvi16gpr V128:$dst, VectorIndexH:$idx, GPR32:$src)
AsmString = "mov $\xFF\x01\x06.h$\xFF\x02\x09, $\x03";
break;
}
return NULL;
case AArch64_INSvi16lane:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 2)) {
// (INSvi16lane V128:$dst, VectorIndexH:$idx, V128:$src, VectorIndexH:$idx2)
AsmString = "mov $\xFF\x01\x06.h$\xFF\x02\x09, $\xFF\x03\x06.h$\xFF\x04\x09";
break;
}
return NULL;
case AArch64_INSvi32gpr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (INSvi32gpr V128:$dst, VectorIndexS:$idx, GPR32:$src)
AsmString = "mov $\xFF\x01\x06.s$\xFF\x02\x09, $\x03";
break;
}
return NULL;
case AArch64_INSvi32lane:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 2)) {
// (INSvi32lane V128:$dst, VectorIndexS:$idx, V128:$src, VectorIndexS:$idx2)
AsmString = "mov $\xFF\x01\x06.s$\xFF\x02\x09, $\xFF\x03\x06.s$\xFF\x04\x09";
break;
}
return NULL;
case AArch64_INSvi64gpr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (INSvi64gpr V128:$dst, VectorIndexD:$idx, GPR64:$src)
AsmString = "mov $\xFF\x01\x06.d$\xFF\x02\x09, $\x03";
break;
}
return NULL;
case AArch64_INSvi64lane:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 2)) {
// (INSvi64lane V128:$dst, VectorIndexD:$idx, V128:$src, VectorIndexD:$idx2)
AsmString = "mov $\xFF\x01\x06.d$\xFF\x02\x09, $\xFF\x03\x06.d$\xFF\x04\x09";
break;
}
return NULL;
case AArch64_INSvi8gpr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (INSvi8gpr V128:$dst, VectorIndexB:$idx, GPR32:$src)
AsmString = "mov $\xFF\x01\x06.b$\xFF\x02\x09, $\x03";
break;
}
return NULL;
case AArch64_INSvi8lane:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 2)) {
// (INSvi8lane V128:$dst, VectorIndexB:$idx, V128:$src, VectorIndexB:$idx2)
AsmString = "mov $\xFF\x01\x06.b$\xFF\x02\x09, $\xFF\x03\x06.b$\xFF\x04\x09";
break;
}
return NULL;
case AArch64_ISB:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 15) {
// (ISB 15)
AsmString = "isb";
break;
}
return NULL;
case AArch64_LD1Fourv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0A, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD1Fourv1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0B, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1Fourv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0C, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD1Fourv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0D, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1Fourv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0E, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1Fourv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0F, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD1Fourv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x10, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1Fourv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x11, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD1Onev16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0A, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Onev1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0B, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD1Onev2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0C, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Onev2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0D, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD1Onev4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0E, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD1Onev4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0F, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Onev8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x10, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD1Onev8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Onev8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x11, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Rv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x0A, [$\x01], #1";
break;
}
return NULL;
case AArch64_LD1Rv1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x0B, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD1Rv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x0C, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD1Rv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x0D, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD1Rv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x0E, [$\x01], #2";
break;
}
return NULL;
case AArch64_LD1Rv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x0F, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD1Rv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x10, [$\x01], #1";
break;
}
return NULL;
case AArch64_LD1Rv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Rv8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR)
AsmString = "ld1r $\xFF\x02\x11, [$\x01], #2";
break;
}
return NULL;
case AArch64_LD1Threev16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0A, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD1Threev1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0B, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD1Threev2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0C, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD1Threev2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0D, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD1Threev4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0E, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD1Threev4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0F, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD1Threev8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x10, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD1Threev8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x11, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD1Twov16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0A, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1Twov1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0B, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Twov2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0C, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1Twov2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0D, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Twov4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0E, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Twov4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x0F, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1Twov8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x10, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD1Twov8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD1Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
AsmString = "ld1 $\xFF\x02\x11, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD1i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD1i16_POST GPR64sp:$Rn, VecListOneh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "ld1 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #2";
break;
}
return NULL;
case AArch64_LD1i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD1i32_POST GPR64sp:$Rn, VecListOnes:$Vt, VectorIndexS:$idx, XZR)
AsmString = "ld1 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD1i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD1i64_POST GPR64sp:$Rn, VecListOned:$Vt, VectorIndexD:$idx, XZR)
AsmString = "ld1 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD1i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD1i8_POST GPR64sp:$Rn, VecListOneb:$Vt, VectorIndexB:$idx, XZR)
AsmString = "ld1 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #1";
break;
}
return NULL;
case AArch64_LD2Rv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x0A, [$\x01], #2";
break;
}
return NULL;
case AArch64_LD2Rv1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x0B, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD2Rv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x0C, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD2Rv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x0D, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD2Rv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x0E, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD2Rv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x0F, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD2Rv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x10, [$\x01], #2";
break;
}
return NULL;
case AArch64_LD2Rv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Rv8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
AsmString = "ld2r $\xFF\x02\x11, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD2Twov16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
AsmString = "ld2 $\xFF\x02\x0A, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD2Twov2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
AsmString = "ld2 $\xFF\x02\x0C, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD2Twov2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
AsmString = "ld2 $\xFF\x02\x0D, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD2Twov4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
AsmString = "ld2 $\xFF\x02\x0E, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD2Twov4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
AsmString = "ld2 $\xFF\x02\x0F, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD2Twov8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
AsmString = "ld2 $\xFF\x02\x10, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD2Twov8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD2Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
AsmString = "ld2 $\xFF\x02\x11, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD2i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD2i16_POST GPR64sp:$Rn, VecListTwoh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "ld2 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD2i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD2i32_POST GPR64sp:$Rn, VecListTwos:$Vt, VectorIndexS:$idx, XZR)
AsmString = "ld2 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD2i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD2i64_POST GPR64sp:$Rn, VecListTwod:$Vt, VectorIndexD:$idx, XZR)
AsmString = "ld2 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD2i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD2i8_POST GPR64sp:$Rn, VecListTwob:$Vt, VectorIndexB:$idx, XZR)
AsmString = "ld2 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #2";
break;
}
return NULL;
case AArch64_LD3Rv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x0A, [$\x01], #3";
break;
}
return NULL;
case AArch64_LD3Rv1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x0B, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD3Rv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x0C, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD3Rv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x0D, [$\x01], #12";
break;
}
return NULL;
case AArch64_LD3Rv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x0E, [$\x01], #6";
break;
}
return NULL;
case AArch64_LD3Rv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x0F, [$\x01], #12";
break;
}
return NULL;
case AArch64_LD3Rv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x10, [$\x01], #3";
break;
}
return NULL;
case AArch64_LD3Rv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Rv8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
AsmString = "ld3r $\xFF\x02\x11, [$\x01], #6";
break;
}
return NULL;
case AArch64_LD3Threev16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
AsmString = "ld3 $\xFF\x02\x0A, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD3Threev2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
AsmString = "ld3 $\xFF\x02\x0C, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD3Threev2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
AsmString = "ld3 $\xFF\x02\x0D, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD3Threev4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
AsmString = "ld3 $\xFF\x02\x0E, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD3Threev4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
AsmString = "ld3 $\xFF\x02\x0F, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD3Threev8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
AsmString = "ld3 $\xFF\x02\x10, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD3Threev8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD3Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
AsmString = "ld3 $\xFF\x02\x11, [$\x01], #48";
break;
}
return NULL;
case AArch64_LD3i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD3i16_POST GPR64sp:$Rn, VecListThreeh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "ld3 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #6";
break;
}
return NULL;
case AArch64_LD3i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD3i32_POST GPR64sp:$Rn, VecListThrees:$Vt, VectorIndexS:$idx, XZR)
AsmString = "ld3 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #12";
break;
}
return NULL;
case AArch64_LD3i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD3i64_POST GPR64sp:$Rn, VecListThreed:$Vt, VectorIndexD:$idx, XZR)
AsmString = "ld3 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #24";
break;
}
return NULL;
case AArch64_LD3i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD3i8_POST GPR64sp:$Rn, VecListThreeb:$Vt, VectorIndexB:$idx, XZR)
AsmString = "ld3 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #3";
break;
}
return NULL;
case AArch64_LD4Fourv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
AsmString = "ld4 $\xFF\x02\x0A, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD4Fourv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
AsmString = "ld4 $\xFF\x02\x0C, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD4Fourv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
AsmString = "ld4 $\xFF\x02\x0D, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD4Fourv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
AsmString = "ld4 $\xFF\x02\x0E, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD4Fourv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
AsmString = "ld4 $\xFF\x02\x0F, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD4Fourv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
AsmString = "ld4 $\xFF\x02\x10, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD4Fourv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
AsmString = "ld4 $\xFF\x02\x11, [$\x01], #64";
break;
}
return NULL;
case AArch64_LD4Rv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x0A, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD4Rv1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x0B, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD4Rv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x0C, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD4Rv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x0D, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD4Rv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x0E, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD4Rv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x0F, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD4Rv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x10, [$\x01], #4";
break;
}
return NULL;
case AArch64_LD4Rv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (LD4Rv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
AsmString = "ld4r $\xFF\x02\x11, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD4i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD4i16_POST GPR64sp:$Rn, VecListFourh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "ld4 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #8";
break;
}
return NULL;
case AArch64_LD4i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD4i32_POST GPR64sp:$Rn, VecListFours:$Vt, VectorIndexS:$idx, XZR)
AsmString = "ld4 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #16";
break;
}
return NULL;
case AArch64_LD4i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD4i64_POST GPR64sp:$Rn, VecListFourd:$Vt, VectorIndexD:$idx, XZR)
AsmString = "ld4 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #32";
break;
}
return NULL;
case AArch64_LD4i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (LD4i8_POST GPR64sp:$Rn, VecListFourb:$Vt, VectorIndexB:$idx, XZR)
AsmString = "ld4 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #4";
break;
}
return NULL;
case AArch64_LDNPDi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDNPDi FPR64:$Rt, FPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDNPQi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDNPQi FPR128:$Rt, FPR128:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDNPSi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDNPSi FPR32:$Rt, FPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDNPWi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDNPWi GPR32:$Rt, GPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDNPXi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDNPXi GPR64:$Rt, GPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDPDi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDPDi FPR64:$Rt, FPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDPQi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDPQi FPR128:$Rt, FPR128:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDPSWi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDPSWi GPR64:$Rt, GPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldpsw $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDPSi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDPSi FPR32:$Rt, FPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDPWi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDPWi GPR32:$Rt, GPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDPXi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (LDPXi GPR64:$Rt, GPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "ldp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_LDRBBroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRBBroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldrb $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRBBui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRBBui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldrb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRBroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR8RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRBroX FPR8:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldr $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRBui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR8RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRBui FPR8:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRDroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRDroX FPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldr $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRDui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRDui FPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRHHroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRHHroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldrh $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRHHui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRHHui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldrh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRHroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRHroX FPR16:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldr $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRHui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRHui FPR16:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRQroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRQroX FPR128:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldr $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRQui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRQui FPR128:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRSBWroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRSBWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldrsb $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRSBWui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRSBWui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldrsb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRSBXroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRSBXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldrsb $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRSBXui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRSBXui GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldrsb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRSHWroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRSHWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldrsh $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRSHWui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRSHWui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldrsh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRSHXroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRSHXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldrsh $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRSHXui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRSHXui GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldrsh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRSWroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRSWroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldrsw $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRSWui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRSWui GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldrsw $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRSroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRSroX FPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldr $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRSui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRSui FPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRWroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldr $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRWui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRWui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDRXroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (LDRXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "ldr $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_LDRXui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDRXui GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRBi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRBi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtrb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRHi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRHi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtrh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRSBWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRSBWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtrsb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRSBXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRSBXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtrsb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRSHWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRSHWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtrsh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRSHXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRSHXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtrsh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRSWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRSWi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtrsw $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDTRXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDTRXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldtr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURBBi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURBBi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldurb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURBi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR8RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURBi FPR8:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURDi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURDi FPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURHHi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURHHi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldurh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURHi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURHi FPR16:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURQi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURQi FPR128:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURSBWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURSBWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldursb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURSBXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURSBXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldursb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURSHWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURSHWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldursh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURSHXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURSHXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldursh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURSWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURSWi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldursw $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURSi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURSi FPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_LDURXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (LDURXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "ldur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_MADDWrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_WZR) {
// (MADDWrrr GPR32:$dst, GPR32:$src1, GPR32:$src2, WZR)
AsmString = "mul $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_MADDXrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (MADDXrrr GPR64:$dst, GPR64:$src1, GPR64:$src2, XZR)
AsmString = "mul $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_MOVKWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 16) {
// (MOVKWi GPR32:$Rd, movk_symbol_g1:$sym, 16)
AsmString = "movk $\x01, $\x02";
break;
}
return NULL;
case AArch64_MOVKXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 48) {
// (MOVKXi GPR64:$Rd, movk_symbol_g3:$sym, 48)
AsmString = "movk $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 32) {
// (MOVKXi GPR64:$Rd, movk_symbol_g2:$sym, 32)
AsmString = "movk $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 16) {
// (MOVKXi GPR64:$Rd, movk_symbol_g1:$sym, 16)
AsmString = "movk $\x01, $\x02";
break;
}
return NULL;
case AArch64_MSUBWrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_WZR) {
// (MSUBWrrr GPR32:$dst, GPR32:$src1, GPR32:$src2, WZR)
AsmString = "mneg $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_MSUBXrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (MSUBXrrr GPR64:$dst, GPR64:$src1, GPR64:$src2, XZR)
AsmString = "mneg $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_NOTv16i8:
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1)) {
// (NOTv16i8 V128:$Vd, V128:$Vn)
AsmString = "mvn $\xFF\x01\x06.16b, $\xFF\x02\x06.16b";
break;
}
return NULL;
case AArch64_NOTv8i8:
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1)) {
// (NOTv8i8 V64:$Vd, V64:$Vn)
AsmString = "mvn $\xFF\x01\x06.8b, $\xFF\x02\x06.8b";
break;
}
return NULL;
case AArch64_ORNWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORNWrs GPR32:$Wd, WZR, GPR32:$Wm, 0)
AsmString = "mvn $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (ORNWrs GPR32:$Wd, WZR, GPR32:$Wm, logical_shift32:$sh)
AsmString = "mvn $\x01, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORNWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "orn $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ORNXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORNXrs GPR64:$Xd, XZR, GPR64:$Xm, 0)
AsmString = "mvn $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (ORNXrs GPR64:$Xd, XZR, GPR64:$Xm, logical_shift64:$sh)
AsmString = "mvn $\x01, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORNXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "orn $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ORRWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORRWrs GPR32:$dst, WZR, GPR32:$src, 0)
AsmString = "mov $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORRWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "orr $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ORRXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORRXrs GPR64:$dst, XZR, GPR64:$src, 0)
AsmString = "mov $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (ORRXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "orr $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ORRv16i8:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
// (ORRv16i8 V128:$dst, V128:$src, V128:$src)
AsmString = "mov $\xFF\x01\x06.16b, $\xFF\x02\x06.16b";
break;
}
return NULL;
case AArch64_ORRv2i32:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (ORRv2i32 V64:$Vd, imm0_255:$imm, 0)
AsmString = "orr $\xFF\x01\x06.2s, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_ORRv4i16:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (ORRv4i16 V64:$Vd, imm0_255:$imm, 0)
AsmString = "orr $\xFF\x01\x06.4h, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_ORRv4i32:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (ORRv4i32 V128:$Vd, imm0_255:$imm, 0)
AsmString = "orr $\xFF\x01\x06.4s, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_ORRv8i16:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (ORRv8i16 V128:$Vd, imm0_255:$imm, 0)
AsmString = "orr $\xFF\x01\x06.8h, $\xFF\x02\x07";
break;
}
return NULL;
case AArch64_ORRv8i8:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == MCOperand_getReg(MCInst_getOperand(MI, 1))) {
// (ORRv8i8 V64:$dst, V64:$src, V64:$src)
AsmString = "mov $\xFF\x01\x06.8b, $\xFF\x02\x06.8b";
break;
}
return NULL;
case AArch64_PRFMroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (PRFMroX prfop:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "prfm $\xFF\x01\x16, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_PRFMui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (PRFMui prfop:$Rt, GPR64sp:$Rn, 0)
AsmString = "prfm $\xFF\x01\x16, [$\x02]";
break;
}
return NULL;
case AArch64_PRFUMi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (PRFUMi prfop:$Rt, GPR64sp:$Rn, 0)
AsmString = "prfum $\xFF\x01\x16, [$\x02]";
break;
}
return NULL;
case AArch64_RET:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_LR) {
// (RET LR)
AsmString = "ret";
break;
}
return NULL;
case AArch64_SBCSWr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (SBCSWr GPR32:$dst, WZR, GPR32:$src)
AsmString = "ngcs $\x01, $\x03";
break;
}
return NULL;
case AArch64_SBCSXr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (SBCSXr GPR64:$dst, XZR, GPR64:$src)
AsmString = "ngcs $\x01, $\x03";
break;
}
return NULL;
case AArch64_SBCWr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (SBCWr GPR32:$dst, WZR, GPR32:$src)
AsmString = "ngc $\x01, $\x03";
break;
}
return NULL;
case AArch64_SBCXr:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (SBCXr GPR64:$dst, XZR, GPR64:$src)
AsmString = "ngc $\x01, $\x03";
break;
}
return NULL;
case AArch64_SBFMWri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 31) {
// (SBFMWri GPR32:$dst, GPR32:$src, imm0_31:$shift, 31)
AsmString = "asr $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
// (SBFMWri GPR32:$dst, GPR32:$src, 0, 7)
AsmString = "sxtb $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 15) {
// (SBFMWri GPR32:$dst, GPR32:$src, 0, 15)
AsmString = "sxth $\x01, $\x02";
break;
}
return NULL;
case AArch64_SBFMXri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 63) {
// (SBFMXri GPR64:$dst, GPR64:$src, imm0_63:$shift, 63)
AsmString = "asr $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
// (SBFMXri GPR64:$dst, GPR64:$src, 0, 7)
AsmString = "sxtb $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 15) {
// (SBFMXri GPR64:$dst, GPR64:$src, 0, 15)
AsmString = "sxth $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 31) {
// (SBFMXri GPR64:$dst, GPR64:$src, 0, 31)
AsmString = "sxtw $\x01, $\x02";
break;
}
return NULL;
case AArch64_SMADDLrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (SMADDLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
AsmString = "smull $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SMSUBLrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (SMSUBLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
AsmString = "smnegl $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_ST1Fourv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0A, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST1Fourv1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv1d_POST GPR64sp:$Rn, VecListFour1d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0B, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1Fourv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0C, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST1Fourv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0D, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1Fourv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0E, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1Fourv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0F, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST1Fourv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x10, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1Fourv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x11, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST1Onev16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev16b_POST GPR64sp:$Rn, VecListOne16b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0A, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Onev1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev1d_POST GPR64sp:$Rn, VecListOne1d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0B, [$\x01], #8";
break;
}
return NULL;
case AArch64_ST1Onev2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev2d_POST GPR64sp:$Rn, VecListOne2d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0C, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Onev2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev2s_POST GPR64sp:$Rn, VecListOne2s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0D, [$\x01], #8";
break;
}
return NULL;
case AArch64_ST1Onev4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev4h_POST GPR64sp:$Rn, VecListOne4h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0E, [$\x01], #8";
break;
}
return NULL;
case AArch64_ST1Onev4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev4s_POST GPR64sp:$Rn, VecListOne4s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0F, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Onev8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev8b_POST GPR64sp:$Rn, VecListOne8b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x10, [$\x01], #8";
break;
}
return NULL;
case AArch64_ST1Onev8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Onev8h_POST GPR64sp:$Rn, VecListOne8h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x11, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Threev16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0A, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST1Threev1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev1d_POST GPR64sp:$Rn, VecListThree1d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0B, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST1Threev2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0C, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST1Threev2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0D, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST1Threev4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0E, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST1Threev4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0F, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST1Threev8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x10, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST1Threev8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x11, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST1Twov16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0A, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1Twov1d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov1d_POST GPR64sp:$Rn, VecListTwo1d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0B, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Twov2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0C, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1Twov2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0D, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Twov4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0E, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Twov4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x0F, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1Twov8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x10, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST1Twov8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST1Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
AsmString = "st1 $\xFF\x02\x11, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST1i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST1i16_POST GPR64sp:$Rn, VecListOneh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "st1 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #2";
break;
}
return NULL;
case AArch64_ST1i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST1i32_POST GPR64sp:$Rn, VecListOnes:$Vt, VectorIndexS:$idx, XZR)
AsmString = "st1 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #4";
break;
}
return NULL;
case AArch64_ST1i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST1i64_POST GPR64sp:$Rn, VecListOned:$Vt, VectorIndexD:$idx, XZR)
AsmString = "st1 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #8";
break;
}
return NULL;
case AArch64_ST1i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST1i8_POST GPR64sp:$Rn, VecListOneb:$Vt, VectorIndexB:$idx, XZR)
AsmString = "st1 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #1";
break;
}
return NULL;
case AArch64_ST2Twov16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST2Twov16b_POST GPR64sp:$Rn, VecListTwo16b:$Vt, XZR)
AsmString = "st2 $\xFF\x02\x0A, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST2Twov2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST2Twov2d_POST GPR64sp:$Rn, VecListTwo2d:$Vt, XZR)
AsmString = "st2 $\xFF\x02\x0C, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST2Twov2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST2Twov2s_POST GPR64sp:$Rn, VecListTwo2s:$Vt, XZR)
AsmString = "st2 $\xFF\x02\x0D, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST2Twov4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST2Twov4h_POST GPR64sp:$Rn, VecListTwo4h:$Vt, XZR)
AsmString = "st2 $\xFF\x02\x0E, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST2Twov4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST2Twov4s_POST GPR64sp:$Rn, VecListTwo4s:$Vt, XZR)
AsmString = "st2 $\xFF\x02\x0F, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST2Twov8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST2Twov8b_POST GPR64sp:$Rn, VecListTwo8b:$Vt, XZR)
AsmString = "st2 $\xFF\x02\x10, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST2Twov8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST2Twov8h_POST GPR64sp:$Rn, VecListTwo8h:$Vt, XZR)
AsmString = "st2 $\xFF\x02\x11, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST2i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST2i16_POST GPR64sp:$Rn, VecListTwoh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "st2 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #4";
break;
}
return NULL;
case AArch64_ST2i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST2i32_POST GPR64sp:$Rn, VecListTwos:$Vt, VectorIndexS:$idx, XZR)
AsmString = "st2 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #8";
break;
}
return NULL;
case AArch64_ST2i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST2i64_POST GPR64sp:$Rn, VecListTwod:$Vt, VectorIndexD:$idx, XZR)
AsmString = "st2 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST2i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST2i8_POST GPR64sp:$Rn, VecListTwob:$Vt, VectorIndexB:$idx, XZR)
AsmString = "st2 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #2";
break;
}
return NULL;
case AArch64_ST3Threev16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST3Threev16b_POST GPR64sp:$Rn, VecListThree16b:$Vt, XZR)
AsmString = "st3 $\xFF\x02\x0A, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST3Threev2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST3Threev2d_POST GPR64sp:$Rn, VecListThree2d:$Vt, XZR)
AsmString = "st3 $\xFF\x02\x0C, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST3Threev2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST3Threev2s_POST GPR64sp:$Rn, VecListThree2s:$Vt, XZR)
AsmString = "st3 $\xFF\x02\x0D, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST3Threev4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST3Threev4h_POST GPR64sp:$Rn, VecListThree4h:$Vt, XZR)
AsmString = "st3 $\xFF\x02\x0E, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST3Threev4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST3Threev4s_POST GPR64sp:$Rn, VecListThree4s:$Vt, XZR)
AsmString = "st3 $\xFF\x02\x0F, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST3Threev8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST3Threev8b_POST GPR64sp:$Rn, VecListThree8b:$Vt, XZR)
AsmString = "st3 $\xFF\x02\x10, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST3Threev8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST3Threev8h_POST GPR64sp:$Rn, VecListThree8h:$Vt, XZR)
AsmString = "st3 $\xFF\x02\x11, [$\x01], #48";
break;
}
return NULL;
case AArch64_ST3i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST3i16_POST GPR64sp:$Rn, VecListThreeh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "st3 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #6";
break;
}
return NULL;
case AArch64_ST3i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST3i32_POST GPR64sp:$Rn, VecListThrees:$Vt, VectorIndexS:$idx, XZR)
AsmString = "st3 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #12";
break;
}
return NULL;
case AArch64_ST3i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST3i64_POST GPR64sp:$Rn, VecListThreed:$Vt, VectorIndexD:$idx, XZR)
AsmString = "st3 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #24";
break;
}
return NULL;
case AArch64_ST3i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST3i8_POST GPR64sp:$Rn, VecListThreeb:$Vt, VectorIndexB:$idx, XZR)
AsmString = "st3 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #3";
break;
}
return NULL;
case AArch64_ST4Fourv16b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST4Fourv16b_POST GPR64sp:$Rn, VecListFour16b:$Vt, XZR)
AsmString = "st4 $\xFF\x02\x0A, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST4Fourv2d_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST4Fourv2d_POST GPR64sp:$Rn, VecListFour2d:$Vt, XZR)
AsmString = "st4 $\xFF\x02\x0C, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST4Fourv2s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST4Fourv2s_POST GPR64sp:$Rn, VecListFour2s:$Vt, XZR)
AsmString = "st4 $\xFF\x02\x0D, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST4Fourv4h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST4Fourv4h_POST GPR64sp:$Rn, VecListFour4h:$Vt, XZR)
AsmString = "st4 $\xFF\x02\x0E, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST4Fourv4s_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST4Fourv4s_POST GPR64sp:$Rn, VecListFour4s:$Vt, XZR)
AsmString = "st4 $\xFF\x02\x0F, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST4Fourv8b_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_DDDDRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST4Fourv8b_POST GPR64sp:$Rn, VecListFour8b:$Vt, XZR)
AsmString = "st4 $\xFF\x02\x10, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST4Fourv8h_POST:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 2)) == AArch64_XZR) {
// (ST4Fourv8h_POST GPR64sp:$Rn, VecListFour8h:$Vt, XZR)
AsmString = "st4 $\xFF\x02\x11, [$\x01], #64";
break;
}
return NULL;
case AArch64_ST4i16_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST4i16_POST GPR64sp:$Rn, VecListFourh:$Vt, VectorIndexH:$idx, XZR)
AsmString = "st4 $\xFF\x02\x12$\xFF\x03\x09, [$\x01], #8";
break;
}
return NULL;
case AArch64_ST4i32_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST4i32_POST GPR64sp:$Rn, VecListFours:$Vt, VectorIndexS:$idx, XZR)
AsmString = "st4 $\xFF\x02\x13$\xFF\x03\x09, [$\x01], #16";
break;
}
return NULL;
case AArch64_ST4i64_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST4i64_POST GPR64sp:$Rn, VecListFourd:$Vt, VectorIndexD:$idx, XZR)
AsmString = "st4 $\xFF\x02\x14$\xFF\x03\x09, [$\x01], #32";
break;
}
return NULL;
case AArch64_ST4i8_POST:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_QQQQRegClassID, 1) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (ST4i8_POST GPR64sp:$Rn, VecListFourb:$Vt, VectorIndexB:$idx, XZR)
AsmString = "st4 $\xFF\x02\x15$\xFF\x03\x09, [$\x01], #4";
break;
}
return NULL;
case AArch64_STNPDi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STNPDi FPR64:$Rt, FPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STNPQi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STNPQi FPR128:$Rt, FPR128:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STNPSi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STNPSi FPR32:$Rt, FPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STNPWi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STNPWi GPR32:$Rt, GPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STNPXi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STNPXi GPR64:$Rt, GPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stnp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STPDi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STPDi FPR64:$Rt, FPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STPQi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STPQi FPR128:$Rt, FPR128:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STPSi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STPSi FPR32:$Rt, FPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STPWi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STPWi GPR32:$Rt, GPR32:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STPXi:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (STPXi GPR64:$Rt, GPR64:$Rt2, GPR64sp:$Rn, 0)
AsmString = "stp $\x01, $\x02, [$\x03]";
break;
}
return NULL;
case AArch64_STRBBroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRBBroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "strb $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRBBui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRBBui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "strb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRBroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR8RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRBroX FPR8:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "str $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRBui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR8RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRBui FPR8:$Rt, GPR64sp:$Rn, 0)
AsmString = "str $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRDroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRDroX FPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "str $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRDui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRDui FPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "str $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRHHroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRHHroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "strh $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRHHui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRHHui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "strh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRHroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRHroX FPR16:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "str $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRHui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRHui FPR16:$Rt, GPR64sp:$Rn, 0)
AsmString = "str $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRQroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRQroX FPR128:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "str $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRQui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRQui FPR128:$Rt, GPR64sp:$Rn, 0)
AsmString = "str $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRSroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRSroX FPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "str $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRSui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRSui FPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "str $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRWroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRWroX GPR32:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "str $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRWui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRWui GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "str $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STRXroX:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 4)) &&
MCOperand_getImm(MCInst_getOperand(MI, 4)) == 0) {
// (STRXroX GPR64:$Rt, GPR64sp:$Rn, GPR64:$Rm, 0, 0)
AsmString = "str $\x01, [$\x02, $\x03]";
break;
}
return NULL;
case AArch64_STRXui:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STRXui GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "str $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STTRBi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STTRBi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "sttrb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STTRHi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STTRHi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "sttrh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STTRWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STTRWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "sttr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STTRXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STTRXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "sttr $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURBBi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURBBi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "sturb $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURBi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR8RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURBi FPR8:$Rt, GPR64sp:$Rn, 0)
AsmString = "stur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURDi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURDi FPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "stur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURHHi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURHHi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "sturh $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURHi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR16RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURHi FPR16:$Rt, GPR64sp:$Rn, 0)
AsmString = "stur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURQi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURQi FPR128:$Rt, GPR64sp:$Rn, 0)
AsmString = "stur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURSi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_FPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURSi FPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "stur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURWi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURWi GPR32:$Rt, GPR64sp:$Rn, 0)
AsmString = "stur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_STURXi:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (STURXi GPR64:$Rt, GPR64sp:$Rn, 0)
AsmString = "stur $\x01, [$\x02]";
break;
}
return NULL;
case AArch64_SUBSWri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 1)) {
// (SUBSWri WZR, GPR32sp:$src, addsub_shifted_imm32:$imm)
AsmString = "cmp $\x02, $\xFF\x03\x01";
break;
}
return NULL;
case AArch64_SUBSWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBSWrs WZR, GPR32:$src1, GPR32:$src2, 0)
AsmString = "cmp $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (SUBSWrs WZR, GPR32:$src1, GPR32:$src2, arith_shift32:$sh)
AsmString = "cmp $\x02, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBSWrs GPR32:$dst, WZR, GPR32:$src, 0)
AsmString = "negs $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (SUBSWrs GPR32:$dst, WZR, GPR32:$src, arith_shift32:$shift)
AsmString = "negs $\x01, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBSWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "subs $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SUBSWrx:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (SUBSWrx WZR, GPR32sponly:$src1, GPR32:$src2, 16)
AsmString = "cmp $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (SUBSWrx WZR, GPR32sp:$src1, GPR32:$src2, arith_extend:$sh)
AsmString = "cmp $\x02, $\x03$\xFF\x04\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (SUBSWrx GPR32:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
AsmString = "subs $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SUBSXri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1)) {
// (SUBSXri XZR, GPR64sp:$src, addsub_shifted_imm64:$imm)
AsmString = "cmp $\x02, $\xFF\x03\x01";
break;
}
return NULL;
case AArch64_SUBSXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBSXrs XZR, GPR64:$src1, GPR64:$src2, 0)
AsmString = "cmp $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (SUBSXrs XZR, GPR64:$src1, GPR64:$src2, arith_shift64:$sh)
AsmString = "cmp $\x02, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBSXrs GPR64:$dst, XZR, GPR64:$src, 0)
AsmString = "negs $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (SUBSXrs GPR64:$dst, XZR, GPR64:$src, arith_shift64:$shift)
AsmString = "negs $\x01, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBSXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "subs $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SUBSXrx:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (SUBSXrx XZR, GPR64sp:$src1, GPR32:$src2, arith_extend:$sh)
AsmString = "cmp $\x02, $\x03$\xFF\x04\x03";
break;
}
return NULL;
case AArch64_SUBSXrx64:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (SUBSXrx64 XZR, GPR64sponly:$src1, GPR64:$src2, 24)
AsmString = "cmp $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (SUBSXrx64 XZR, GPR64sp:$src1, GPR64:$src2, arith_extendlsl64:$sh)
AsmString = "cmp $\x02, $\x03$\xFF\x04\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (SUBSXrx64 GPR64:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
AsmString = "subs $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SUBWrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBWrs GPR32:$dst, WZR, GPR32:$src, 0)
AsmString = "neg $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_WZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2)) {
// (SUBWrs GPR32:$dst, WZR, GPR32:$src, arith_shift32:$shift)
AsmString = "neg $\x01, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBWrs GPR32:$dst, GPR32:$src1, GPR32:$src2, 0)
AsmString = "sub $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SUBWrx:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (SUBWrx GPR32sponly:$dst, GPR32sp:$src1, GPR32:$src2, 16)
AsmString = "sub $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 16) {
// (SUBWrx GPR32sp:$dst, GPR32sponly:$src1, GPR32:$src2, 16)
AsmString = "sub $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SUBXrs:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBXrs GPR64:$dst, XZR, GPR64:$src, 0)
AsmString = "neg $\x01, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == AArch64_XZR &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2)) {
// (SUBXrs GPR64:$dst, XZR, GPR64:$src, arith_shift64:$shift)
AsmString = "neg $\x01, $\x03$\xFF\x04\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 0) {
// (SUBXrs GPR64:$dst, GPR64:$src1, GPR64:$src2, 0)
AsmString = "sub $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SUBXrx64:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (SUBXrx64 GPR64sponly:$dst, GPR64sp:$src1, GPR64:$src2, 24)
AsmString = "sub $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64spRegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64sponlyRegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 2) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 24) {
// (SUBXrx64 GPR64sp:$dst, GPR64sponly:$src1, GPR64:$src2, 24)
AsmString = "sub $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_SYSxt:
if (MCInst_getNumOperands(MI) == 5 &&
MCOperand_getReg(MCInst_getOperand(MI, 4)) == AArch64_XZR) {
// (SYSxt imm0_7:$op1, sys_cr_op:$Cn, sys_cr_op:$Cm, imm0_7:$op2, XZR)
AsmString = "sys $\x01, $\xFF\x02\x17, $\xFF\x03\x17, $\x04";
break;
}
return NULL;
case AArch64_UBFMWri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 31) {
// (UBFMWri GPR32:$dst, GPR32:$src, imm0_31:$shift, 31)
AsmString = "lsr $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
// (UBFMWri GPR32:$dst, GPR32:$src, 0, 7)
AsmString = "uxtb $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 15) {
// (UBFMWri GPR32:$dst, GPR32:$src, 0, 15)
AsmString = "uxth $\x01, $\x02";
break;
}
return NULL;
case AArch64_UBFMXri:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 63) {
// (UBFMXri GPR64:$dst, GPR64:$src, imm0_63:$shift, 63)
AsmString = "lsr $\x01, $\x02, $\x03";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 7) {
// (UBFMXri GPR64:$dst, GPR64:$src, 0, 7)
AsmString = "uxtb $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 15) {
// (UBFMXri GPR64:$dst, GPR64:$src, 0, 15)
AsmString = "uxth $\x01, $\x02";
break;
}
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 1) &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0 &&
MCOperand_isImm(MCInst_getOperand(MI, 3)) &&
MCOperand_getImm(MCInst_getOperand(MI, 3)) == 31) {
// (UBFMXri GPR64:$dst, GPR64:$src, 0, 31)
AsmString = "uxtw $\x01, $\x02";
break;
}
return NULL;
case AArch64_UMADDLrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (UMADDLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
AsmString = "umull $\x01, $\x02, $\x03";
break;
}
return NULL;
case AArch64_UMOVvi32:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1)) {
// (UMOVvi32 GPR32:$dst, V128:$src, VectorIndexS:$idx)
AsmString = "mov $\x01, $\xFF\x02\x06.s$\xFF\x03\x09";
break;
}
return NULL;
case AArch64_UMOVvi64:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_FPR128RegClassID, 1)) {
// (UMOVvi64 GPR64:$dst, V128:$src, VectorIndexD:$idx)
AsmString = "mov $\x01, $\xFF\x02\x06.d$\xFF\x03\x09";
break;
}
return NULL;
case AArch64_UMSUBLrrr:
if (MCInst_getNumOperands(MI) == 4 &&
MCOperand_isReg(MCInst_getOperand(MI, 0)) &&
GETREGCLASS_CONTAIN(AArch64_GPR64RegClassID, 0) &&
MCOperand_isReg(MCInst_getOperand(MI, 1)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 1) &&
MCOperand_isReg(MCInst_getOperand(MI, 2)) &&
GETREGCLASS_CONTAIN(AArch64_GPR32RegClassID, 2) &&
MCOperand_getReg(MCInst_getOperand(MI, 3)) == AArch64_XZR) {
// (UMSUBLrrr GPR64:$dst, GPR32:$src1, GPR32:$src2, XZR)
AsmString = "umnegl $\x01, $\x02, $\x03";
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 == '[') {
SStream_concat0(OS, "[");
set_mem_access(MI, true);
}
else if (*c == ']') {
SStream_concat0(OS, "]");
set_mem_access(MI, false);
}
else if (*c == '$') {
c += 1;
if (*c == (char)0xff) {
c += 1;
OpIdx = *c - 1;
c += 1;
PrintMethodIdx = *c - 1;
printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, OS, MRI);
} else
printOperand(MI, *c - 1, OS);
} else {
SStream_concat(OS, "%c", *c);
}
}
}
return tmp;
}
#endif // PRINT_ALIAS_INSTR