ts-capstone
Version:
This module provides bindings for the Capstone disassembly framework.
1,925 lines (1,907 loc) • 75.7 kB
text/typescript
export interface cs_arm64_op {
vector_index: number; // Vector Index for some vector operands (or -1 if irrelevant)
vas: ARM64; // Vector Arrangement Specifier
shift: {
type: ARM64; // shifter type of this operand
value: number; // shifter value of this operand
};
ext: ARM64; // extender type of this operand
type: ARM64; // operand type
svcr?: ARM64; // MSR/MRS SVCR instruction variant.
reg?: ARM64; // register value for REG operand
imm?: number; // immediate value, or index for C-IMM or IMM operand
fp?: number; // floating point value for FP operand
mem?: {
// base/index/scale/disp value for MEM operand
base: ARM64; // base register
index: ARM64; // index register
disp: number; // displacement/offset value
};
pstate?: ARM64; // PState field of MSR instruction.
sys?: ARM64; // IC/DC/AT/TLBI operation
prefetch?: ARM64; // PRFM operation.
barrier?: ARM64; // Memory barrier operation (ISB/DMB/DSB instructions).
sme_index?: {
// base/disp value for matrix tile slice instructions.
reg: ARM64; // register being indexed
base: ARM64; // base register
disp: number; // displacement/offset value
};
// How is this operand accessed? (READ, WRITE or READ|WRITE)
// This field is combined of cs_ac_type.
access: number;
}
export enum ARM64 {
// ARM64 shift type
SFT_INVALID = 0,
SFT_LSL = 1,
SFT_MSL = 2,
SFT_LSR = 3,
SFT_ASR = 4,
SFT_ROR = 5,
// ARM64 extender type
EXT_INVALID = 0,
EXT_UXTB = 1,
EXT_UXTH = 2,
EXT_UXTW = 3,
EXT_UXTX = 4,
EXT_SXTB = 5,
EXT_SXTH = 6,
EXT_SXTW = 7,
EXT_SXTX = 8,
// ARM64 condition code
CC_INVALID = 0,
CC_EQ = 1, // Equal
CC_NE = 2, // Not equal, or unordered
CC_HS = 3, // Carry set, >, ==, or unordered
CC_LO = 4, // Carry clear, Less than
CC_MI = 5, // Minus, negative, Less than
CC_PL = 6, // Plus, positive or zero, >, ==, or unordered
CC_VS = 7, // Overflow, Unordered
CC_VC = 8, // No overflow, Not unordered
CC_HI = 9, // Unsigned higher, Greater than, or unordered
CC_LS = 10, // Unsigned lower or same
CC_GE = 11, // Greater than or equal
CC_LT = 12, // Less than, or unordered
CC_GT = 13, // Greater than
CC_LE = 14, // Less than or equal, or unordered
CC_AL = 15, // Always (unconditional)
CC_NV = 16, // // Note the NV exists purely to disassemble 0b1111. Execution is "always".
// System registers for MRS
SYSREG_INVALID = 0,
SYSREG_ACCDATA_EL1 = 0xc685,
SYSREG_ACTLR_EL1 = 0xc081,
SYSREG_ACTLR_EL2 = 0xe081,
SYSREG_ACTLR_EL3 = 0xf081,
SYSREG_AFSR0_EL1 = 0xc288,
SYSREG_AFSR0_EL12 = 0xea88,
SYSREG_AFSR0_EL2 = 0xe288,
SYSREG_AFSR0_EL3 = 0xf288,
SYSREG_AFSR1_EL1 = 0xc289,
SYSREG_AFSR1_EL12 = 0xea89,
SYSREG_AFSR1_EL2 = 0xe289,
SYSREG_AFSR1_EL3 = 0xf289,
SYSREG_AIDR_EL1 = 0xc807,
SYSREG_AMAIR_EL1 = 0xc518,
SYSREG_AMAIR_EL12 = 0xed18,
SYSREG_AMAIR_EL2 = 0xe518,
SYSREG_AMAIR_EL3 = 0xf518,
SYSREG_AMCFGR_EL0 = 0xde91,
SYSREG_AMCGCR_EL0 = 0xde92,
SYSREG_AMCNTENCLR0_EL0 = 0xde94,
SYSREG_AMCNTENCLR1_EL0 = 0xde98,
SYSREG_AMCNTENSET0_EL0 = 0xde95,
SYSREG_AMCNTENSET1_EL0 = 0xde99,
SYSREG_AMCR_EL0 = 0xde90,
SYSREG_AMEVCNTR00_EL0 = 0xdea0,
SYSREG_AMEVCNTR01_EL0 = 0xdea1,
SYSREG_AMEVCNTR02_EL0 = 0xdea2,
SYSREG_AMEVCNTR03_EL0 = 0xdea3,
SYSREG_AMEVCNTR10_EL0 = 0xdee0,
SYSREG_AMEVCNTR110_EL0 = 0xdeea,
SYSREG_AMEVCNTR111_EL0 = 0xdeeb,
SYSREG_AMEVCNTR112_EL0 = 0xdeec,
SYSREG_AMEVCNTR113_EL0 = 0xdeed,
SYSREG_AMEVCNTR114_EL0 = 0xdeee,
SYSREG_AMEVCNTR115_EL0 = 0xdeef,
SYSREG_AMEVCNTR11_EL0 = 0xdee1,
SYSREG_AMEVCNTR12_EL0 = 0xdee2,
SYSREG_AMEVCNTR13_EL0 = 0xdee3,
SYSREG_AMEVCNTR14_EL0 = 0xdee4,
SYSREG_AMEVCNTR15_EL0 = 0xdee5,
SYSREG_AMEVCNTR16_EL0 = 0xdee6,
SYSREG_AMEVCNTR17_EL0 = 0xdee7,
SYSREG_AMEVCNTR18_EL0 = 0xdee8,
SYSREG_AMEVCNTR19_EL0 = 0xdee9,
SYSREG_AMEVCNTVOFF00_EL2 = 0xe6c0,
SYSREG_AMEVCNTVOFF010_EL2 = 0xe6ca,
SYSREG_AMEVCNTVOFF011_EL2 = 0xe6cb,
SYSREG_AMEVCNTVOFF012_EL2 = 0xe6cc,
SYSREG_AMEVCNTVOFF013_EL2 = 0xe6cd,
SYSREG_AMEVCNTVOFF014_EL2 = 0xe6ce,
SYSREG_AMEVCNTVOFF015_EL2 = 0xe6cf,
SYSREG_AMEVCNTVOFF01_EL2 = 0xe6c1,
SYSREG_AMEVCNTVOFF02_EL2 = 0xe6c2,
SYSREG_AMEVCNTVOFF03_EL2 = 0xe6c3,
SYSREG_AMEVCNTVOFF04_EL2 = 0xe6c4,
SYSREG_AMEVCNTVOFF05_EL2 = 0xe6c5,
SYSREG_AMEVCNTVOFF06_EL2 = 0xe6c6,
SYSREG_AMEVCNTVOFF07_EL2 = 0xe6c7,
SYSREG_AMEVCNTVOFF08_EL2 = 0xe6c8,
SYSREG_AMEVCNTVOFF09_EL2 = 0xe6c9,
SYSREG_AMEVCNTVOFF10_EL2 = 0xe6d0,
SYSREG_AMEVCNTVOFF110_EL2 = 0xe6da,
SYSREG_AMEVCNTVOFF111_EL2 = 0xe6db,
SYSREG_AMEVCNTVOFF112_EL2 = 0xe6dc,
SYSREG_AMEVCNTVOFF113_EL2 = 0xe6dd,
SYSREG_AMEVCNTVOFF114_EL2 = 0xe6de,
SYSREG_AMEVCNTVOFF115_EL2 = 0xe6df,
SYSREG_AMEVCNTVOFF11_EL2 = 0xe6d1,
SYSREG_AMEVCNTVOFF12_EL2 = 0xe6d2,
SYSREG_AMEVCNTVOFF13_EL2 = 0xe6d3,
SYSREG_AMEVCNTVOFF14_EL2 = 0xe6d4,
SYSREG_AMEVCNTVOFF15_EL2 = 0xe6d5,
SYSREG_AMEVCNTVOFF16_EL2 = 0xe6d6,
SYSREG_AMEVCNTVOFF17_EL2 = 0xe6d7,
SYSREG_AMEVCNTVOFF18_EL2 = 0xe6d8,
SYSREG_AMEVCNTVOFF19_EL2 = 0xe6d9,
SYSREG_AMEVTYPER00_EL0 = 0xdeb0,
SYSREG_AMEVTYPER01_EL0 = 0xdeb1,
SYSREG_AMEVTYPER02_EL0 = 0xdeb2,
SYSREG_AMEVTYPER03_EL0 = 0xdeb3,
SYSREG_AMEVTYPER10_EL0 = 0xdef0,
SYSREG_AMEVTYPER110_EL0 = 0xdefa,
SYSREG_AMEVTYPER111_EL0 = 0xdefb,
SYSREG_AMEVTYPER112_EL0 = 0xdefc,
SYSREG_AMEVTYPER113_EL0 = 0xdefd,
SYSREG_AMEVTYPER114_EL0 = 0xdefe,
SYSREG_AMEVTYPER115_EL0 = 0xdeff,
SYSREG_AMEVTYPER11_EL0 = 0xdef1,
SYSREG_AMEVTYPER12_EL0 = 0xdef2,
SYSREG_AMEVTYPER13_EL0 = 0xdef3,
SYSREG_AMEVTYPER14_EL0 = 0xdef4,
SYSREG_AMEVTYPER15_EL0 = 0xdef5,
SYSREG_AMEVTYPER16_EL0 = 0xdef6,
SYSREG_AMEVTYPER17_EL0 = 0xdef7,
SYSREG_AMEVTYPER18_EL0 = 0xdef8,
SYSREG_AMEVTYPER19_EL0 = 0xdef9,
SYSREG_AMUSERENR_EL0 = 0xde93,
SYSREG_APDAKEYHI_EL1 = 0xc111,
SYSREG_APDAKEYLO_EL1 = 0xc110,
SYSREG_APDBKEYHI_EL1 = 0xc113,
SYSREG_APDBKEYLO_EL1 = 0xc112,
SYSREG_APGAKEYHI_EL1 = 0xc119,
SYSREG_APGAKEYLO_EL1 = 0xc118,
SYSREG_APIAKEYHI_EL1 = 0xc109,
SYSREG_APIAKEYLO_EL1 = 0xc108,
SYSREG_APIBKEYHI_EL1 = 0xc10b,
SYSREG_APIBKEYLO_EL1 = 0xc10a,
SYSREG_BRBCR_EL1 = 0x8c80,
SYSREG_BRBCR_EL12 = 0xac80,
SYSREG_BRBCR_EL2 = 0xa480,
SYSREG_BRBFCR_EL1 = 0x8c81,
SYSREG_BRBIDR0_EL1 = 0x8c90,
SYSREG_BRBINF0_EL1 = 0x8c00,
SYSREG_BRBINF10_EL1 = 0x8c50,
SYSREG_BRBINF11_EL1 = 0x8c58,
SYSREG_BRBINF12_EL1 = 0x8c60,
SYSREG_BRBINF13_EL1 = 0x8c68,
SYSREG_BRBINF14_EL1 = 0x8c70,
SYSREG_BRBINF15_EL1 = 0x8c78,
SYSREG_BRBINF16_EL1 = 0x8c04,
SYSREG_BRBINF17_EL1 = 0x8c0c,
SYSREG_BRBINF18_EL1 = 0x8c14,
SYSREG_BRBINF19_EL1 = 0x8c1c,
SYSREG_BRBINF1_EL1 = 0x8c08,
SYSREG_BRBINF20_EL1 = 0x8c24,
SYSREG_BRBINF21_EL1 = 0x8c2c,
SYSREG_BRBINF22_EL1 = 0x8c34,
SYSREG_BRBINF23_EL1 = 0x8c3c,
SYSREG_BRBINF24_EL1 = 0x8c44,
SYSREG_BRBINF25_EL1 = 0x8c4c,
SYSREG_BRBINF26_EL1 = 0x8c54,
SYSREG_BRBINF27_EL1 = 0x8c5c,
SYSREG_BRBINF28_EL1 = 0x8c64,
SYSREG_BRBINF29_EL1 = 0x8c6c,
SYSREG_BRBINF2_EL1 = 0x8c10,
SYSREG_BRBINF30_EL1 = 0x8c74,
SYSREG_BRBINF31_EL1 = 0x8c7c,
SYSREG_BRBINF3_EL1 = 0x8c18,
SYSREG_BRBINF4_EL1 = 0x8c20,
SYSREG_BRBINF5_EL1 = 0x8c28,
SYSREG_BRBINF6_EL1 = 0x8c30,
SYSREG_BRBINF7_EL1 = 0x8c38,
SYSREG_BRBINF8_EL1 = 0x8c40,
SYSREG_BRBINF9_EL1 = 0x8c48,
SYSREG_BRBINFINJ_EL1 = 0x8c88,
SYSREG_BRBSRC0_EL1 = 0x8c01,
SYSREG_BRBSRC10_EL1 = 0x8c51,
SYSREG_BRBSRC11_EL1 = 0x8c59,
SYSREG_BRBSRC12_EL1 = 0x8c61,
SYSREG_BRBSRC13_EL1 = 0x8c69,
SYSREG_BRBSRC14_EL1 = 0x8c71,
SYSREG_BRBSRC15_EL1 = 0x8c79,
SYSREG_BRBSRC16_EL1 = 0x8c05,
SYSREG_BRBSRC17_EL1 = 0x8c0d,
SYSREG_BRBSRC18_EL1 = 0x8c15,
SYSREG_BRBSRC19_EL1 = 0x8c1d,
SYSREG_BRBSRC1_EL1 = 0x8c09,
SYSREG_BRBSRC20_EL1 = 0x8c25,
SYSREG_BRBSRC21_EL1 = 0x8c2d,
SYSREG_BRBSRC22_EL1 = 0x8c35,
SYSREG_BRBSRC23_EL1 = 0x8c3d,
SYSREG_BRBSRC24_EL1 = 0x8c45,
SYSREG_BRBSRC25_EL1 = 0x8c4d,
SYSREG_BRBSRC26_EL1 = 0x8c55,
SYSREG_BRBSRC27_EL1 = 0x8c5d,
SYSREG_BRBSRC28_EL1 = 0x8c65,
SYSREG_BRBSRC29_EL1 = 0x8c6d,
SYSREG_BRBSRC2_EL1 = 0x8c11,
SYSREG_BRBSRC30_EL1 = 0x8c75,
SYSREG_BRBSRC31_EL1 = 0x8c7d,
SYSREG_BRBSRC3_EL1 = 0x8c19,
SYSREG_BRBSRC4_EL1 = 0x8c21,
SYSREG_BRBSRC5_EL1 = 0x8c29,
SYSREG_BRBSRC6_EL1 = 0x8c31,
SYSREG_BRBSRC7_EL1 = 0x8c39,
SYSREG_BRBSRC8_EL1 = 0x8c41,
SYSREG_BRBSRC9_EL1 = 0x8c49,
SYSREG_BRBSRCINJ_EL1 = 0x8c89,
SYSREG_BRBTGT0_EL1 = 0x8c02,
SYSREG_BRBTGT10_EL1 = 0x8c52,
SYSREG_BRBTGT11_EL1 = 0x8c5a,
SYSREG_BRBTGT12_EL1 = 0x8c62,
SYSREG_BRBTGT13_EL1 = 0x8c6a,
SYSREG_BRBTGT14_EL1 = 0x8c72,
SYSREG_BRBTGT15_EL1 = 0x8c7a,
SYSREG_BRBTGT16_EL1 = 0x8c06,
SYSREG_BRBTGT17_EL1 = 0x8c0e,
SYSREG_BRBTGT18_EL1 = 0x8c16,
SYSREG_BRBTGT19_EL1 = 0x8c1e,
SYSREG_BRBTGT1_EL1 = 0x8c0a,
SYSREG_BRBTGT20_EL1 = 0x8c26,
SYSREG_BRBTGT21_EL1 = 0x8c2e,
SYSREG_BRBTGT22_EL1 = 0x8c36,
SYSREG_BRBTGT23_EL1 = 0x8c3e,
SYSREG_BRBTGT24_EL1 = 0x8c46,
SYSREG_BRBTGT25_EL1 = 0x8c4e,
SYSREG_BRBTGT26_EL1 = 0x8c56,
SYSREG_BRBTGT27_EL1 = 0x8c5e,
SYSREG_BRBTGT28_EL1 = 0x8c66,
SYSREG_BRBTGT29_EL1 = 0x8c6e,
SYSREG_BRBTGT2_EL1 = 0x8c12,
SYSREG_BRBTGT30_EL1 = 0x8c76,
SYSREG_BRBTGT31_EL1 = 0x8c7e,
SYSREG_BRBTGT3_EL1 = 0x8c1a,
SYSREG_BRBTGT4_EL1 = 0x8c22,
SYSREG_BRBTGT5_EL1 = 0x8c2a,
SYSREG_BRBTGT6_EL1 = 0x8c32,
SYSREG_BRBTGT7_EL1 = 0x8c3a,
SYSREG_BRBTGT8_EL1 = 0x8c42,
SYSREG_BRBTGT9_EL1 = 0x8c4a,
SYSREG_BRBTGTINJ_EL1 = 0x8c8a,
SYSREG_BRBTS_EL1 = 0x8c82,
SYSREG_CCSIDR2_EL1 = 0xc802,
SYSREG_CCSIDR_EL1 = 0xc800,
SYSREG_CLIDR_EL1 = 0xc801,
SYSREG_CNTFRQ_EL0 = 0xdf00,
SYSREG_CNTHCTL_EL2 = 0xe708,
SYSREG_CNTHPS_CTL_EL2 = 0xe729,
SYSREG_CNTHPS_CVAL_EL2 = 0xe72a,
SYSREG_CNTHPS_TVAL_EL2 = 0xe728,
SYSREG_CNTHP_CTL_EL2 = 0xe711,
SYSREG_CNTHP_CVAL_EL2 = 0xe712,
SYSREG_CNTHP_TVAL_EL2 = 0xe710,
SYSREG_CNTHVS_CTL_EL2 = 0xe721,
SYSREG_CNTHVS_CVAL_EL2 = 0xe722,
SYSREG_CNTHVS_TVAL_EL2 = 0xe720,
SYSREG_CNTHV_CTL_EL2 = 0xe719,
SYSREG_CNTHV_CVAL_EL2 = 0xe71a,
SYSREG_CNTHV_TVAL_EL2 = 0xe718,
SYSREG_CNTISCALE_EL2 = 0xe705,
SYSREG_CNTKCTL_EL1 = 0xc708,
SYSREG_CNTKCTL_EL12 = 0xef08,
SYSREG_CNTPCTSS_EL0 = 0xdf05,
SYSREG_CNTPCT_EL0 = 0xdf01,
SYSREG_CNTPOFF_EL2 = 0xe706,
SYSREG_CNTPS_CTL_EL1 = 0xff11,
SYSREG_CNTPS_CVAL_EL1 = 0xff12,
SYSREG_CNTPS_TVAL_EL1 = 0xff10,
SYSREG_CNTP_CTL_EL0 = 0xdf11,
SYSREG_CNTP_CTL_EL02 = 0xef11,
SYSREG_CNTP_CVAL_EL0 = 0xdf12,
SYSREG_CNTP_CVAL_EL02 = 0xef12,
SYSREG_CNTP_TVAL_EL0 = 0xdf10,
SYSREG_CNTP_TVAL_EL02 = 0xef10,
SYSREG_CNTSCALE_EL2 = 0xe704,
SYSREG_CNTVCTSS_EL0 = 0xdf06,
SYSREG_CNTVCT_EL0 = 0xdf02,
SYSREG_CNTVFRQ_EL2 = 0xe707,
SYSREG_CNTVOFF_EL2 = 0xe703,
SYSREG_CNTV_CTL_EL0 = 0xdf19,
SYSREG_CNTV_CTL_EL02 = 0xef19,
SYSREG_CNTV_CVAL_EL0 = 0xdf1a,
SYSREG_CNTV_CVAL_EL02 = 0xef1a,
SYSREG_CNTV_TVAL_EL0 = 0xdf18,
SYSREG_CNTV_TVAL_EL02 = 0xef18,
SYSREG_CONTEXTIDR_EL1 = 0xc681,
SYSREG_CONTEXTIDR_EL12 = 0xee81,
SYSREG_CONTEXTIDR_EL2 = 0xe681,
SYSREG_CPACR_EL1 = 0xc082,
SYSREG_CPACR_EL12 = 0xe882,
SYSREG_CPM_IOACC_CTL_EL3 = 0xff90,
SYSREG_CPTR_EL2 = 0xe08a,
SYSREG_CPTR_EL3 = 0xf08a,
SYSREG_CSSELR_EL1 = 0xd000,
SYSREG_CTR_EL0 = 0xd801,
SYSREG_CURRENTEL = 0xc212,
SYSREG_DACR32_EL2 = 0xe180,
SYSREG_DAIF = 0xda11,
SYSREG_DBGAUTHSTATUS_EL1 = 0x83f6,
SYSREG_DBGBCR0_EL1 = 0x8005,
SYSREG_DBGBCR10_EL1 = 0x8055,
SYSREG_DBGBCR11_EL1 = 0x805d,
SYSREG_DBGBCR12_EL1 = 0x8065,
SYSREG_DBGBCR13_EL1 = 0x806d,
SYSREG_DBGBCR14_EL1 = 0x8075,
SYSREG_DBGBCR15_EL1 = 0x807d,
SYSREG_DBGBCR1_EL1 = 0x800d,
SYSREG_DBGBCR2_EL1 = 0x8015,
SYSREG_DBGBCR3_EL1 = 0x801d,
SYSREG_DBGBCR4_EL1 = 0x8025,
SYSREG_DBGBCR5_EL1 = 0x802d,
SYSREG_DBGBCR6_EL1 = 0x8035,
SYSREG_DBGBCR7_EL1 = 0x803d,
SYSREG_DBGBCR8_EL1 = 0x8045,
SYSREG_DBGBCR9_EL1 = 0x804d,
SYSREG_DBGBVR0_EL1 = 0x8004,
SYSREG_DBGBVR10_EL1 = 0x8054,
SYSREG_DBGBVR11_EL1 = 0x805c,
SYSREG_DBGBVR12_EL1 = 0x8064,
SYSREG_DBGBVR13_EL1 = 0x806c,
SYSREG_DBGBVR14_EL1 = 0x8074,
SYSREG_DBGBVR15_EL1 = 0x807c,
SYSREG_DBGBVR1_EL1 = 0x800c,
SYSREG_DBGBVR2_EL1 = 0x8014,
SYSREG_DBGBVR3_EL1 = 0x801c,
SYSREG_DBGBVR4_EL1 = 0x8024,
SYSREG_DBGBVR5_EL1 = 0x802c,
SYSREG_DBGBVR6_EL1 = 0x8034,
SYSREG_DBGBVR7_EL1 = 0x803c,
SYSREG_DBGBVR8_EL1 = 0x8044,
SYSREG_DBGBVR9_EL1 = 0x804c,
SYSREG_DBGCLAIMCLR_EL1 = 0x83ce,
SYSREG_DBGCLAIMSET_EL1 = 0x83c6,
SYSREG_DBGDTRRX_EL0 = 0x9828,
SYSREG_DBGDTRTX_EL0 = 0x9828,
SYSREG_DBGDTR_EL0 = 0x9820,
SYSREG_DBGPRCR_EL1 = 0x80a4,
SYSREG_DBGVCR32_EL2 = 0xa038,
SYSREG_DBGWCR0_EL1 = 0x8007,
SYSREG_DBGWCR10_EL1 = 0x8057,
SYSREG_DBGWCR11_EL1 = 0x805f,
SYSREG_DBGWCR12_EL1 = 0x8067,
SYSREG_DBGWCR13_EL1 = 0x806f,
SYSREG_DBGWCR14_EL1 = 0x8077,
SYSREG_DBGWCR15_EL1 = 0x807f,
SYSREG_DBGWCR1_EL1 = 0x800f,
SYSREG_DBGWCR2_EL1 = 0x8017,
SYSREG_DBGWCR3_EL1 = 0x801f,
SYSREG_DBGWCR4_EL1 = 0x8027,
SYSREG_DBGWCR5_EL1 = 0x802f,
SYSREG_DBGWCR6_EL1 = 0x8037,
SYSREG_DBGWCR7_EL1 = 0x803f,
SYSREG_DBGWCR8_EL1 = 0x8047,
SYSREG_DBGWCR9_EL1 = 0x804f,
SYSREG_DBGWVR0_EL1 = 0x8006,
SYSREG_DBGWVR10_EL1 = 0x8056,
SYSREG_DBGWVR11_EL1 = 0x805e,
SYSREG_DBGWVR12_EL1 = 0x8066,
SYSREG_DBGWVR13_EL1 = 0x806e,
SYSREG_DBGWVR14_EL1 = 0x8076,
SYSREG_DBGWVR15_EL1 = 0x807e,
SYSREG_DBGWVR1_EL1 = 0x800e,
SYSREG_DBGWVR2_EL1 = 0x8016,
SYSREG_DBGWVR3_EL1 = 0x801e,
SYSREG_DBGWVR4_EL1 = 0x8026,
SYSREG_DBGWVR5_EL1 = 0x802e,
SYSREG_DBGWVR6_EL1 = 0x8036,
SYSREG_DBGWVR7_EL1 = 0x803e,
SYSREG_DBGWVR8_EL1 = 0x8046,
SYSREG_DBGWVR9_EL1 = 0x804e,
SYSREG_DCZID_EL0 = 0xd807,
SYSREG_DISR_EL1 = 0xc609,
SYSREG_DIT = 0xda15,
SYSREG_DLR_EL0 = 0xda29,
SYSREG_DSPSR_EL0 = 0xda28,
SYSREG_ELR_EL1 = 0xc201,
SYSREG_ELR_EL12 = 0xea01,
SYSREG_ELR_EL2 = 0xe201,
SYSREG_ELR_EL3 = 0xf201,
SYSREG_ERRIDR_EL1 = 0xc298,
SYSREG_ERRSELR_EL1 = 0xc299,
SYSREG_ERXADDR_EL1 = 0xc2a3,
SYSREG_ERXCTLR_EL1 = 0xc2a1,
SYSREG_ERXFR_EL1 = 0xc2a0,
SYSREG_ERXMISC0_EL1 = 0xc2a8,
SYSREG_ERXMISC1_EL1 = 0xc2a9,
SYSREG_ERXMISC2_EL1 = 0xc2aa,
SYSREG_ERXMISC3_EL1 = 0xc2ab,
SYSREG_ERXPFGCDN_EL1 = 0xc2a6,
SYSREG_ERXPFGCTL_EL1 = 0xc2a5,
SYSREG_ERXPFGF_EL1 = 0xc2a4,
SYSREG_ERXSTATUS_EL1 = 0xc2a2,
SYSREG_ESR_EL1 = 0xc290,
SYSREG_ESR_EL12 = 0xea90,
SYSREG_ESR_EL2 = 0xe290,
SYSREG_ESR_EL3 = 0xf290,
SYSREG_FAR_EL1 = 0xc300,
SYSREG_FAR_EL12 = 0xeb00,
SYSREG_FAR_EL2 = 0xe300,
SYSREG_FAR_EL3 = 0xf300,
SYSREG_FPCR = 0xda20,
SYSREG_FPEXC32_EL2 = 0xe298,
SYSREG_FPSR = 0xda21,
SYSREG_GCR_EL1 = 0xc086,
SYSREG_GMID_EL1 = 0xc804,
SYSREG_GPCCR_EL3 = 0xf10e,
SYSREG_GPTBR_EL3 = 0xf10c,
SYSREG_HACR_EL2 = 0xe08f,
SYSREG_HCRX_EL2 = 0xe092,
SYSREG_HCR_EL2 = 0xe088,
SYSREG_HDFGRTR_EL2 = 0xe18c,
SYSREG_HDFGWTR_EL2 = 0xe18d,
SYSREG_HFGITR_EL2 = 0xe08e,
SYSREG_HFGRTR_EL2 = 0xe08c,
SYSREG_HFGWTR_EL2 = 0xe08d,
SYSREG_HPFAR_EL2 = 0xe304,
SYSREG_HSTR_EL2 = 0xe08b,
SYSREG_ICC_AP0R0_EL1 = 0xc644,
SYSREG_ICC_AP0R1_EL1 = 0xc645,
SYSREG_ICC_AP0R2_EL1 = 0xc646,
SYSREG_ICC_AP0R3_EL1 = 0xc647,
SYSREG_ICC_AP1R0_EL1 = 0xc648,
SYSREG_ICC_AP1R1_EL1 = 0xc649,
SYSREG_ICC_AP1R2_EL1 = 0xc64a,
SYSREG_ICC_AP1R3_EL1 = 0xc64b,
SYSREG_ICC_ASGI1R_EL1 = 0xc65e,
SYSREG_ICC_BPR0_EL1 = 0xc643,
SYSREG_ICC_BPR1_EL1 = 0xc663,
SYSREG_ICC_CTLR_EL1 = 0xc664,
SYSREG_ICC_CTLR_EL3 = 0xf664,
SYSREG_ICC_DIR_EL1 = 0xc659,
SYSREG_ICC_EOIR0_EL1 = 0xc641,
SYSREG_ICC_EOIR1_EL1 = 0xc661,
SYSREG_ICC_HPPIR0_EL1 = 0xc642,
SYSREG_ICC_HPPIR1_EL1 = 0xc662,
SYSREG_ICC_IAR0_EL1 = 0xc640,
SYSREG_ICC_IAR1_EL1 = 0xc660,
SYSREG_ICC_IGRPEN0_EL1 = 0xc666,
SYSREG_ICC_IGRPEN1_EL1 = 0xc667,
SYSREG_ICC_IGRPEN1_EL3 = 0xf667,
SYSREG_ICC_PMR_EL1 = 0xc230,
SYSREG_ICC_RPR_EL1 = 0xc65b,
SYSREG_ICC_SGI0R_EL1 = 0xc65f,
SYSREG_ICC_SGI1R_EL1 = 0xc65d,
SYSREG_ICC_SRE_EL1 = 0xc665,
SYSREG_ICC_SRE_EL2 = 0xe64d,
SYSREG_ICC_SRE_EL3 = 0xf665,
SYSREG_ICH_AP0R0_EL2 = 0xe640,
SYSREG_ICH_AP0R1_EL2 = 0xe641,
SYSREG_ICH_AP0R2_EL2 = 0xe642,
SYSREG_ICH_AP0R3_EL2 = 0xe643,
SYSREG_ICH_AP1R0_EL2 = 0xe648,
SYSREG_ICH_AP1R1_EL2 = 0xe649,
SYSREG_ICH_AP1R2_EL2 = 0xe64a,
SYSREG_ICH_AP1R3_EL2 = 0xe64b,
SYSREG_ICH_EISR_EL2 = 0xe65b,
SYSREG_ICH_ELRSR_EL2 = 0xe65d,
SYSREG_ICH_HCR_EL2 = 0xe658,
SYSREG_ICH_LR0_EL2 = 0xe660,
SYSREG_ICH_LR10_EL2 = 0xe66a,
SYSREG_ICH_LR11_EL2 = 0xe66b,
SYSREG_ICH_LR12_EL2 = 0xe66c,
SYSREG_ICH_LR13_EL2 = 0xe66d,
SYSREG_ICH_LR14_EL2 = 0xe66e,
SYSREG_ICH_LR15_EL2 = 0xe66f,
SYSREG_ICH_LR1_EL2 = 0xe661,
SYSREG_ICH_LR2_EL2 = 0xe662,
SYSREG_ICH_LR3_EL2 = 0xe663,
SYSREG_ICH_LR4_EL2 = 0xe664,
SYSREG_ICH_LR5_EL2 = 0xe665,
SYSREG_ICH_LR6_EL2 = 0xe666,
SYSREG_ICH_LR7_EL2 = 0xe667,
SYSREG_ICH_LR8_EL2 = 0xe668,
SYSREG_ICH_LR9_EL2 = 0xe669,
SYSREG_ICH_MISR_EL2 = 0xe65a,
SYSREG_ICH_VMCR_EL2 = 0xe65f,
SYSREG_ICH_VTR_EL2 = 0xe659,
SYSREG_ID_AA64AFR0_EL1 = 0xc02c,
SYSREG_ID_AA64AFR1_EL1 = 0xc02d,
SYSREG_ID_AA64DFR0_EL1 = 0xc028,
SYSREG_ID_AA64DFR1_EL1 = 0xc029,
SYSREG_ID_AA64ISAR0_EL1 = 0xc030,
SYSREG_ID_AA64ISAR1_EL1 = 0xc031,
SYSREG_ID_AA64ISAR2_EL1 = 0xc032,
SYSREG_ID_AA64MMFR0_EL1 = 0xc038,
SYSREG_ID_AA64MMFR1_EL1 = 0xc039,
SYSREG_ID_AA64MMFR2_EL1 = 0xc03a,
SYSREG_ID_AA64PFR0_EL1 = 0xc020,
SYSREG_ID_AA64PFR1_EL1 = 0xc021,
SYSREG_ID_AA64SMFR0_EL1 = 0xc025,
SYSREG_ID_AA64ZFR0_EL1 = 0xc024,
SYSREG_ID_AFR0_EL1 = 0xc00b,
SYSREG_ID_DFR0_EL1 = 0xc00a,
SYSREG_ID_ISAR0_EL1 = 0xc010,
SYSREG_ID_ISAR1_EL1 = 0xc011,
SYSREG_ID_ISAR2_EL1 = 0xc012,
SYSREG_ID_ISAR3_EL1 = 0xc013,
SYSREG_ID_ISAR4_EL1 = 0xc014,
SYSREG_ID_ISAR5_EL1 = 0xc015,
SYSREG_ID_ISAR6_EL1 = 0xc017,
SYSREG_ID_MMFR0_EL1 = 0xc00c,
SYSREG_ID_MMFR1_EL1 = 0xc00d,
SYSREG_ID_MMFR2_EL1 = 0xc00e,
SYSREG_ID_MMFR3_EL1 = 0xc00f,
SYSREG_ID_MMFR4_EL1 = 0xc016,
SYSREG_ID_MMFR5_EL1 = 0xc01e,
SYSREG_ID_PFR0_EL1 = 0xc008,
SYSREG_ID_PFR1_EL1 = 0xc009,
SYSREG_ID_PFR2_EL1 = 0xc01c,
SYSREG_IFSR32_EL2 = 0xe281,
SYSREG_ISR_EL1 = 0xc608,
SYSREG_LORC_EL1 = 0xc523,
SYSREG_LOREA_EL1 = 0xc521,
SYSREG_LORID_EL1 = 0xc527,
SYSREG_LORN_EL1 = 0xc522,
SYSREG_LORSA_EL1 = 0xc520,
SYSREG_MAIR_EL1 = 0xc510,
SYSREG_MAIR_EL12 = 0xed10,
SYSREG_MAIR_EL2 = 0xe510,
SYSREG_MAIR_EL3 = 0xf510,
SYSREG_MDCCINT_EL1 = 0x8010,
SYSREG_MDCCSR_EL0 = 0x9808,
SYSREG_MDCR_EL2 = 0xe089,
SYSREG_MDCR_EL3 = 0xf099,
SYSREG_MDRAR_EL1 = 0x8080,
SYSREG_MDSCR_EL1 = 0x8012,
SYSREG_MFAR_EL3 = 0xf305,
SYSREG_MIDR_EL1 = 0xc000,
SYSREG_MPAM0_EL1 = 0xc529,
SYSREG_MPAM1_EL1 = 0xc528,
SYSREG_MPAM1_EL12 = 0xed28,
SYSREG_MPAM2_EL2 = 0xe528,
SYSREG_MPAM3_EL3 = 0xf528,
SYSREG_MPAMHCR_EL2 = 0xe520,
SYSREG_MPAMIDR_EL1 = 0xc524,
SYSREG_MPAMSM_EL1 = 0xc52b,
SYSREG_MPAMVPM0_EL2 = 0xe530,
SYSREG_MPAMVPM1_EL2 = 0xe531,
SYSREG_MPAMVPM2_EL2 = 0xe532,
SYSREG_MPAMVPM3_EL2 = 0xe533,
SYSREG_MPAMVPM4_EL2 = 0xe534,
SYSREG_MPAMVPM5_EL2 = 0xe535,
SYSREG_MPAMVPM6_EL2 = 0xe536,
SYSREG_MPAMVPM7_EL2 = 0xe537,
SYSREG_MPAMVPMV_EL2 = 0xe521,
SYSREG_MPIDR_EL1 = 0xc005,
SYSREG_MPUIR_EL1 = 0xc004,
SYSREG_MPUIR_EL2 = 0xe004,
SYSREG_MVFR0_EL1 = 0xc018,
SYSREG_MVFR1_EL1 = 0xc019,
SYSREG_MVFR2_EL1 = 0xc01a,
SYSREG_NZCV = 0xda10,
SYSREG_OSDLR_EL1 = 0x809c,
SYSREG_OSDTRRX_EL1 = 0x8002,
SYSREG_OSDTRTX_EL1 = 0x801a,
SYSREG_OSECCR_EL1 = 0x8032,
SYSREG_OSLAR_EL1 = 0x8084,
SYSREG_OSLSR_EL1 = 0x808c,
SYSREG_PAN = 0xc213,
SYSREG_PAR_EL1 = 0xc3a0,
SYSREG_PMBIDR_EL1 = 0xc4d7,
SYSREG_PMBLIMITR_EL1 = 0xc4d0,
SYSREG_PMBPTR_EL1 = 0xc4d1,
SYSREG_PMBSR_EL1 = 0xc4d3,
SYSREG_PMCCFILTR_EL0 = 0xdf7f,
SYSREG_PMCCNTR_EL0 = 0xdce8,
SYSREG_PMCEID0_EL0 = 0xdce6,
SYSREG_PMCEID1_EL0 = 0xdce7,
SYSREG_PMCNTENCLR_EL0 = 0xdce2,
SYSREG_PMCNTENSET_EL0 = 0xdce1,
SYSREG_PMCR_EL0 = 0xdce0,
SYSREG_PMEVCNTR0_EL0 = 0xdf40,
SYSREG_PMEVCNTR10_EL0 = 0xdf4a,
SYSREG_PMEVCNTR11_EL0 = 0xdf4b,
SYSREG_PMEVCNTR12_EL0 = 0xdf4c,
SYSREG_PMEVCNTR13_EL0 = 0xdf4d,
SYSREG_PMEVCNTR14_EL0 = 0xdf4e,
SYSREG_PMEVCNTR15_EL0 = 0xdf4f,
SYSREG_PMEVCNTR16_EL0 = 0xdf50,
SYSREG_PMEVCNTR17_EL0 = 0xdf51,
SYSREG_PMEVCNTR18_EL0 = 0xdf52,
SYSREG_PMEVCNTR19_EL0 = 0xdf53,
SYSREG_PMEVCNTR1_EL0 = 0xdf41,
SYSREG_PMEVCNTR20_EL0 = 0xdf54,
SYSREG_PMEVCNTR21_EL0 = 0xdf55,
SYSREG_PMEVCNTR22_EL0 = 0xdf56,
SYSREG_PMEVCNTR23_EL0 = 0xdf57,
SYSREG_PMEVCNTR24_EL0 = 0xdf58,
SYSREG_PMEVCNTR25_EL0 = 0xdf59,
SYSREG_PMEVCNTR26_EL0 = 0xdf5a,
SYSREG_PMEVCNTR27_EL0 = 0xdf5b,
SYSREG_PMEVCNTR28_EL0 = 0xdf5c,
SYSREG_PMEVCNTR29_EL0 = 0xdf5d,
SYSREG_PMEVCNTR2_EL0 = 0xdf42,
SYSREG_PMEVCNTR30_EL0 = 0xdf5e,
SYSREG_PMEVCNTR3_EL0 = 0xdf43,
SYSREG_PMEVCNTR4_EL0 = 0xdf44,
SYSREG_PMEVCNTR5_EL0 = 0xdf45,
SYSREG_PMEVCNTR6_EL0 = 0xdf46,
SYSREG_PMEVCNTR7_EL0 = 0xdf47,
SYSREG_PMEVCNTR8_EL0 = 0xdf48,
SYSREG_PMEVCNTR9_EL0 = 0xdf49,
SYSREG_PMEVTYPER0_EL0 = 0xdf60,
SYSREG_PMEVTYPER10_EL0 = 0xdf6a,
SYSREG_PMEVTYPER11_EL0 = 0xdf6b,
SYSREG_PMEVTYPER12_EL0 = 0xdf6c,
SYSREG_PMEVTYPER13_EL0 = 0xdf6d,
SYSREG_PMEVTYPER14_EL0 = 0xdf6e,
SYSREG_PMEVTYPER15_EL0 = 0xdf6f,
SYSREG_PMEVTYPER16_EL0 = 0xdf70,
SYSREG_PMEVTYPER17_EL0 = 0xdf71,
SYSREG_PMEVTYPER18_EL0 = 0xdf72,
SYSREG_PMEVTYPER19_EL0 = 0xdf73,
SYSREG_PMEVTYPER1_EL0 = 0xdf61,
SYSREG_PMEVTYPER20_EL0 = 0xdf74,
SYSREG_PMEVTYPER21_EL0 = 0xdf75,
SYSREG_PMEVTYPER22_EL0 = 0xdf76,
SYSREG_PMEVTYPER23_EL0 = 0xdf77,
SYSREG_PMEVTYPER24_EL0 = 0xdf78,
SYSREG_PMEVTYPER25_EL0 = 0xdf79,
SYSREG_PMEVTYPER26_EL0 = 0xdf7a,
SYSREG_PMEVTYPER27_EL0 = 0xdf7b,
SYSREG_PMEVTYPER28_EL0 = 0xdf7c,
SYSREG_PMEVTYPER29_EL0 = 0xdf7d,
SYSREG_PMEVTYPER2_EL0 = 0xdf62,
SYSREG_PMEVTYPER30_EL0 = 0xdf7e,
SYSREG_PMEVTYPER3_EL0 = 0xdf63,
SYSREG_PMEVTYPER4_EL0 = 0xdf64,
SYSREG_PMEVTYPER5_EL0 = 0xdf65,
SYSREG_PMEVTYPER6_EL0 = 0xdf66,
SYSREG_PMEVTYPER7_EL0 = 0xdf67,
SYSREG_PMEVTYPER8_EL0 = 0xdf68,
SYSREG_PMEVTYPER9_EL0 = 0xdf69,
SYSREG_PMINTENCLR_EL1 = 0xc4f2,
SYSREG_PMINTENSET_EL1 = 0xc4f1,
SYSREG_PMMIR_EL1 = 0xc4f6,
SYSREG_PMOVSCLR_EL0 = 0xdce3,
SYSREG_PMOVSSET_EL0 = 0xdcf3,
SYSREG_PMSCR_EL1 = 0xc4c8,
SYSREG_PMSCR_EL12 = 0xecc8,
SYSREG_PMSCR_EL2 = 0xe4c8,
SYSREG_PMSELR_EL0 = 0xdce5,
SYSREG_PMSEVFR_EL1 = 0xc4cd,
SYSREG_PMSFCR_EL1 = 0xc4cc,
SYSREG_PMSICR_EL1 = 0xc4ca,
SYSREG_PMSIDR_EL1 = 0xc4cf,
SYSREG_PMSIRR_EL1 = 0xc4cb,
SYSREG_PMSLATFR_EL1 = 0xc4ce,
SYSREG_PMSNEVFR_EL1 = 0xc4c9,
SYSREG_PMSWINC_EL0 = 0xdce4,
SYSREG_PMUSERENR_EL0 = 0xdcf0,
SYSREG_PMXEVCNTR_EL0 = 0xdcea,
SYSREG_PMXEVTYPER_EL0 = 0xdce9,
SYSREG_PRBAR10_EL1 = 0xc368,
SYSREG_PRBAR10_EL2 = 0xe368,
SYSREG_PRBAR11_EL1 = 0xc36c,
SYSREG_PRBAR11_EL2 = 0xe36c,
SYSREG_PRBAR12_EL1 = 0xc370,
SYSREG_PRBAR12_EL2 = 0xe370,
SYSREG_PRBAR13_EL1 = 0xc374,
SYSREG_PRBAR13_EL2 = 0xe374,
SYSREG_PRBAR14_EL1 = 0xc378,
SYSREG_PRBAR14_EL2 = 0xe378,
SYSREG_PRBAR15_EL1 = 0xc37c,
SYSREG_PRBAR15_EL2 = 0xe37c,
SYSREG_PRBAR1_EL1 = 0xc344,
SYSREG_PRBAR1_EL2 = 0xe344,
SYSREG_PRBAR2_EL1 = 0xc348,
SYSREG_PRBAR2_EL2 = 0xe348,
SYSREG_PRBAR3_EL1 = 0xc34c,
SYSREG_PRBAR3_EL2 = 0xe34c,
SYSREG_PRBAR4_EL1 = 0xc350,
SYSREG_PRBAR4_EL2 = 0xe350,
SYSREG_PRBAR5_EL1 = 0xc354,
SYSREG_PRBAR5_EL2 = 0xe354,
SYSREG_PRBAR6_EL1 = 0xc358,
SYSREG_PRBAR6_EL2 = 0xe358,
SYSREG_PRBAR7_EL1 = 0xc35c,
SYSREG_PRBAR7_EL2 = 0xe35c,
SYSREG_PRBAR8_EL1 = 0xc360,
SYSREG_PRBAR8_EL2 = 0xe360,
SYSREG_PRBAR9_EL1 = 0xc364,
SYSREG_PRBAR9_EL2 = 0xe364,
SYSREG_PRBAR_EL1 = 0xc340,
SYSREG_PRBAR_EL2 = 0xe340,
SYSREG_PRENR_EL1 = 0xc309,
SYSREG_PRENR_EL2 = 0xe309,
SYSREG_PRLAR10_EL1 = 0xc369,
SYSREG_PRLAR10_EL2 = 0xe369,
SYSREG_PRLAR11_EL1 = 0xc36d,
SYSREG_PRLAR11_EL2 = 0xe36d,
SYSREG_PRLAR12_EL1 = 0xc371,
SYSREG_PRLAR12_EL2 = 0xe371,
SYSREG_PRLAR13_EL1 = 0xc375,
SYSREG_PRLAR13_EL2 = 0xe375,
SYSREG_PRLAR14_EL1 = 0xc379,
SYSREG_PRLAR14_EL2 = 0xe379,
SYSREG_PRLAR15_EL1 = 0xc37d,
SYSREG_PRLAR15_EL2 = 0xe37d,
SYSREG_PRLAR1_EL1 = 0xc345,
SYSREG_PRLAR1_EL2 = 0xe345,
SYSREG_PRLAR2_EL1 = 0xc349,
SYSREG_PRLAR2_EL2 = 0xe349,
SYSREG_PRLAR3_EL1 = 0xc34d,
SYSREG_PRLAR3_EL2 = 0xe34d,
SYSREG_PRLAR4_EL1 = 0xc351,
SYSREG_PRLAR4_EL2 = 0xe351,
SYSREG_PRLAR5_EL1 = 0xc355,
SYSREG_PRLAR5_EL2 = 0xe355,
SYSREG_PRLAR6_EL1 = 0xc359,
SYSREG_PRLAR6_EL2 = 0xe359,
SYSREG_PRLAR7_EL1 = 0xc35d,
SYSREG_PRLAR7_EL2 = 0xe35d,
SYSREG_PRLAR8_EL1 = 0xc361,
SYSREG_PRLAR8_EL2 = 0xe361,
SYSREG_PRLAR9_EL1 = 0xc365,
SYSREG_PRLAR9_EL2 = 0xe365,
SYSREG_PRLAR_EL1 = 0xc341,
SYSREG_PRLAR_EL2 = 0xe341,
SYSREG_PRSELR_EL1 = 0xc311,
SYSREG_PRSELR_EL2 = 0xe311,
SYSREG_REVIDR_EL1 = 0xc006,
SYSREG_RGSR_EL1 = 0xc085,
SYSREG_RMR_EL1 = 0xc602,
SYSREG_RMR_EL2 = 0xe602,
SYSREG_RMR_EL3 = 0xf602,
SYSREG_RNDR = 0xd920,
SYSREG_RNDRRS = 0xd921,
SYSREG_RVBAR_EL1 = 0xc601,
SYSREG_RVBAR_EL2 = 0xe601,
SYSREG_RVBAR_EL3 = 0xf601,
SYSREG_SCR_EL3 = 0xf088,
SYSREG_SCTLR_EL1 = 0xc080,
SYSREG_SCTLR_EL12 = 0xe880,
SYSREG_SCTLR_EL2 = 0xe080,
SYSREG_SCTLR_EL3 = 0xf080,
SYSREG_SCXTNUM_EL0 = 0xde87,
SYSREG_SCXTNUM_EL1 = 0xc687,
SYSREG_SCXTNUM_EL12 = 0xee87,
SYSREG_SCXTNUM_EL2 = 0xe687,
SYSREG_SCXTNUM_EL3 = 0xf687,
SYSREG_SDER32_EL2 = 0xe099,
SYSREG_SDER32_EL3 = 0xf089,
SYSREG_SMCR_EL1 = 0xc096,
SYSREG_SMCR_EL12 = 0xe896,
SYSREG_SMCR_EL2 = 0xe096,
SYSREG_SMCR_EL3 = 0xf096,
SYSREG_SMIDR_EL1 = 0xc806,
SYSREG_SMPRIMAP_EL2 = 0xe095,
SYSREG_SMPRI_EL1 = 0xc094,
SYSREG_SPSEL = 0xc210,
SYSREG_SPSR_ABT = 0xe219,
SYSREG_SPSR_EL1 = 0xc200,
SYSREG_SPSR_EL12 = 0xea00,
SYSREG_SPSR_EL2 = 0xe200,
SYSREG_SPSR_EL3 = 0xf200,
SYSREG_SPSR_FIQ = 0xe21b,
SYSREG_SPSR_IRQ = 0xe218,
SYSREG_SPSR_UND = 0xe21a,
SYSREG_SP_EL0 = 0xc208,
SYSREG_SP_EL1 = 0xe208,
SYSREG_SP_EL2 = 0xf208,
SYSREG_SSBS = 0xda16,
SYSREG_SVCR = 0xda12,
SYSREG_TCO = 0xda17,
SYSREG_TCR_EL1 = 0xc102,
SYSREG_TCR_EL12 = 0xe902,
SYSREG_TCR_EL2 = 0xe102,
SYSREG_TCR_EL3 = 0xf102,
SYSREG_TEECR32_EL1 = 0x9000,
SYSREG_TEEHBR32_EL1 = 0x9080,
SYSREG_TFSRE0_EL1 = 0xc2b1,
SYSREG_TFSR_EL1 = 0xc2b0,
SYSREG_TFSR_EL12 = 0xeab0,
SYSREG_TFSR_EL2 = 0xe2b0,
SYSREG_TFSR_EL3 = 0xf2b0,
SYSREG_TPIDR2_EL0 = 0xde85,
SYSREG_TPIDRRO_EL0 = 0xde83,
SYSREG_TPIDR_EL0 = 0xde82,
SYSREG_TPIDR_EL1 = 0xc684,
SYSREG_TPIDR_EL2 = 0xe682,
SYSREG_TPIDR_EL3 = 0xf682,
SYSREG_TRBBASER_EL1 = 0xc4da,
SYSREG_TRBIDR_EL1 = 0xc4df,
SYSREG_TRBLIMITR_EL1 = 0xc4d8,
SYSREG_TRBMAR_EL1 = 0xc4dc,
SYSREG_TRBPTR_EL1 = 0xc4d9,
SYSREG_TRBSR_EL1 = 0xc4db,
SYSREG_TRBTRG_EL1 = 0xc4de,
SYSREG_TRCACATR0 = 0x8902,
SYSREG_TRCACATR1 = 0x8912,
SYSREG_TRCACATR10 = 0x8923,
SYSREG_TRCACATR11 = 0x8933,
SYSREG_TRCACATR12 = 0x8943,
SYSREG_TRCACATR13 = 0x8953,
SYSREG_TRCACATR14 = 0x8963,
SYSREG_TRCACATR15 = 0x8973,
SYSREG_TRCACATR2 = 0x8922,
SYSREG_TRCACATR3 = 0x8932,
SYSREG_TRCACATR4 = 0x8942,
SYSREG_TRCACATR5 = 0x8952,
SYSREG_TRCACATR6 = 0x8962,
SYSREG_TRCACATR7 = 0x8972,
SYSREG_TRCACATR8 = 0x8903,
SYSREG_TRCACATR9 = 0x8913,
SYSREG_TRCACVR0 = 0x8900,
SYSREG_TRCACVR1 = 0x8910,
SYSREG_TRCACVR10 = 0x8921,
SYSREG_TRCACVR11 = 0x8931,
SYSREG_TRCACVR12 = 0x8941,
SYSREG_TRCACVR13 = 0x8951,
SYSREG_TRCACVR14 = 0x8961,
SYSREG_TRCACVR15 = 0x8971,
SYSREG_TRCACVR2 = 0x8920,
SYSREG_TRCACVR3 = 0x8930,
SYSREG_TRCACVR4 = 0x8940,
SYSREG_TRCACVR5 = 0x8950,
SYSREG_TRCACVR6 = 0x8960,
SYSREG_TRCACVR7 = 0x8970,
SYSREG_TRCACVR8 = 0x8901,
SYSREG_TRCACVR9 = 0x8911,
SYSREG_TRCAUTHSTATUS = 0x8bf6,
SYSREG_TRCAUXCTLR = 0x8830,
SYSREG_TRCBBCTLR = 0x8878,
SYSREG_TRCCCCTLR = 0x8870,
SYSREG_TRCCIDCCTLR0 = 0x8982,
SYSREG_TRCCIDCCTLR1 = 0x898a,
SYSREG_TRCCIDCVR0 = 0x8980,
SYSREG_TRCCIDCVR1 = 0x8990,
SYSREG_TRCCIDCVR2 = 0x89a0,
SYSREG_TRCCIDCVR3 = 0x89b0,
SYSREG_TRCCIDCVR4 = 0x89c0,
SYSREG_TRCCIDCVR5 = 0x89d0,
SYSREG_TRCCIDCVR6 = 0x89e0,
SYSREG_TRCCIDCVR7 = 0x89f0,
SYSREG_TRCCIDR0 = 0x8be7,
SYSREG_TRCCIDR1 = 0x8bef,
SYSREG_TRCCIDR2 = 0x8bf7,
SYSREG_TRCCIDR3 = 0x8bff,
SYSREG_TRCCLAIMCLR = 0x8bce,
SYSREG_TRCCLAIMSET = 0x8bc6,
SYSREG_TRCCNTCTLR0 = 0x8825,
SYSREG_TRCCNTCTLR1 = 0x882d,
SYSREG_TRCCNTCTLR2 = 0x8835,
SYSREG_TRCCNTCTLR3 = 0x883d,
SYSREG_TRCCNTRLDVR0 = 0x8805,
SYSREG_TRCCNTRLDVR1 = 0x880d,
SYSREG_TRCCNTRLDVR2 = 0x8815,
SYSREG_TRCCNTRLDVR3 = 0x881d,
SYSREG_TRCCNTVR0 = 0x8845,
SYSREG_TRCCNTVR1 = 0x884d,
SYSREG_TRCCNTVR2 = 0x8855,
SYSREG_TRCCNTVR3 = 0x885d,
SYSREG_TRCCONFIGR = 0x8820,
SYSREG_TRCDEVAFF0 = 0x8bd6,
SYSREG_TRCDEVAFF1 = 0x8bde,
SYSREG_TRCDEVARCH = 0x8bfe,
SYSREG_TRCDEVID = 0x8b97,
SYSREG_TRCDEVTYPE = 0x8b9f,
SYSREG_TRCDVCMR0 = 0x8906,
SYSREG_TRCDVCMR1 = 0x8926,
SYSREG_TRCDVCMR2 = 0x8946,
SYSREG_TRCDVCMR3 = 0x8966,
SYSREG_TRCDVCMR4 = 0x8907,
SYSREG_TRCDVCMR5 = 0x8927,
SYSREG_TRCDVCMR6 = 0x8947,
SYSREG_TRCDVCMR7 = 0x8967,
SYSREG_TRCDVCVR0 = 0x8904,
SYSREG_TRCDVCVR1 = 0x8924,
SYSREG_TRCDVCVR2 = 0x8944,
SYSREG_TRCDVCVR3 = 0x8964,
SYSREG_TRCDVCVR4 = 0x8905,
SYSREG_TRCDVCVR5 = 0x8925,
SYSREG_TRCDVCVR6 = 0x8945,
SYSREG_TRCDVCVR7 = 0x8965,
SYSREG_TRCEVENTCTL0R = 0x8840,
SYSREG_TRCEVENTCTL1R = 0x8848,
SYSREG_TRCEXTINSELR = 0x8844,
SYSREG_TRCEXTINSELR0 = 0x8844,
SYSREG_TRCEXTINSELR1 = 0x884c,
SYSREG_TRCEXTINSELR2 = 0x8854,
SYSREG_TRCEXTINSELR3 = 0x885c,
SYSREG_TRCIDR0 = 0x8847,
SYSREG_TRCIDR1 = 0x884f,
SYSREG_TRCIDR10 = 0x8816,
SYSREG_TRCIDR11 = 0x881e,
SYSREG_TRCIDR12 = 0x8826,
SYSREG_TRCIDR13 = 0x882e,
SYSREG_TRCIDR2 = 0x8857,
SYSREG_TRCIDR3 = 0x885f,
SYSREG_TRCIDR4 = 0x8867,
SYSREG_TRCIDR5 = 0x886f,
SYSREG_TRCIDR6 = 0x8877,
SYSREG_TRCIDR7 = 0x887f,
SYSREG_TRCIDR8 = 0x8806,
SYSREG_TRCIDR9 = 0x880e,
SYSREG_TRCIMSPEC0 = 0x8807,
SYSREG_TRCIMSPEC1 = 0x880f,
SYSREG_TRCIMSPEC2 = 0x8817,
SYSREG_TRCIMSPEC3 = 0x881f,
SYSREG_TRCIMSPEC4 = 0x8827,
SYSREG_TRCIMSPEC5 = 0x882f,
SYSREG_TRCIMSPEC6 = 0x8837,
SYSREG_TRCIMSPEC7 = 0x883f,
SYSREG_TRCITCTRL = 0x8b84,
SYSREG_TRCLAR = 0x8be6,
SYSREG_TRCLSR = 0x8bee,
SYSREG_TRCOSLAR = 0x8884,
SYSREG_TRCOSLSR = 0x888c,
SYSREG_TRCPDCR = 0x88a4,
SYSREG_TRCPDSR = 0x88ac,
SYSREG_TRCPIDR0 = 0x8bc7,
SYSREG_TRCPIDR1 = 0x8bcf,
SYSREG_TRCPIDR2 = 0x8bd7,
SYSREG_TRCPIDR3 = 0x8bdf,
SYSREG_TRCPIDR4 = 0x8ba7,
SYSREG_TRCPIDR5 = 0x8baf,
SYSREG_TRCPIDR6 = 0x8bb7,
SYSREG_TRCPIDR7 = 0x8bbf,
SYSREG_TRCPRGCTLR = 0x8808,
SYSREG_TRCPROCSELR = 0x8810,
SYSREG_TRCQCTLR = 0x8809,
SYSREG_TRCRSCTLR10 = 0x88d0,
SYSREG_TRCRSCTLR11 = 0x88d8,
SYSREG_TRCRSCTLR12 = 0x88e0,
SYSREG_TRCRSCTLR13 = 0x88e8,
SYSREG_TRCRSCTLR14 = 0x88f0,
SYSREG_TRCRSCTLR15 = 0x88f8,
SYSREG_TRCRSCTLR16 = 0x8881,
SYSREG_TRCRSCTLR17 = 0x8889,
SYSREG_TRCRSCTLR18 = 0x8891,
SYSREG_TRCRSCTLR19 = 0x8899,
SYSREG_TRCRSCTLR2 = 0x8890,
SYSREG_TRCRSCTLR20 = 0x88a1,
SYSREG_TRCRSCTLR21 = 0x88a9,
SYSREG_TRCRSCTLR22 = 0x88b1,
SYSREG_TRCRSCTLR23 = 0x88b9,
SYSREG_TRCRSCTLR24 = 0x88c1,
SYSREG_TRCRSCTLR25 = 0x88c9,
SYSREG_TRCRSCTLR26 = 0x88d1,
SYSREG_TRCRSCTLR27 = 0x88d9,
SYSREG_TRCRSCTLR28 = 0x88e1,
SYSREG_TRCRSCTLR29 = 0x88e9,
SYSREG_TRCRSCTLR3 = 0x8898,
SYSREG_TRCRSCTLR30 = 0x88f1,
SYSREG_TRCRSCTLR31 = 0x88f9,
SYSREG_TRCRSCTLR4 = 0x88a0,
SYSREG_TRCRSCTLR5 = 0x88a8,
SYSREG_TRCRSCTLR6 = 0x88b0,
SYSREG_TRCRSCTLR7 = 0x88b8,
SYSREG_TRCRSCTLR8 = 0x88c0,
SYSREG_TRCRSCTLR9 = 0x88c8,
SYSREG_TRCRSR = 0x8850,
SYSREG_TRCSEQEVR0 = 0x8804,
SYSREG_TRCSEQEVR1 = 0x880c,
SYSREG_TRCSEQEVR2 = 0x8814,
SYSREG_TRCSEQRSTEVR = 0x8834,
SYSREG_TRCSEQSTR = 0x883c,
SYSREG_TRCSSCCR0 = 0x8882,
SYSREG_TRCSSCCR1 = 0x888a,
SYSREG_TRCSSCCR2 = 0x8892,
SYSREG_TRCSSCCR3 = 0x889a,
SYSREG_TRCSSCCR4 = 0x88a2,
SYSREG_TRCSSCCR5 = 0x88aa,
SYSREG_TRCSSCCR6 = 0x88b2,
SYSREG_TRCSSCCR7 = 0x88ba,
SYSREG_TRCSSCSR0 = 0x88c2,
SYSREG_TRCSSCSR1 = 0x88ca,
SYSREG_TRCSSCSR2 = 0x88d2,
SYSREG_TRCSSCSR3 = 0x88da,
SYSREG_TRCSSCSR4 = 0x88e2,
SYSREG_TRCSSCSR5 = 0x88ea,
SYSREG_TRCSSCSR6 = 0x88f2,
SYSREG_TRCSSCSR7 = 0x88fa,
SYSREG_TRCSSPCICR0 = 0x8883,
SYSREG_TRCSSPCICR1 = 0x888b,
SYSREG_TRCSSPCICR2 = 0x8893,
SYSREG_TRCSSPCICR3 = 0x889b,
SYSREG_TRCSSPCICR4 = 0x88a3,
SYSREG_TRCSSPCICR5 = 0x88ab,
SYSREG_TRCSSPCICR6 = 0x88b3,
SYSREG_TRCSSPCICR7 = 0x88bb,
SYSREG_TRCSTALLCTLR = 0x8858,
SYSREG_TRCSTATR = 0x8818,
SYSREG_TRCSYNCPR = 0x8868,
SYSREG_TRCTRACEIDR = 0x8801,
SYSREG_TRCTSCTLR = 0x8860,
SYSREG_TRCVDARCCTLR = 0x8852,
SYSREG_TRCVDCTLR = 0x8842,
SYSREG_TRCVDSACCTLR = 0x884a,
SYSREG_TRCVICTLR = 0x8802,
SYSREG_TRCVIIECTLR = 0x880a,
SYSREG_TRCVIPCSSCTLR = 0x881a,
SYSREG_TRCVISSCTLR = 0x8812,
SYSREG_TRCVMIDCCTLR0 = 0x8992,
SYSREG_TRCVMIDCCTLR1 = 0x899a,
SYSREG_TRCVMIDCVR0 = 0x8981,
SYSREG_TRCVMIDCVR1 = 0x8991,
SYSREG_TRCVMIDCVR2 = 0x89a1,
SYSREG_TRCVMIDCVR3 = 0x89b1,
SYSREG_TRCVMIDCVR4 = 0x89c1,
SYSREG_TRCVMIDCVR5 = 0x89d1,
SYSREG_TRCVMIDCVR6 = 0x89e1,
SYSREG_TRCVMIDCVR7 = 0x89f1,
SYSREG_TRFCR_EL1 = 0xc091,
SYSREG_TRFCR_EL12 = 0xe891,
SYSREG_TRFCR_EL2 = 0xe091,
SYSREG_TTBR0_EL1 = 0xc100,
SYSREG_TTBR0_EL12 = 0xe900,
SYSREG_TTBR0_EL2 = 0xe100,
SYSREG_TTBR0_EL3 = 0xf100,
SYSREG_TTBR1_EL1 = 0xc101,
SYSREG_TTBR1_EL12 = 0xe901,
SYSREG_TTBR1_EL2 = 0xe101,
SYSREG_UAO = 0xc214,
SYSREG_VBAR_EL1 = 0xc600,
SYSREG_VBAR_EL12 = 0xee00,
SYSREG_VBAR_EL2 = 0xe600,
SYSREG_VBAR_EL3 = 0xf600,
SYSREG_VDISR_EL2 = 0xe609,
SYSREG_VMPIDR_EL2 = 0xe005,
SYSREG_VNCR_EL2 = 0xe110,
SYSREG_VPIDR_EL2 = 0xe000,
SYSREG_VSCTLR_EL2 = 0xe100,
SYSREG_VSESR_EL2 = 0xe293,
SYSREG_VSTCR_EL2 = 0xe132,
SYSREG_VSTTBR_EL2 = 0xe130,
SYSREG_VTCR_EL2 = 0xe10a,
SYSREG_VTTBR_EL2 = 0xe108,
SYSREG_ZCR_EL1 = 0xc090,
SYSREG_ZCR_EL12 = 0xe890,
SYSREG_ZCR_EL2 = 0xe090,
SYSREG_ZCR_EL3 = 0xf090,
// System PState Field (MSR instruction)
PSTATE_INVALID = 0,
PSTATE_SPSEL = 0x05,
PSTATE_DAIFSET = 0x1e,
PSTATE_DAIFCLR = 0x1f,
PSTATE_PAN = 0x4,
PSTATE_UAO = 0x3,
PSTATE_DIT = 0x1a,
// Vector arrangement specifier (for FloatingPoint/Advanced SIMD insn)
VAS_INVALID = 0,
VAS_16B = 1,
VAS_8B = 2,
VAS_4B = 3,
VAS_1B = 4,
VAS_8H = 5,
VAS_4H = 6,
VAS_2H = 7,
VAS_1H = 8,
VAS_4S = 9,
VAS_2S = 10,
VAS_1S = 11,
VAS_2D = 12,
VAS_1D = 13,
VAS_1Q = 14,
// Memory barrier operands
BARRIER_INVALID = 0,
BARRIER_OSHLD = 0x1,
BARRIER_OSHST = 0x2,
BARRIER_OSH = 0x3,
BARRIER_NSHLD = 0x5,
BARRIER_NSHST = 0x6,
BARRIER_NSH = 0x7,
BARRIER_ISHLD = 0x9,
BARRIER_ISHST = 0xa,
BARRIER_ISH = 0xb,
BARRIER_LD = 0xd,
BARRIER_ST = 0xe,
BARRIER_SY = 0xf,
// Operand type for instruction's operands
OP_INVALID = 0, // cs.OP_INVALID (Uninitialized).
OP_REG = 1, // cs.OP_REG (Register operand).
OP_IMM = 2, // cs.OP_IMM (Immediate operand).
OP_MEM = 3, // cs.OP_MEM (Memory operand).
OP_FP = 4, // cs.OP_FP (Floating-Point operand).
OP_CIMM = 64, // C-Immediate (coprocessor registers)
OP_REG_MRS = 65, // MRS register operand.
OP_REG_MSR = 66, // MSR register operand.
OP_PSTATE = 67, // PState operand.
OP_SYS = 68, // SYS operand for IC/DC/AT/TLBI instructions.
OP_SVCR = 69, // SVCR operand for MSR SVCR instructions.
OP_PREFETCH = 70, // Prefetch operand (PRFM).
OP_BARRIER = 71, // Memory barrier operand (ISB/DMB/DSB instructions).
OP_SME_INDEX = 72, // SME instruction operand with with index.
// SYS operands (IC/DC/AC/TLBI)
SYS_INVALID = 0,
// TLBI operations
TLBI_ALLE1 = 1,
TLBI_ALLE1IS = 2,
TLBI_ALLE1ISNXS = 3,
TLBI_ALLE1NXS = 4,
TLBI_ALLE1OS = 5,
TLBI_ALLE1OSNXS = 6,
TLBI_ALLE2 = 7,
TLBI_ALLE2IS = 8,
TLBI_ALLE2ISNXS = 9,
TLBI_ALLE2NXS = 10,
TLBI_ALLE2OS = 11,
TLBI_ALLE2OSNXS = 12,
TLBI_ALLE3 = 13,
TLBI_ALLE3IS = 14,
TLBI_ALLE3ISNXS = 15,
TLBI_ALLE3NXS = 16,
TLBI_ALLE3OS = 17,
TLBI_ALLE3OSNXS = 18,
TLBI_ASIDE1 = 19,
TLBI_ASIDE1IS = 20,
TLBI_ASIDE1ISNXS = 21,
TLBI_ASIDE1NXS = 22,
TLBI_ASIDE1OS = 23,
TLBI_ASIDE1OSNXS = 24,
TLBI_IPAS2E1 = 25,
TLBI_IPAS2E1IS = 26,
TLBI_IPAS2E1ISNXS = 27,
TLBI_IPAS2E1NXS = 28,
TLBI_IPAS2E1OS = 29,
TLBI_IPAS2E1OSNXS = 30,
TLBI_IPAS2LE1 = 31,
TLBI_IPAS2LE1IS = 32,
TLBI_IPAS2LE1ISNXS = 33,
TLBI_IPAS2LE1NXS = 34,
TLBI_IPAS2LE1OS = 35,
TLBI_IPAS2LE1OSNXS = 36,
TLBI_PAALL = 37,
TLBI_PAALLNXS = 38,
TLBI_PAALLOS = 39,
TLBI_PAALLOSNXS = 40,
TLBI_RIPAS2E1 = 41,
TLBI_RIPAS2E1IS = 42,
TLBI_RIPAS2E1ISNXS = 43,
TLBI_RIPAS2E1NXS = 44,
TLBI_RIPAS2E1OS = 45,
TLBI_RIPAS2E1OSNXS = 46,
TLBI_RIPAS2LE1 = 47,
TLBI_RIPAS2LE1IS = 48,
TLBI_RIPAS2LE1ISNXS = 49,
TLBI_RIPAS2LE1NXS = 50,
TLBI_RIPAS2LE1OS = 51,
TLBI_RIPAS2LE1OSNXS = 52,
TLBI_RPALOS = 53,
TLBI_RPALOSNXS = 54,
TLBI_RPAOS = 55,
TLBI_RPAOSNXS = 56,
TLBI_RVAAE1 = 57,
TLBI_RVAAE1IS = 58,
TLBI_RVAAE1ISNXS = 59,
TLBI_RVAAE1NXS = 60,
TLBI_RVAAE1OS = 61,
TLBI_RVAAE1OSNXS = 62,
TLBI_RVAALE1 = 63,
TLBI_RVAALE1IS = 64,
TLBI_RVAALE1ISNXS = 65,
TLBI_RVAALE1NXS = 66,
TLBI_RVAALE1OS = 67,
TLBI_RVAALE1OSNXS = 68,
TLBI_RVAE1 = 69,
TLBI_RVAE1IS = 70,
TLBI_RVAE1ISNXS = 71,
TLBI_RVAE1NXS = 72,
TLBI_RVAE1OS = 73,
TLBI_RVAE1OSNXS = 74,
TLBI_RVAE2 = 75,
TLBI_RVAE2IS = 76,
TLBI_RVAE2ISNXS = 77,
TLBI_RVAE2NXS = 78,
TLBI_RVAE2OS = 79,
TLBI_RVAE2OSNXS = 80,
TLBI_RVAE3 = 81,
TLBI_RVAE3IS = 82,
TLBI_RVAE3ISNXS = 83,
TLBI_RVAE3NXS = 84,
TLBI_RVAE3OS = 85,
TLBI_RVAE3OSNXS = 86,
TLBI_RVALE1 = 87,
TLBI_RVALE1IS = 88,
TLBI_RVALE1ISNXS = 89,
TLBI_RVALE1NXS = 90,
TLBI_RVALE1OS = 91,
TLBI_RVALE1OSNXS = 92,
TLBI_RVALE2 = 93,
TLBI_RVALE2IS = 94,
TLBI_RVALE2ISNXS = 95,
TLBI_RVALE2NXS = 96,
TLBI_RVALE2OS = 97,
TLBI_RVALE2OSNXS = 98,
TLBI_RVALE3 = 99,
TLBI_RVALE3IS = 100,
TLBI_RVALE3ISNXS = 101,
TLBI_RVALE3NXS = 102,
TLBI_RVALE3OS = 103,
TLBI_RVALE3OSNXS = 104,
TLBI_VAAE1 = 105,
TLBI_VAAE1IS = 106,
TLBI_VAAE1ISNXS = 107,
TLBI_VAAE1NXS = 108,
TLBI_VAAE1OS = 109,
TLBI_VAAE1OSNXS = 110,
TLBI_VAALE1 = 111,
TLBI_VAALE1IS = 112,
TLBI_VAALE1ISNXS = 113,
TLBI_VAALE1NXS = 114,
TLBI_VAALE1OS = 115,
TLBI_VAALE1OSNXS = 116,
TLBI_VAE1 = 117,
TLBI_VAE1IS = 118,
TLBI_VAE1ISNXS = 119,
TLBI_VAE1NXS = 120,
TLBI_VAE1OS = 121,
TLBI_VAE1OSNXS = 122,
TLBI_VAE2 = 123,
TLBI_VAE2IS = 124,
TLBI_VAE2ISNXS = 125,
TLBI_VAE2NXS = 126,
TLBI_VAE2OS = 127,
TLBI_VAE2OSNXS = 128,
TLBI_VAE3 = 129,
TLBI_VAE3IS = 130,
TLBI_VAE3ISNXS = 131,
TLBI_VAE3NXS = 132,
TLBI_VAE3OS = 133,
TLBI_VAE3OSNXS = 134,
TLBI_VALE1 = 135,
TLBI_VALE1IS = 136,
TLBI_VALE1ISNXS = 137,
TLBI_VALE1NXS = 138,
TLBI_VALE1OS = 139,
TLBI_VALE1OSNXS = 140,
TLBI_VALE2 = 141,
TLBI_VALE2IS = 142,
TLBI_VALE2ISNXS = 143,
TLBI_VALE2NXS = 144,
TLBI_VALE2OS = 145,
TLBI_VALE2OSNXS = 146,
TLBI_VALE3 = 147,
TLBI_VALE3IS = 148,
TLBI_VALE3ISNXS = 149,
TLBI_VALE3NXS = 150,
TLBI_VALE3OS = 151,
TLBI_VALE3OSNXS = 152,
TLBI_VMALLE1 = 153,
TLBI_VMALLE1IS = 154,
TLBI_VMALLE1ISNXS = 155,
TLBI_VMALLE1NXS = 156,
TLBI_VMALLE1OS = 157,
TLBI_VMALLE1OSNXS = 158,
TLBI_VMALLS12E1 = 159,
TLBI_VMALLS12E1IS = 160,
TLBI_VMALLS12E1ISNXS = 161,
TLBI_VMALLS12E1NXS = 162,
TLBI_VMALLS12E1OS = 163,
TLBI_VMALLS12E1OSNXS = 164,
// AT operations
AT_S1E1R = 165,
AT_S1E2R = 166,
AT_S1E3R = 167,
AT_S1E1W = 168,
AT_S1E2W = 169,
AT_S1E3W = 170,
AT_S1E0R = 171,
AT_S1E0W = 172,
AT_S12E1R = 173,
AT_S12E1W = 174,
AT_S12E0R = 175,
AT_S12E0W = 176,
AT_S1E1RP = 177,
AT_S1E1WP = 178,
// DC operations
DC_CGDSW = 179,
DC_CGDVAC = 180,
DC_CGDVADP = 181,
DC_CGDVAP = 182,
DC_CGSW = 183,
DC_CGVAC = 184,
DC_CGVADP = 185,
DC_CGVAP = 186,
DC_CIGDSW = 187,
DC_CIGDVAC = 188,
DC_CIGSW = 189,
DC_CIGVAC = 190,
DC_CISW = 191,
DC_CIVAC = 192,
DC_CSW = 193,
DC_CVAC = 194,
DC_CVADP = 195,
DC_CVAP = 196,
DC_CVAU = 197,
DC_GVA = 198,
DC_GZVA = 199,
DC_IGDSW = 200,
DC_IGDVAC = 201,
DC_IGSW = 202,
DC_IGVAC = 203,
DC_ISW = 204,
DC_IVAC = 205,
DC_ZVA = 206,
// IC operations
IC_IALLUIS = 207,
IC_IALLU = 208,
IC_IVAU = 209,
// SVCR operands
SVCR_INVALID = 0,
SVCR_SVCRSM = 0x1,
SVCR_SVCRSMZA = 0x3,
SVCR_SVCRZA = 0x2,
// Prefetch operations (PRFM)
PRFM_INVALID = 0,
PRFM_PLDL1KEEP = 0x00 + 1,
PRFM_PLDL1STRM = 0x01 + 1,
PRFM_PLDL2KEEP = 0x02 + 1,
PRFM_PLDL2STRM = 0x03 + 1,
PRFM_PLDL3KEEP = 0x04 + 1,
PRFM_PLDL3STRM = 0x05 + 1,
PRFM_PLIL1KEEP = 0x08 + 1,
PRFM_PLIL1STRM = 0x09 + 1,
PRFM_PLIL2KEEP = 0x0a + 1,
PRFM_PLIL2STRM = 0x0b + 1,
PRFM_PLIL3KEEP = 0x0c + 1,
PRFM_PLIL3STRM = 0x0d + 1,
PRFM_PSTL1KEEP = 0x10 + 1,
PRFM_PSTL1STRM = 0x11 + 1,
PRFM_PSTL2KEEP = 0x12 + 1,
PRFM_PSTL2STRM = 0x13 + 1,
PRFM_PSTL3KEEP = 0x14 + 1,
PRFM_PSTL3STRM = 0x15 + 1,
// ARM64 registers
REG_INVALID = 0,
REG_FFR = 1,
REG_FP = 2,
REG_LR = 3,
REG_NZCV = 4,
REG_SP = 5,
REG_VG = 6,
REG_WSP = 7,
REG_WZR = 8,
REG_XZR = 9,
REG_ZA = 10,
REG_B0 = 11,
REG_B1 = 12,
REG_B2 = 13,
REG_B3 = 14,
REG_B4 = 15,
REG_B5 = 16,
REG_B6 = 17,
REG_B7 = 18,
REG_B8 = 19,
REG_B9 = 20,
REG_B10 = 21,
REG_B11 = 22,
REG_B12 = 23,
REG_B13 = 24,
REG_B14 = 25,
REG_B15 = 26,
REG_B16 = 27,
REG_B17 = 28,
REG_B18 = 29,
REG_B19 = 30,
REG_B20 = 31,
REG_B21 = 32,
REG_B22 = 33,
REG_B23 = 34,
REG_B24 = 35,
REG_B25 = 36,
REG_B26 = 37,
REG_B27 = 38,
REG_B28 = 39,
REG_B29 = 40,
REG_B30 = 41,
REG_B31 = 42,
REG_D0 = 43,
REG_D1 = 44,
REG_D2 = 45,
REG_D3 = 46,
REG_D4 = 47,
REG_D5 = 48,
REG_D6 = 49,
REG_D7 = 50,
REG_D8 = 51,
REG_D9 = 52,
REG_D10 = 53,
REG_D11 = 54,
REG_D12 = 55,
REG_D13 = 56,
REG_D14 = 57,
REG_D15 = 58,
REG_D16 = 59,
REG_D17 = 60,
REG_D18 = 61,
REG_D19 = 62,
REG_D20 = 63,
REG_D21 = 64,
REG_D22 = 65,
REG_D23 = 66,
REG_D24 = 67,
REG_D25 = 68,
REG_D26 = 69,
REG_D27 = 70,
REG_D28 = 71,
REG_D29 = 72,
REG_D30 = 73,
REG_D31 = 74,
REG_H0 = 75,
REG_H1 = 76,
REG_H2 = 77,
REG_H3 = 78,
REG_H4 = 79,
REG_H5 = 80,
REG_H6 = 81,
REG_H7 = 82,
REG_H8 = 83,
REG_H9 = 84,
REG_H10 = 85,
REG_H11 = 86,
REG_H12 = 87,
REG_H13 = 88,
REG_H14 = 89,
REG_H15 = 90,
REG_H16 = 91,
REG_H17 = 92,
REG_H18 = 93,
REG_H19 = 94,
REG_H20 = 95,
REG_H21 = 96,
REG_H22 = 97,
REG_H23 = 98,
REG_H24 = 99,
REG_H25 = 100,
REG_H26 = 101,
REG_H27 = 102,
REG_H28 = 103,
REG_H29 = 104,
REG_H30 = 105,
REG_H31 = 106,
REG_P0 = 107,
REG_P1 = 108,
REG_P2 = 109,
REG_P3 = 110,
REG_P4 = 111,
REG_P5 = 112,
REG_P6 = 113,
REG_P7 = 114,
REG_P8 = 115,
REG_P9 = 116,
REG_P10 = 117,
REG_P11 = 118,
REG_P12 = 119,
REG_P13 = 120,
REG_P14 = 121,
REG_P15 = 122,
REG_Q0 = 123,
REG_Q1 = 124,
REG_Q2 = 125,
REG_Q3 = 126,
REG_Q4 = 127,
REG_Q5 = 128,
REG_Q6 = 129,
REG_Q7 = 130,
REG_Q8 = 131,
REG_Q9 = 132,
REG_Q10 = 133,
REG_Q11 = 134,
REG_Q12 = 135,
REG_Q13 = 136,
REG_Q14 = 137,
REG_Q15 = 138,
REG_Q16 = 139,
REG_Q17 = 140,
REG_Q18 = 141,
REG_Q19 = 142,
REG_Q20 = 143,
REG_Q21 = 144,
REG_Q22 = 145,
REG_Q23 = 146,
REG_Q24 = 147,
REG_Q25 = 148,
REG_Q26 = 149,
REG_Q27 = 150,
REG_Q28 = 151,
REG_Q29 = 152,
REG_Q30 = 153,
REG_Q31 = 154,
REG_S0 = 155,
REG_S1 = 156,
REG_S2 = 157,
REG_S3 = 158,
REG_S4 = 159,
REG_S5 = 160,
REG_S6 = 161,
REG_S7 = 162,
REG_S8 = 163,
REG_S9 = 164,
REG_S10 = 165,
REG_S11 = 166,
REG_S12 = 167,
REG_S13 = 168,
REG_S14 = 169,
REG_S15 = 170,
REG_S16 = 171,
REG_S17 = 172,
REG_S18 = 173,
REG_S19 = 174,
REG_S20 = 175,
REG_S21 = 176,
REG_S22 = 177,
REG_S23 = 178,
REG_S24 = 179,
REG_S25 = 180,
REG_S26 = 181,
REG_S27 = 182,
REG_S28 = 183,
REG_S29 = 184,
REG_S30 = 185,
REG_S31 = 186,
REG_W0 = 187,
REG_W1 = 188,
REG_W2 = 189,
REG_W3 = 190,
REG_W4 = 191,
REG_W5 = 192,
REG_W6 = 193,
REG_W7 = 194,
REG_W8 = 195,
REG_W9 = 196,
REG_W10 = 197,
REG_W11 = 198,
REG_W12 = 199,
REG_W13 = 200,
REG_W14 = 201,
REG_W15 = 202,
REG_W16 = 203,
REG_W17 = 204,
REG_W18 = 205,
REG_W19 = 206,
REG_W20 = 207,
REG_W21 = 208,
REG_W22 = 209,
REG_W23 = 210,
REG_W24 = 211,
REG_W25 = 212,
REG_W26 = 213,
REG_W27 = 214,
REG_W28 = 215,
REG_W29 = 216,
REG_W30 = 217,
REG_X0 = 218,
REG_X1 = 219,
REG_X2 = 220,
REG_X3 = 221,
REG_X4 = 222,
REG_X5 = 223,
REG_X6 = 224,
REG_X7 = 225,
REG_X8 = 226,
REG_X9 = 227,
REG_X10 = 228,
REG_X11 = 229,
REG_X12 = 230,
REG_X13 = 231,
REG_X14 = 232,
REG_X15 = 233,
REG_X16 = 234,
REG_X17 = 235,
REG_X18 = 236,
REG_X19 = 237,
REG_X20 = 238,
REG_X21 = 239,
REG_X22 = 240,
REG_X23 = 241,
REG_X24 = 242,
REG_X25 = 243,
REG_X26 = 244,
REG_X27 = 245,
REG_X28 = 246,
REG_Z0 = 247,
REG_Z1 = 248,
REG_Z2 = 249,
REG_Z3 = 250,
REG_Z4 = 251,
REG_Z5 = 252,
REG_Z6 = 253,
REG_Z7 = 254,
REG_Z8 = 255,
REG_Z9 = 256,
REG_Z10 = 257,
REG_Z11 = 258,
REG_Z12 = 259,
REG_Z13 = 260,
REG_Z14 = 261,
REG_Z15 = 262,
REG_Z16 = 263,
REG_Z17 = 264,
REG_Z18 = 265,
REG_Z19 = 266,
REG_Z20 = 267,
REG_Z21 = 268,
REG_Z22 = 269,
REG_Z23 = 270,
REG_Z24 = 271,
REG_Z25 = 272,
REG_Z26 = 273,
REG_Z27 = 274,
REG_Z28 = 275,
REG_Z29 = 276,
REG_Z30 = 277,
REG_Z31 = 278,
REG_ZAB0 = 279,
REG_ZAD0 = 280,
REG_ZAD1 = 281,
REG_ZAD2 = 282,
REG_ZAD3 = 283,
REG_ZAD4 = 284,
REG_ZAD5 = 285,
REG_ZAD6 = 286,
REG_ZAD7 = 287,
REG_ZAH0 = 288,
REG_ZAH1 = 289,
REG_ZAQ0 = 290,
REG_ZAQ1 = 291,
REG_ZAQ2 = 292,
REG_ZAQ3 = 293,
REG_ZAQ4 = 294,
REG_ZAQ5 = 295,
REG_ZAQ6 = 296,
REG_ZAQ7 = 297,
REG_ZAQ8 = 298,
REG_ZAQ9 = 299,
REG_ZAQ10 = 300,
REG_ZAQ11 = 301,
REG_ZAQ12 = 302,
REG_ZAQ13 = 303,
REG_ZAQ14 = 304,
REG_ZAQ15 = 305,
REG_ZAS0 = 306,
REG_ZAS1 = 307,
REG_ZAS2 = 308,
REG_ZAS3 = 309,
REG_V0 = 310,
REG_V1 = 311,
REG_V2 = 312,
REG_V3 = 313,
REG_V4 = 314,
REG_V5 = 315,
REG_V6 = 316,
REG_V7 = 317,
REG_V8 = 318,
REG_V9 = 319,
REG_V10 = 320,
REG_V11 = 321,
REG_V12 = 322,
REG_V13 = 323,
REG_V14 = 324,
REG_V15 = 325,
REG_V16 = 326,
REG_V17 = 327,
REG_V18 = 328,
REG_V19 = 329,
REG_V20 = 330,
REG_V21 = 331,
REG_V22 = 332,
REG_V23 = 333,
REG_V24 = 334,
REG_V25 = 335,
REG_V26 = 336,
REG_V27 = 337,
REG_V28 = 338,
REG_V29 = 339,
REG_V30 = 340,
REG_V31 = 341,
REG_ENDING = 342, // mark the end of the list of registers
// alias registers
REG_IP0 = REG_X16,
REG_IP1 = REG_X17,
REG_X29 = REG_FP,
REG_X30 = REG_LR,
// ARM64 instruction
INS_INVALID = 0,
INS_ABS = 1,
INS_ADC = 2,
INS_ADCLB = 3,
INS_ADCLT = 4,
INS_ADCS = 5,
INS_ADD = 6,
INS_ADDG = 7,
INS_ADDHA = 8,
INS_ADDHN = 9,
INS_ADDHN2 = 10,
INS_ADDHNB = 11,
INS_ADDHNT = 12,
INS_ADDP = 13,
INS_ADDPL = 14,
INS_ADDS = 15,
INS_ADDV = 16,
INS_ADDVA = 17,
INS_ADDVL = 18,
INS_ADR = 19,
INS_ADRP = 20,
INS_AESD = 21,
INS_AESE = 22,
INS_AESIMC = 23,
INS_AESMC = 24,
INS_AND = 25,
INS_ANDS = 26,
INS_ANDV = 27,
INS_ASR = 28,
INS_ASRD = 29,
INS_ASRR = 30,
INS_ASRV = 31,
INS_AUTDA = 32,
INS_AUTDB = 33,
INS_AUTDZA = 34,
INS_AUTDZB = 35,
INS_AUTIA = 36,
INS_AUTIA1716 = 37,
INS_AUTIASP = 38,
INS_AUTIAZ = 39,
INS_AUTIB = 40,
INS_AUTIB1716 = 41,
INS_AUTIBSP = 42,
INS_AUTIBZ = 43,
INS_AUTIZA = 44,
INS_AUTIZB = 45,
INS_AXFLAG = 46,
INS_B = 47,
INS_BC = 48,
INS_BCAX = 49,
INS_BDEP = 50,
INS_BEXT = 51,
INS_BFCVT = 52,
INS_BFCVTN = 53,
INS_BFCVTN2 = 54,
INS_BFCVTNT = 55,
INS_BFDOT = 56,
INS_BFM = 57,
INS_BFMLALB = 58,
INS_BFMLALT = 59,
INS_BFMMLA = 60,
INS_BFMOPA = 61,
INS_BFMOPS = 62,
INS_BGRP = 63,
INS_BIC = 64,
INS_BICS = 65,
INS_BIF = 66,
INS_BIT = 67,
INS_BL = 68,
INS_BLR = 69,
INS_BLRAA = 70,
INS_BLRAAZ = 71,
INS_BLRAB = 72,
INS_BLRABZ = 73,
INS_BR = 74,
INS_BRAA = 75,
INS_BRAAZ = 76,
INS_BRAB = 77,
INS_BRABZ = 78,
INS_BRB = 79,
INS_BRK = 80,
INS_BRKA = 81,
INS_BRKAS = 82,
INS_BRKB = 83,
INS_BRKBS = 84,
INS_BRKN = 85,
INS_BRKNS = 86,
INS_BRKPA = 87,
INS_BRKPAS = 88,
INS_BRKPB = 89,
INS_BRKPBS = 90,
INS_BSL = 91,
INS_BSL1N = 92,
INS_BSL2N = 93,
INS_BTI = 94,
INS_CADD = 95,
INS_CAS = 96,
INS_CASA = 97,
INS_CASAB = 98,
INS_CASAH = 99,
INS_CASAL = 100,
INS_CASALB = 101,
INS_CASALH = 102,
INS_CASB = 103,
INS_CASH = 104,
INS_CASL = 105,
INS_CASLB = 106,
INS_CASLH = 107,
INS_CASP = 108,
INS_CASPA = 109,
INS_CASPAL = 110,
INS_CASPL = 111,
INS_CBNZ = 112,
INS_CBZ = 113,
INS_CCMN = 114,
INS_CCMP = 115,
INS_CDOT = 116,
INS_CFINV = 117,
INS_CINC = 118,
INS_CINV = 119,
INS_CLASTA = 120,
INS_CLASTB = 121,
INS_CLREX = 122,
INS_CLS = 123,
INS_CLZ = 124,
INS_CMEQ = 125,
INS_CMGE = 126,
INS_CMGT = 127,
INS_CMHI = 128,
INS_CMHS = 129,
INS_CMLA = 130,
INS_CMLE = 131,
INS_CMLO = 132,
INS_CMLS = 133,
INS_CMLT = 134,
INS_CMN = 135,
INS_CMP = 136,
INS_CMPEQ = 137,
INS_CMPGE = 138,
INS_CMPGT = 139,
INS_CMPHI = 140,
INS_CMPHS = 141,
INS_CMPLE = 142,
INS_CMPLO = 143,
INS_CMPLS = 144,
INS_CMPLT = 145,
INS_CMPNE = 146,
INS_CMPP = 147,
INS_CMTST = 148,
INS_CNEG = 149,
INS_CNOT = 150,
INS_CNT = 151,
INS_CNTB = 152,
INS_CNTD = 153,
INS_CNTH = 154,
INS_CNTP = 155,
INS_CNTW = 156,
INS_COMPACT = 157,
INS_CPY = 158,
INS_CPYE = 159,
INS_CPYEN = 160,
INS_CPYERN = 161,
INS_CPYERT = 162,
INS_CPYERTN = 163,
INS_CPYERTRN = 164,
INS_CPYERTWN = 165,
INS_CPYET = 166,
INS_CPYETN = 167,
INS_CPYETRN = 168,
INS_CPYETWN = 169,
INS_CPYEWN = 170,
INS_CPYEWT = 171,
INS_CPYEWTN = 172,
INS_CPYEWTRN = 173,
INS_CPYEWTWN = 174,
INS_CPYFE = 175,
INS_CPYFEN = 176,
INS_CPYFERN = 177,
INS_CPYFERT = 178,
INS_CPYFERTN = 179,
INS_CPYFERTRN = 180,
INS_CPYFERTWN = 181,
INS_CPYFET = 182,
INS_CPYFETN = 183,
INS_CPYFETRN = 184,
INS_CPYFETWN = 185,
INS_CPYFEWN = 186,
INS_CPYFEWT = 187,
INS_CPYFEWTN = 188,
INS_CPYFEWTRN = 189,