From 000840199efd5d76a1992d25be7939214972c2f2 Mon Sep 17 00:00:00 2001 From: Peace-Maker Date: Thu, 13 Jul 2023 19:11:01 +0200 Subject: [PATCH 01/13] Add Python bindings for WASM --- bindings/python/capstone/__init__.py | 7 ++- bindings/python/capstone/wasm.py | 71 ++++++++++++++++++++++++ bindings/python/pyx/ccapstone.pyx | 5 +- bindings/python/setup_cython.py | 2 +- bindings/python/test_basic.py | 6 ++- bindings/python/test_wasm.py | 81 ++++++++++++++++++++++++++++ 6 files changed, 167 insertions(+), 5 deletions(-) create mode 100644 bindings/python/capstone/wasm.py create mode 100755 bindings/python/test_wasm.py diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py index 4ec23458d1..5bd4bc8d8f 100755 --- a/bindings/python/capstone/__init__.py +++ b/bindings/python/capstone/__init__.py @@ -35,6 +35,7 @@ 'CS_ARCH_TMS320C64X', 'CS_ARCH_M680X', 'CS_ARCH_EVM', + 'CS_ARCH_WASM', 'CS_ARCH_BPF', 'CS_ARCH_RISCV', 'CS_ARCH_MOS65XX', @@ -387,7 +388,7 @@ def copy_ctypes_list(src): return [copy_ctypes(n) for n in src] # Weird import placement because these modules are needed by the below code but need the above functions -from . import arm, arm64, m68k, mips, ppc, sparc, systemz, x86, xcore, tms320c64x, m680x, evm, mos65xx, bpf, riscv, tricore +from . import arm, arm64, m68k, mips, ppc, sparc, systemz, x86, xcore, tms320c64x, m680x, evm, mos65xx, wasm, bpf, riscv, tricore class _cs_arch(ctypes.Union): _fields_ = ( @@ -404,6 +405,7 @@ class _cs_arch(ctypes.Union): ('m680x', m680x.CsM680x), ('evm', evm.CsEvm), ('mos65xx', mos65xx.CsMOS65xx), + ('wasm', wasm.CsWasm), ('bpf', bpf.CsBPF), ('riscv', riscv.CsRISCV), ('tricore', tricore.CsTriCore), @@ -727,6 +729,8 @@ def __gen_detail(self): (self.pop, self.push, self.fee) = evm.get_arch_info(self._raw.detail.contents.arch.evm) elif arch == CS_ARCH_MOS65XX: (self.am, self.modifies_flags, self.operands) = mos65xx.get_arch_info(self._raw.detail.contents.arch.mos65xx) + elif arch == CS_ARCH_WASM: + (self.operands) = wasm.get_arch_info(self._raw.detail.contents.arch.wasm) elif arch == CS_ARCH_BPF: (self.operands) = bpf.get_arch_info(self._raw.detail.contents.arch.bpf) elif arch == CS_ARCH_RISCV: @@ -1199,6 +1203,7 @@ def debug(): "sysz": CS_ARCH_SYSZ, 'xcore': CS_ARCH_XCORE, "tms320c64x": CS_ARCH_TMS320C64X, "m680x": CS_ARCH_M680X, 'evm': CS_ARCH_EVM, 'mos65xx': CS_ARCH_MOS65XX, 'bpf': CS_ARCH_BPF, 'riscv': CS_ARCH_RISCV, 'tricore': CS_ARCH_TRICORE, + 'wasm': CS_ARCH_WASM, } all_archs = "" diff --git a/bindings/python/capstone/wasm.py b/bindings/python/capstone/wasm.py new file mode 100644 index 0000000000..23d68ca8ae --- /dev/null +++ b/bindings/python/capstone/wasm.py @@ -0,0 +1,71 @@ +# Capstone Python bindings, by Peace-Maker + +import ctypes + +from . import copy_ctypes_list +from .wasm_const import * + + +# define the API +class WASMBrTable(ctypes.Structure): + _fields_ = ( + ('length', ctypes.c_uint32), + ('address', ctypes.c_uint64), + ('default_target', ctypes.c_uint32), + ) + +class WASMOpValue(ctypes.Union): + _fields_ = ( + ('int7', ctypes.c_int8), + ('varuint32', ctypes.c_uint32), + ('varuint64', ctypes.c_uint64), + ('uint32', ctypes.c_uint32), + ('uint64', ctypes.c_uint64), + ('immediate', ctypes.c_uint32 * 2), + ('brtable', WASMBrTable), + ) + +class WASMOp(ctypes.Structure): + _fields_ = ( + ('type', ctypes.c_uint), + ('size', ctypes.c_uint32), + ('value', WASMOpValue), + ) + + @property + def int7(self): + return self.value.int7 + + @property + def varuint32(self): + return self.value.varuint32 + + @property + def varuint64(self): + return self.value.varuint64 + + @property + def uint32(self): + return self.value.uint32 + + @property + def uint64(self): + return self.value.uint64 + + @property + def immediate(self): + return self.value.immediate + + @property + def brtable(self): + return self.value.brtable + +class CsWasm(ctypes.Structure): + _fields_ = ( + ('op_count', ctypes.c_uint8), + ('operands', WASMOp * 2), + ) + +def get_arch_info(a): + return (copy_ctypes_list(a.operands[:a.op_count])) + diff --git a/bindings/python/pyx/ccapstone.pyx b/bindings/python/pyx/ccapstone.pyx index dbc92f6e55..3bf5d76c41 100644 --- a/bindings/python/pyx/ccapstone.pyx +++ b/bindings/python/pyx/ccapstone.pyx @@ -2,7 +2,7 @@ cimport pyx.ccapstone as cc import capstone, ctypes -from . import arm, x86, mips, ppc, arm64, sparc, systemz, xcore, tms320c64x, m68k, m680x, evm, mos65xx, bpf, riscv, tricore, CsError +from . import arm, x86, mips, ppc, arm64, sparc, systemz, xcore, tms320c64x, m68k, m680x, evm, mos65xx, wasm, bpf, riscv, tricore, CsError _diet = cc.cs_support(capstone.CS_SUPPORT_DIET) @@ -57,6 +57,8 @@ class CsDetail(object): (self.pop, self.push, self.fee) = evm.get_arch_info(detail.arch.evm) elif arch == capstone.CS_ARCH_MOS65XX: (self.am, self.modifies_flags, self.operands) = mos65xx.get_arch_info(detail.arch.mos65xx) + elif arch == capstone.CS_ARCH_WASM: + (self.operands) = wasm.get_arch_info(detail.arch.wasm) elif arch == capstone.CS_ARCH_BPF: (self.operands) = bpf.get_arch_info(detail.arch.bpf) elif arch == capstone.CS_ARCH_RISCV: @@ -361,6 +363,7 @@ def debug(): "sysz": capstone.CS_ARCH_SYSZ, "xcore": capstone.CS_ARCH_XCORE, \ "tms320c64x": capstone.CS_ARCH_TMS320C64X, "m680x": capstone.CS_ARCH_M680X, \ "evm": capstone.CS_ARCH_EVM, "mos65xx": capstone.CS_ARCH_MOS65XX, \ + "wasm": capstone.CS_ARCH_WASM, \ "bpf": capstone.CS_ARCH_BPF, "riscv": capstone.CS_ARCH_RISCV, \ "tricore": capstone.CS_ARCH_TRICORE } diff --git a/bindings/python/setup_cython.py b/bindings/python/setup_cython.py index 953b09a6db..6dc8e0393e 100644 --- a/bindings/python/setup_cython.py +++ b/bindings/python/setup_cython.py @@ -41,7 +41,7 @@ compile_args = ['-O3', '-fomit-frame-pointer', '-I' + HEADERS_DIR] link_args = ['-L' + LIBS_DIR] -ext_module_names = ['arm', 'arm_const', 'arm64', 'arm64_const', 'm68k', 'm68k_const', 'm680x', 'm680x_const', 'mips', 'mips_const', 'ppc', 'ppc_const', 'x86', 'x86_const', 'sparc', 'sparc_const', 'systemz', 'sysz_const', 'xcore', 'xcore_const', 'tms320c64x', 'tms320c64x_const', 'evm', 'evm_const', 'mos65xx', 'mos65xx_const', 'bpf', 'bpf_const', 'riscv', 'riscv_const', 'tricore', 'tricore_const' ] +ext_module_names = ['arm', 'arm_const', 'arm64', 'arm64_const', 'm68k', 'm68k_const', 'm680x', 'm680x_const', 'mips', 'mips_const', 'ppc', 'ppc_const', 'x86', 'x86_const', 'sparc', 'sparc_const', 'systemz', 'sysz_const', 'xcore', 'xcore_const', 'tms320c64x', 'tms320c64x_const', 'evm', 'evm_const', 'mos65xx', 'mos65xx_const', 'wasm', 'wasm_const', 'bpf', 'bpf_const', 'riscv', 'riscv_const', 'tricore', 'tricore_const' ] ext_modules = [Extension("capstone.ccapstone", ["pyx/ccapstone.pyx"], diff --git a/bindings/python/test_basic.py b/bindings/python/test_basic.py index 1f4c721a9f..55d153bfc3 100755 --- a/bindings/python/test_basic.py +++ b/bindings/python/test_basic.py @@ -34,6 +34,7 @@ M68K_CODE = b"\xd4\x40\x87\x5a\x4e\x71\x02\xb4\xc0\xde\xc0\xde\x5c\x00\x1d\x80\x71\x12\x01\x23\xf2\x3c\x44\x22\x40\x49\x0e\x56\x54\xc5\xf2\x3c\x44\x00\x44\x7a\x00\x00\xf2\x00\x0a\x28\x4E\xB9\x00\x00\x00\x12\x4E\x75" TMS320C64X_CODE = b"\x01\xac\x88\x40\x81\xac\x88\x43\x00\x00\x00\x00\x02\x90\x32\x96\x02\x80\x46\x9e\x05\x3c\x83\xe6\x0b\x0c\x8b\x24" M680X_CODE = b"\x06\x10\x19\x1a\x55\x1e\x01\x23\xe9\x31\x06\x34\x55\xa6\x81\xa7\x89\x7f\xff\xa6\x9d\x10\x00\xa7\x91\xa6\x9f\x10\x00\x11\xac\x99\x10\x00\x39" +WASM_CODE = b"\x20\x00\x20\x01\x41\x20\x10\xc9\x01\x45\x0b" RISCV_CODE32 = b"\x37\x34\x00\x00\x97\x82\x00\x00\xef\x00\x80\x00\xef\xf0\x1f\xff\xe7\x00\x45\x00\xe7\x00\xc0\xff\x63\x05\x41\x00\xe3\x9d\x61\xfe\x63\xca\x93\x00\x63\x53\xb5\x00\x63\x65\xd6\x00\x63\x76\xf7\x00\x03\x88\x18\x00\x03\x99\x49\x00\x03\xaa\x6a\x00\x03\xcb\x2b\x01\x03\xdc\x8c\x01\x23\x86\xad\x03\x23\x9a\xce\x03\x23\x8f\xef\x01\x93\x00\xe0\x00\x13\xa1\x01\x01\x13\xb2\x02\x7d\x13\xc3\x03\xdd\x13\xe4\xc4\x12\x13\xf5\x85\x0c\x13\x96\xe6\x01\x13\xd7\x97\x01\x13\xd8\xf8\x40\x33\x89\x49\x01\xb3\x0a\x7b\x41\x33\xac\xac\x01\xb3\x3d\xde\x01\x33\xd2\x62\x40\xb3\x43\x94\x00\x33\xe5\xc5\x00\xb3\x76\xf7\x00\xb3\x54\x39\x01\xb3\x50\x31\x00\x33\x9f\x0f\x00" RISCV_CODE64 = b"\x13\x04\xa8\x7a" @@ -65,8 +66,9 @@ (CS_ARCH_M68K, CS_MODE_BIG_ENDIAN | CS_MODE_M68K_040, M68K_CODE, "M68K (68040)", None), (CS_ARCH_TMS320C64X, 0, TMS320C64X_CODE, "TMS320C64x", None), (CS_ARCH_M680X, CS_MODE_M680X_6809, M680X_CODE, "M680X_M6809", None), - (CS_ARCH_RISCV, CS_MODE_RISCV32, RISCV_CODE32, "riscv32", None), - (CS_ARCH_RISCV, CS_MODE_RISCV64, RISCV_CODE64, "riscv64", None), + (CS_ARCH_WASM, 0, WASM_CODE, "WASM", None), + (CS_ARCH_RISCV, CS_MODE_RISCV32, RISCV_CODE32, "RISCV32", None), + (CS_ARCH_RISCV, CS_MODE_RISCV64, RISCV_CODE64, "RISCV64", None), ) # ## Test cs_disasm_quick() diff --git a/bindings/python/test_wasm.py b/bindings/python/test_wasm.py new file mode 100755 index 0000000000..2645711320 --- /dev/null +++ b/bindings/python/test_wasm.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python + +# Capstone Python bindings, by Peace-Maker + +from __future__ import print_function +from capstone import * +from capstone.wasm import * +from xprint import to_hex + +WASM_CODE = b"\x20\x00\x20\x01\x41\x20\x10\xc9\x01\x45\x0b" + +all_tests = ( + (CS_ARCH_WASM, 0, WASM_CODE, "WASM"), +) + + +def print_insn_detail(insn): + # print address, mnemonic and operands + print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str)) + + # "data" instruction generated by SKIPDATA option has no detail + if insn.id == 0: + return + + if len(insn.groups) > 0: + print("\tGroups: ", end="") + for group in insn.groups: + print("%s " % insn.group_name(group), end="") + print() + + if len(insn.operands) > 0: + print("\tOperand count: %u" % len(insn.operands)) + c = 0 + for i in insn.operands: + if i.type == WASM_OP_INT7: + print("\t\tOperand[%u] type: int7" % c) + print("\t\tOperand[%u] value: %d" % (c, i.int7)) + elif i.type == WASM_OP_VARUINT32: + print("\t\tOperand[%u] type: varuint32" % c) + print("\t\tOperand[%u] value: %#x" % (c, i.varuint32)) + elif i.type == WASM_OP_VARUINT64: + print("\t\tOperand[%u] type: varuint64" % c) + print("\t\tOperand[%u] value: %#x" % (c, i.varuint64)) + elif i.type == WASM_OP_UINT32: + print("\t\tOperand[%u] type: uint32" % c) + print("\t\tOperand[%u] value: %#x" % (c, i.uint32)) + elif i.type == WASM_OP_UINT64: + print("\t\tOperand[%u] type: uint64" % c) + print("\t\tOperand[%u] value: %#x" % (c, i.uint64)) + elif i.type == WASM_OP_IMM: + print("\t\tOperand[%u] type: imm" % c) + print("\t\tOperand[%u] value: %#x %#x" % (c, i.immediate[0], i.immediate[1])) + elif i.type == WASM_OP_BRTABLE: + print("\t\tOperand[%u] type: brtable" % c) + print("\t\tOperand[%u] value: length=%#x, address=%#x, default_target=%#x" % (c, i.brtable.length, i.brtable.address, i.brtable.default_target)) + print("\t\tOperand[%u] size: %u" % (c, i.size)) + c += 1 + + + +# ## Test class Cs +def test_class(): + for (arch, mode, code, comment) in all_tests: + print("*" * 16) + print("Platform: %s" % comment) + print("Code: %s" % to_hex(code)) + print("Disasm:") + + try: + md = Cs(arch, mode) + md.detail = True + for insn in md.disasm(code, 0xffff): + print_insn_detail(insn) + print() + print("0x%x:\n" % (insn.address + insn.size)) + except CsError as e: + print("ERROR: %s" % e) + + +if __name__ == '__main__': + test_class() From 99848981f34f7299b51a9e7a016dacafe7d883a3 Mon Sep 17 00:00:00 2001 From: Peace-Maker Date: Thu, 13 Jul 2023 19:23:22 +0200 Subject: [PATCH 02/13] Update Python bindings for m68k --- bindings/python/capstone/m68k.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bindings/python/capstone/m68k.py b/bindings/python/capstone/m68k.py index 9cc8936548..9356462808 100644 --- a/bindings/python/capstone/m68k.py +++ b/bindings/python/capstone/m68k.py @@ -66,6 +66,10 @@ def simm(self): @property def reg(self): return self.value.reg + + @property + def reg_pair(self): + return self.value.reg_pair @property def mem(self): From 29175cf4b05c0cf98458a6f3a47216c9b976a746 Mon Sep 17 00:00:00 2001 From: Peace-Maker Date: Thu, 13 Jul 2023 19:23:59 +0200 Subject: [PATCH 03/13] Update Python bindings for mos65xx --- bindings/python/capstone/mos65xx.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bindings/python/capstone/mos65xx.py b/bindings/python/capstone/mos65xx.py index 11b3462a58..87a5f87054 100644 --- a/bindings/python/capstone/mos65xx.py +++ b/bindings/python/capstone/mos65xx.py @@ -8,8 +8,8 @@ class MOS65xxOpValue(ctypes.Union): _fields_ = ( ('reg', ctypes.c_uint), - ('imm', ctypes.c_uint8), - ('mem', ctypes.c_uint16), + ('imm', ctypes.c_uint16), + ('mem', ctypes.c_uint32), ) class MOS65xxOp(ctypes.Structure): From d3d0ab01a074a5226c2612ecedfdad0e61bd0c9d Mon Sep 17 00:00:00 2001 From: Peace-Maker Date: Thu, 13 Jul 2023 19:22:56 +0200 Subject: [PATCH 04/13] Update Python bindings for x86 --- bindings/python/capstone/__init__.py | 2 +- bindings/python/capstone/x86.py | 17 +++++++++++++++-- bindings/python/pyx/ccapstone.pyx | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py index 5bd4bc8d8f..27b5202e63 100755 --- a/bindings/python/capstone/__init__.py +++ b/bindings/python/capstone/__init__.py @@ -705,7 +705,7 @@ def __gen_detail(self): (self.prefix, self.opcode, self.rex, self.addr_size, \ self.modrm, self.sib, self.disp, \ self.sib_index, self.sib_scale, self.sib_base, self.xop_cc, self.sse_cc, \ - self.avx_cc, self.avx_sae, self.avx_rm, self.eflags, \ + self.avx_cc, self.avx_sae, self.avx_rm, self.eflags, self.fpu_flags, \ self.encoding, self.modrm_offset, self.disp_offset, self.disp_size, self.imm_offset, self.imm_size, \ self.operands) = x86.get_arch_info(self._raw.detail.contents.arch.x86) elif arch == CS_ARCH_M68K: diff --git a/bindings/python/capstone/x86.py b/bindings/python/capstone/x86.py index f8056f1a94..caa5e35ebd 100644 --- a/bindings/python/capstone/x86.py +++ b/bindings/python/capstone/x86.py @@ -43,6 +43,11 @@ def reg(self): def mem(self): return self.value.mem +class X86Flags(ctypes.Union): + _fields_ = ( + ('eflags', ctypes.c_uint64), + ('fpu_flags', ctypes.c_uint64), + ) class CsX86Encoding(ctypes.Structure): _fields_ = ( @@ -70,16 +75,24 @@ class CsX86(ctypes.Structure): ('avx_cc', ctypes.c_uint), ('avx_sae', ctypes.c_bool), ('avx_rm', ctypes.c_uint), - ('eflags', ctypes.c_uint64), + ('flags', X86Flags), ('op_count', ctypes.c_uint8), ('operands', X86Op * 8), ('encoding', CsX86Encoding), ) + @property + def eflags(self): + return self.flags.eflags + + @property + def fpu_flags(self): + return self.flags.fpu_flags + def get_arch_info(a): return (a.prefix[:], a.opcode[:], a.rex, a.addr_size, \ a.modrm, a.sib, a.disp, a.sib_index, a.sib_scale, \ - a.sib_base, a.xop_cc, a.sse_cc, a.avx_cc, a.avx_sae, a.avx_rm, a.eflags, \ + a.sib_base, a.xop_cc, a.sse_cc, a.avx_cc, a.avx_sae, a.avx_rm, a.eflags, a.fpu_flags, \ a.encoding, a.encoding.modrm_offset, a.encoding.disp_offset, a.encoding.disp_size, a.encoding.imm_offset, a.encoding.imm_size, \ copy_ctypes_list(a.operands[:a.op_count])) diff --git a/bindings/python/pyx/ccapstone.pyx b/bindings/python/pyx/ccapstone.pyx index 3bf5d76c41..8b556b415d 100644 --- a/bindings/python/pyx/ccapstone.pyx +++ b/bindings/python/pyx/ccapstone.pyx @@ -34,7 +34,7 @@ class CsDetail(object): self.modrm, self.sib, self.disp, \ self.sib_index, self.sib_scale, self.sib_base, \ self.xop_cc, self.sse_cc, self.avx_cc, self.avx_sae, self.avx_rm, \ - self.eflags, self.encoding, self.modrm_offset, self.disp_offset, \ + self.eflags, self.fpu_flags, self.encoding, self.modrm_offset, self.disp_offset, \ self.disp_size, self.imm_offset, self.imm_size, self.operands) = x86.get_arch_info(detail.arch.x86) elif arch == capstone.CS_ARCH_M68K: (self.operands, self.op_size) = m68k.get_arch_info(detail.arch.m68k) From 5b05bcb1e009903dfd3d9c7000c48f9bb07f7119 Mon Sep 17 00:00:00 2001 From: Peace-Maker Date: Thu, 13 Jul 2023 19:16:06 +0200 Subject: [PATCH 05/13] Add Python bindings for SH --- .gitignore | 1 + bindings/const_generator.py | 3 +- bindings/python/capstone/__init__.py | 26 +- bindings/python/capstone/sh.py | 66 +++++ bindings/python/capstone/sh_const.py | 367 +++++++++++++++++++++++++++ bindings/python/pyx/ccapstone.pyx | 6 +- bindings/python/setup_cython.py | 2 +- bindings/python/test_sh.py | 97 +++++++ tests/Makefile | 4 + 9 files changed, 564 insertions(+), 8 deletions(-) create mode 100644 bindings/python/capstone/sh.py create mode 100644 bindings/python/capstone/sh_const.py create mode 100755 bindings/python/test_sh.py diff --git a/.gitignore b/.gitignore index aa1c8b6457..aa8f2543e4 100644 --- a/.gitignore +++ b/.gitignore @@ -72,6 +72,7 @@ tests/test_evm tests/test_wasm tests/test_mos65xx tests/test_bpf +tests/test_sh tests/test_riscv # regress binaries diff --git a/bindings/const_generator.py b/bindings/const_generator.py index 74c5f1e66c..fbe1947409 100644 --- a/bindings/const_generator.py +++ b/bindings/const_generator.py @@ -5,7 +5,7 @@ INCL_DIR = '../include/capstone/' -include = [ 'arm.h', 'arm64.h', 'm68k.h', 'mips.h', 'x86.h', 'ppc.h', 'sparc.h', 'systemz.h', 'xcore.h', 'tms320c64x.h', 'm680x.h', 'evm.h', 'mos65xx.h', 'wasm.h', 'bpf.h' ,'riscv.h', 'tricore.h' ] +include = [ 'arm.h', 'arm64.h', 'm68k.h', 'mips.h', 'x86.h', 'ppc.h', 'sparc.h', 'systemz.h', 'xcore.h', 'tms320c64x.h', 'm680x.h', 'evm.h', 'mos65xx.h', 'wasm.h', 'bpf.h' ,'riscv.h', 'sh.h', 'tricore.h' ] template = { 'java': { @@ -53,6 +53,7 @@ 'mos65xx.h': 'mos65xx', 'bpf.h': 'bpf', 'riscv.h': 'riscv', + 'sh.h': 'sh', 'tricore.h': ['TRICORE', 'TriCore'], 'comment_open': '#', 'comment_close': '', diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py index 27b5202e63..74899bb3a4 100755 --- a/bindings/python/capstone/__init__.py +++ b/bindings/python/capstone/__init__.py @@ -35,10 +35,11 @@ 'CS_ARCH_TMS320C64X', 'CS_ARCH_M680X', 'CS_ARCH_EVM', + 'CS_ARCH_MOS65XX', 'CS_ARCH_WASM', 'CS_ARCH_BPF', 'CS_ARCH_RISCV', - 'CS_ARCH_MOS65XX', + 'CS_ARCH_SH', 'CS_ARCH_TRICORE', 'CS_ARCH_ALL', @@ -90,6 +91,13 @@ 'CS_MODE_MOS65XX_65816_LONG_M', 'CS_MODE_MOS65XX_65816_LONG_X', 'CS_MODE_MOS65XX_65816_LONG_MX', + 'CS_MODE_SH2', + 'CS_MODE_SH2A', + 'CS_MODE_SH3', + 'CS_MODE_SH4', + 'CS_MODE_SH4A', + 'CS_MODE_SHFPU', + 'CS_MODE_SHDSP', 'CS_MODE_TRICORE_110', 'CS_MODE_TRICORE_120', 'CS_MODE_TRICORE_130', @@ -186,7 +194,7 @@ CS_ARCH_WASM = 13 CS_ARCH_BPF = 14 CS_ARCH_RISCV = 15 -# CS_ARCH_SH = 16 +CS_ARCH_SH = 16 CS_ARCH_TRICORE = 17 CS_ARCH_MAX = 18 CS_ARCH_ALL = 0xFFFF @@ -240,6 +248,13 @@ CS_MODE_MOS65XX_65816_LONG_M = (1 << 5) # MOS65XXX WDC 65816, 16-bit m, 8-bit x CS_MODE_MOS65XX_65816_LONG_X = (1 << 6) # MOS65XXX WDC 65816, 8-bit m, 16-bit x CS_MODE_MOS65XX_65816_LONG_MX = CS_MODE_MOS65XX_65816_LONG_M | CS_MODE_MOS65XX_65816_LONG_X +CS_MODE_SH2 = 1 << 1 # SH2 +CS_MODE_SH2A = 1 << 2 # SH2A +CS_MODE_SH3 = 1 << 3 # SH3 +CS_MODE_SH4 = 1 << 4 # SH4 +CS_MODE_SH4A = 1 << 5 # SH4A +CS_MODE_SHFPU = 1 << 6 # w/ FPU +CS_MODE_SHDSP = 1 << 7 # w/ DSP CS_MODE_TRICORE_110 = 1 << 1 # Tricore 1.1 CS_MODE_TRICORE_120 = 1 << 2 # Tricore 1.2 CS_MODE_TRICORE_130 = 1 << 3 # Tricore 1.3 @@ -388,7 +403,7 @@ def copy_ctypes_list(src): return [copy_ctypes(n) for n in src] # Weird import placement because these modules are needed by the below code but need the above functions -from . import arm, arm64, m68k, mips, ppc, sparc, systemz, x86, xcore, tms320c64x, m680x, evm, mos65xx, wasm, bpf, riscv, tricore +from . import arm, arm64, m68k, mips, ppc, sparc, systemz, x86, xcore, tms320c64x, m680x, evm, mos65xx, wasm, bpf, riscv, sh, tricore class _cs_arch(ctypes.Union): _fields_ = ( @@ -408,6 +423,7 @@ class _cs_arch(ctypes.Union): ('wasm', wasm.CsWasm), ('bpf', bpf.CsBPF), ('riscv', riscv.CsRISCV), + ('sh', sh.CsSH), ('tricore', tricore.CsTriCore), ) @@ -735,6 +751,8 @@ def __gen_detail(self): (self.operands) = bpf.get_arch_info(self._raw.detail.contents.arch.bpf) elif arch == CS_ARCH_RISCV: (self.need_effective_addr, self.operands) = riscv.get_arch_info(self._raw.detail.contents.arch.riscv) + elif arch == CS_ARCH_SH: + (self.sh_insn, self.sh_size, self.operands) = sh.get_arch_info(self._raw.detail.contents.arch.sh) elif arch == CS_ARCH_TRICORE: (self.update_flags, self.operands) = tricore.get_arch_info(self._raw.detail.contents.arch.tricore) @@ -1203,7 +1221,7 @@ def debug(): "sysz": CS_ARCH_SYSZ, 'xcore': CS_ARCH_XCORE, "tms320c64x": CS_ARCH_TMS320C64X, "m680x": CS_ARCH_M680X, 'evm': CS_ARCH_EVM, 'mos65xx': CS_ARCH_MOS65XX, 'bpf': CS_ARCH_BPF, 'riscv': CS_ARCH_RISCV, 'tricore': CS_ARCH_TRICORE, - 'wasm': CS_ARCH_WASM, + 'wasm': CS_ARCH_WASM, 'sh': CS_ARCH_SH, } all_archs = "" diff --git a/bindings/python/capstone/sh.py b/bindings/python/capstone/sh.py new file mode 100644 index 0000000000..a00f8c669c --- /dev/null +++ b/bindings/python/capstone/sh.py @@ -0,0 +1,66 @@ +# Capstone Python bindings, by Peace-Maker + +import ctypes +from . import copy_ctypes_list +from .sh_const import * + +# define the API +class SHOpMem(ctypes.Structure): + _fields_ = ( + ('address', ctypes.c_uint), + ('reg', ctypes.c_uint), + ('disp', ctypes.c_uint32), + ) + +class SHOpDsp(ctypes.Structure): + _fields_ = ( + ('insn', ctypes.c_uint), + ('operand', ctypes.c_uint * 2), + ('r', ctypes.c_uint * 6), + ('cc', ctypes.c_uint), + ('imm', ctypes.c_uint8), + ('size', ctypes.c_int), + ) + +class SHOpValue(ctypes.Union): + _fields_ = ( + ('imm', ctypes.c_int64), + ('reg', ctypes.c_uint), + ('mem', SHOpMem), + ('dsp', SHOpDsp), + ) + +class SHOp(ctypes.Structure): + _fields_ = ( + ('type', ctypes.c_uint), + ('value', SHOpValue), + ) + + @property + def imm(self): + return self.value.imm + + @property + def reg(self): + return self.value.reg + + @property + def mem(self): + return self.value.mem + + @property + def dsp(self): + return self.value.dsp + + +class CsSH(ctypes.Structure): + _fields_ = ( + ('insn', ctypes.c_uint), + ('size', ctypes.c_uint8), + ('op_count', ctypes.c_uint8), + ('operands', SHOp * 3), + ) + +def get_arch_info(a): + return (a.insn, a.size, copy_ctypes_list(a.operands[:a.op_count])) + diff --git a/bindings/python/capstone/sh_const.py b/bindings/python/capstone/sh_const.py new file mode 100644 index 0000000000..5c6cdd0cba --- /dev/null +++ b/bindings/python/capstone/sh_const.py @@ -0,0 +1,367 @@ +from . import CS_OP_INVALID, CS_OP_REG, CS_OP_IMM, CS_OP_MEM +# For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT [sh_const.py] + +SH_REG_INVALID = 0 +SH_REG_R0 = 1 +SH_REG_R1 = 2 +SH_REG_R2 = 3 +SH_REG_R3 = 4 +SH_REG_R4 = 5 +SH_REG_R5 = 6 +SH_REG_R6 = 7 +SH_REG_R7 = 8 +SH_REG_R8 = 9 +SH_REG_R9 = 10 +SH_REG_R10 = 11 +SH_REG_R11 = 12 +SH_REG_R12 = 13 +SH_REG_R13 = 14 +SH_REG_R14 = 15 +SH_REG_R15 = 16 +SH_REG_R0_BANK = 17 +SH_REG_R1_BANK = 18 +SH_REG_R2_BANK = 19 +SH_REG_R3_BANK = 20 +SH_REG_R4_BANK = 21 +SH_REG_R5_BANK = 22 +SH_REG_R6_BANK = 23 +SH_REG_R7_BANK = 24 +SH_REG_FR0 = 25 +SH_REG_FR1 = 26 +SH_REG_FR2 = 27 +SH_REG_FR3 = 28 +SH_REG_FR4 = 29 +SH_REG_FR5 = 30 +SH_REG_FR6 = 31 +SH_REG_FR7 = 32 +SH_REG_FR8 = 33 +SH_REG_FR9 = 34 +SH_REG_FR10 = 35 +SH_REG_FR11 = 36 +SH_REG_FR12 = 37 +SH_REG_FR13 = 38 +SH_REG_FR14 = 39 +SH_REG_FR15 = 40 +SH_REG_DR0 = 41 +SH_REG_DR2 = 42 +SH_REG_DR4 = 43 +SH_REG_DR6 = 44 +SH_REG_DR8 = 45 +SH_REG_DR10 = 46 +SH_REG_DR12 = 47 +SH_REG_DR14 = 48 +SH_REG_XD0 = 49 +SH_REG_XD2 = 50 +SH_REG_XD4 = 51 +SH_REG_XD6 = 52 +SH_REG_XD8 = 53 +SH_REG_XD10 = 54 +SH_REG_XD12 = 55 +SH_REG_XD14 = 56 +SH_REG_XF0 = 57 +SH_REG_XF1 = 58 +SH_REG_XF2 = 59 +SH_REG_XF3 = 60 +SH_REG_XF4 = 61 +SH_REG_XF5 = 62 +SH_REG_XF6 = 63 +SH_REG_XF7 = 64 +SH_REG_XF8 = 65 +SH_REG_XF9 = 66 +SH_REG_XF10 = 67 +SH_REG_XF11 = 68 +SH_REG_XF12 = 69 +SH_REG_XF13 = 70 +SH_REG_XF14 = 71 +SH_REG_XF15 = 72 +SH_REG_FV0 = 73 +SH_REG_FV4 = 74 +SH_REG_FV8 = 75 +SH_REG_FV12 = 76 +SH_REG_XMATRX = 77 +SH_REG_PC = 78 +SH_REG_PR = 79 +SH_REG_MACH = 80 +SH_REG_MACL = 81 +SH_REG_SR = 82 +SH_REG_GBR = 83 +SH_REG_SSR = 84 +SH_REG_SPC = 85 +SH_REG_SGR = 86 +SH_REG_DBR = 87 +SH_REG_VBR = 88 +SH_REG_TBR = 89 +SH_REG_RS = 90 +SH_REG_RE = 91 +SH_REG_MOD = 92 +SH_REG_FPUL = 93 +SH_REG_FPSCR = 94 +SH_REG_DSP_X0 = 95 +SH_REG_DSP_X1 = 96 +SH_REG_DSP_Y0 = 97 +SH_REG_DSP_Y1 = 98 +SH_REG_DSP_A0 = 99 +SH_REG_DSP_A1 = 100 +SH_REG_DSP_A0G = 101 +SH_REG_DSP_A1G = 102 +SH_REG_DSP_M0 = 103 +SH_REG_DSP_M1 = 104 +SH_REG_DSP_DSR = 105 +SH_REG_DSP_RSV0 = 106 +SH_REG_DSP_RSV1 = 107 +SH_REG_DSP_RSV2 = 108 +SH_REG_DSP_RSV3 = 109 +SH_REG_DSP_RSV4 = 110 +SH_REG_DSP_RSV5 = 111 +SH_REG_DSP_RSV6 = 112 +SH_REG_DSP_RSV7 = 113 +SH_REG_DSP_RSV8 = 114 +SH_REG_DSP_RSV9 = 115 +SH_REG_DSP_RSVA = 116 +SH_REG_DSP_RSVB = 117 +SH_REG_DSP_RSVC = 118 +SH_REG_DSP_RSVD = 119 +SH_REG_DSP_RSVE = 120 +SH_REG_DSP_RSVF = 121 +SH_REG_ENDING = 122 + +SH_OP_INVALID = 0 +SH_OP_REG = 1 +SH_OP_IMM = 2 +SH_OP_MEM = 3 + +SH_OP_MEM_INVALID = 0 +SH_OP_MEM_REG_IND = 1 +SH_OP_MEM_REG_POST = 2 +SH_OP_MEM_REG_PRE = 3 +SH_OP_MEM_REG_DISP = 4 +SH_OP_MEM_REG_R0 = 5 +SH_OP_MEM_GBR_DISP = 6 +SH_OP_MEM_GBR_R0 = 7 +SH_OP_MEM_PCR = 8 +SH_OP_MEM_TBR_DISP = 9 +SH_INS_DSP_INVALID = 10 +SH_INS_DSP_DOUBLE = 11 +SH_INS_DSP_SINGLE = 12 +SH_INS_DSP_PARALLEL = 13 +SH_INS_DSP_NOP = 1 +SH_INS_DSP_MOV = 2 +SH_INS_DSP_PSHL = 3 +SH_INS_DSP_PSHA = 4 +SH_INS_DSP_PMULS = 5 +SH_INS_DSP_PCLR_PMULS = 6 +SH_INS_DSP_PSUB_PMULS = 7 +SH_INS_DSP_PADD_PMULS = 8 +SH_INS_DSP_PSUBC = 9 +SH_INS_DSP_PADDC = 10 +SH_INS_DSP_PCMP = 11 +SH_INS_DSP_PABS = 12 +SH_INS_DSP_PRND = 13 +SH_INS_DSP_PSUB = 14 +SH_INS_DSP_PSUBr = 15 +SH_INS_DSP_PADD = 16 +SH_INS_DSP_PAND = 17 +SH_INS_DSP_PXOR = 18 +SH_INS_DSP_POR = 19 +SH_INS_DSP_PDEC = 20 +SH_INS_DSP_PINC = 21 +SH_INS_DSP_PCLR = 22 +SH_INS_DSP_PDMSB = 23 +SH_INS_DSP_PNEG = 24 +SH_INS_DSP_PCOPY = 25 +SH_INS_DSP_PSTS = 26 +SH_INS_DSP_PLDS = 27 +SH_INS_DSP_PSWAP = 28 +SH_INS_DSP_PWAD = 29 +SH_INS_DSP_PWSB = 30 +SH_OP_DSP_INVALID = 31 +SH_OP_DSP_REG_PRE = 32 +SH_OP_DSP_REG_IND = 33 +SH_OP_DSP_REG_POST = 34 +SH_OP_DSP_REG_INDEX = 35 +SH_OP_DSP_REG = 36 +SH_OP_DSP_IMM = 37 +SH_DSP_CC_INVALID = 38 +SH_DSP_CC_NONE = 39 +SH_DSP_CC_DCT = 40 +SH_DSP_CC_DCF = 41 +SH_INS_INVALID = 42 +SH_INS_ADD_r = 43 +SH_INS_ADD = 44 +SH_INS_ADDC = 45 +SH_INS_ADDV = 46 +SH_INS_AND = 47 +SH_INS_BAND = 48 +SH_INS_BANDNOT = 49 +SH_INS_BCLR = 50 +SH_INS_BF = 51 +SH_INS_BF_S = 52 +SH_INS_BLD = 53 +SH_INS_BLDNOT = 54 +SH_INS_BOR = 55 +SH_INS_BORNOT = 56 +SH_INS_BRA = 57 +SH_INS_BRAF = 58 +SH_INS_BSET = 59 +SH_INS_BSR = 60 +SH_INS_BSRF = 61 +SH_INS_BST = 62 +SH_INS_BT = 63 +SH_INS_BT_S = 64 +SH_INS_BXOR = 65 +SH_INS_CLIPS = 66 +SH_INS_CLIPU = 67 +SH_INS_CLRDMXY = 68 +SH_INS_CLRMAC = 69 +SH_INS_CLRS = 70 +SH_INS_CLRT = 71 +SH_INS_CMP_EQ = 72 +SH_INS_CMP_GE = 73 +SH_INS_CMP_GT = 74 +SH_INS_CMP_HI = 75 +SH_INS_CMP_HS = 76 +SH_INS_CMP_PL = 77 +SH_INS_CMP_PZ = 78 +SH_INS_CMP_STR = 79 +SH_INS_DIV0S = 80 +SH_INS_DIV0U = 81 +SH_INS_DIV1 = 82 +SH_INS_DIVS = 83 +SH_INS_DIVU = 84 +SH_INS_DMULS_L = 85 +SH_INS_DMULU_L = 86 +SH_INS_DT = 87 +SH_INS_EXTS_B = 88 +SH_INS_EXTS_W = 89 +SH_INS_EXTU_B = 90 +SH_INS_EXTU_W = 91 +SH_INS_FABS = 92 +SH_INS_FADD = 93 +SH_INS_FCMP_EQ = 94 +SH_INS_FCMP_GT = 95 +SH_INS_FCNVDS = 96 +SH_INS_FCNVSD = 97 +SH_INS_FDIV = 98 +SH_INS_FIPR = 99 +SH_INS_FLDI0 = 100 +SH_INS_FLDI1 = 101 +SH_INS_FLDS = 102 +SH_INS_FLOAT = 103 +SH_INS_FMAC = 104 +SH_INS_FMOV = 105 +SH_INS_FMUL = 106 +SH_INS_FNEG = 107 +SH_INS_FPCHG = 108 +SH_INS_FRCHG = 109 +SH_INS_FSCA = 110 +SH_INS_FSCHG = 111 +SH_INS_FSQRT = 112 +SH_INS_FSRRA = 113 +SH_INS_FSTS = 114 +SH_INS_FSUB = 115 +SH_INS_FTRC = 116 +SH_INS_FTRV = 117 +SH_INS_ICBI = 118 +SH_INS_JMP = 119 +SH_INS_JSR = 120 +SH_INS_JSR_N = 121 +SH_INS_LDBANK = 122 +SH_INS_LDC = 123 +SH_INS_LDRC = 124 +SH_INS_LDRE = 125 +SH_INS_LDRS = 126 +SH_INS_LDS = 127 +SH_INS_LDTLB = 128 +SH_INS_MAC_L = 129 +SH_INS_MAC_W = 130 +SH_INS_MOV = 131 +SH_INS_MOVA = 132 +SH_INS_MOVCA = 133 +SH_INS_MOVCO = 134 +SH_INS_MOVI20 = 135 +SH_INS_MOVI20S = 136 +SH_INS_MOVLI = 137 +SH_INS_MOVML = 138 +SH_INS_MOVMU = 139 +SH_INS_MOVRT = 140 +SH_INS_MOVT = 141 +SH_INS_MOVU = 142 +SH_INS_MOVUA = 143 +SH_INS_MUL_L = 144 +SH_INS_MULR = 145 +SH_INS_MULS_W = 146 +SH_INS_MULU_W = 147 +SH_INS_NEG = 148 +SH_INS_NEGC = 149 +SH_INS_NOP = 150 +SH_INS_NOT = 151 +SH_INS_NOTT = 152 +SH_INS_OCBI = 153 +SH_INS_OCBP = 154 +SH_INS_OCBWB = 155 +SH_INS_OR = 156 +SH_INS_PREF = 157 +SH_INS_PREFI = 158 +SH_INS_RESBANK = 159 +SH_INS_ROTCL = 160 +SH_INS_ROTCR = 161 +SH_INS_ROTL = 162 +SH_INS_ROTR = 163 +SH_INS_RTE = 164 +SH_INS_RTS = 165 +SH_INS_RTS_N = 166 +SH_INS_RTV_N = 167 +SH_INS_SETDMX = 168 +SH_INS_SETDMY = 169 +SH_INS_SETRC = 170 +SH_INS_SETS = 171 +SH_INS_SETT = 172 +SH_INS_SHAD = 173 +SH_INS_SHAL = 174 +SH_INS_SHAR = 175 +SH_INS_SHLD = 176 +SH_INS_SHLL = 177 +SH_INS_SHLL16 = 178 +SH_INS_SHLL2 = 179 +SH_INS_SHLL8 = 180 +SH_INS_SHLR = 181 +SH_INS_SHLR16 = 182 +SH_INS_SHLR2 = 183 +SH_INS_SHLR8 = 184 +SH_INS_SLEEP = 185 +SH_INS_STBANK = 186 +SH_INS_STC = 187 +SH_INS_STS = 188 +SH_INS_SUB = 189 +SH_INS_SUBC = 190 +SH_INS_SUBV = 191 +SH_INS_SWAP_B = 192 +SH_INS_SWAP_W = 193 +SH_INS_SYNCO = 194 +SH_INS_TAS = 195 +SH_INS_TRAPA = 196 +SH_INS_TST = 197 +SH_INS_XOR = 198 +SH_INS_XTRCT = 199 +SH_INS_DSP = 200 +SH_INS_ENDING = 201 + +SH_GRP_INVALID = 0 +SH_GRP_JUMP = 1 +SH_GRP_CALL = 2 +SH_GRP_INT = 3 +SH_GRP_RET = 4 +SH_GRP_IRET = 5 +SH_GRP_PRIVILEGE = 6 +SH_GRP_BRANCH_RELATIVE = 7 +SH_GRP_SH1 = 8 +SH_GRP_SH2 = 9 +SH_GRP_SH2E = 10 +SH_GRP_SH2DSP = 11 +SH_GRP_SH2A = 12 +SH_GRP_SH2AFPU = 13 +SH_GRP_SH3 = 14 +SH_GRP_SH3DSP = 15 +SH_GRP_SH4 = 16 +SH_GRP_SH4A = 17 +SH_GRP_ENDING = 18 diff --git a/bindings/python/pyx/ccapstone.pyx b/bindings/python/pyx/ccapstone.pyx index 8b556b415d..932752c4de 100644 --- a/bindings/python/pyx/ccapstone.pyx +++ b/bindings/python/pyx/ccapstone.pyx @@ -2,7 +2,7 @@ cimport pyx.ccapstone as cc import capstone, ctypes -from . import arm, x86, mips, ppc, arm64, sparc, systemz, xcore, tms320c64x, m68k, m680x, evm, mos65xx, wasm, bpf, riscv, tricore, CsError +from . import arm, x86, mips, ppc, arm64, sparc, systemz, xcore, tms320c64x, m68k, m680x, evm, mos65xx, wasm, bpf, riscv, sh, tricore, CsError _diet = cc.cs_support(capstone.CS_SUPPORT_DIET) @@ -63,6 +63,8 @@ class CsDetail(object): (self.operands) = bpf.get_arch_info(detail.arch.bpf) elif arch == capstone.CS_ARCH_RISCV: (self.need_effective_addr, self.operands) = riscv.get_arch_info(detail.arch.riscv) + elif arch == capstone.CS_ARCH_SH: + (self.sh_insn, self.sh_size, self.operands) = sh.get_arch_info(detail.arch.sh) elif arch == capstone.CS_ARCH_TRICORE: (self.update_flags, self.operands) = tricore.get_arch_info(detail.arch.tricore) @@ -365,7 +367,7 @@ def debug(): "evm": capstone.CS_ARCH_EVM, "mos65xx": capstone.CS_ARCH_MOS65XX, \ "wasm": capstone.CS_ARCH_WASM, \ "bpf": capstone.CS_ARCH_BPF, "riscv": capstone.CS_ARCH_RISCV, \ - "tricore": capstone.CS_ARCH_TRICORE } + "sh": capstone.CS_ARCH_SH, "tricore": capstone.CS_ARCH_TRICORE } all_archs = "" keys = list(archs.keys()) diff --git a/bindings/python/setup_cython.py b/bindings/python/setup_cython.py index 6dc8e0393e..70fcc856c9 100644 --- a/bindings/python/setup_cython.py +++ b/bindings/python/setup_cython.py @@ -41,7 +41,7 @@ compile_args = ['-O3', '-fomit-frame-pointer', '-I' + HEADERS_DIR] link_args = ['-L' + LIBS_DIR] -ext_module_names = ['arm', 'arm_const', 'arm64', 'arm64_const', 'm68k', 'm68k_const', 'm680x', 'm680x_const', 'mips', 'mips_const', 'ppc', 'ppc_const', 'x86', 'x86_const', 'sparc', 'sparc_const', 'systemz', 'sysz_const', 'xcore', 'xcore_const', 'tms320c64x', 'tms320c64x_const', 'evm', 'evm_const', 'mos65xx', 'mos65xx_const', 'wasm', 'wasm_const', 'bpf', 'bpf_const', 'riscv', 'riscv_const', 'tricore', 'tricore_const' ] +ext_module_names = ['arm', 'arm_const', 'arm64', 'arm64_const', 'm68k', 'm68k_const', 'm680x', 'm680x_const', 'mips', 'mips_const', 'ppc', 'ppc_const', 'x86', 'x86_const', 'sparc', 'sparc_const', 'systemz', 'sysz_const', 'xcore', 'xcore_const', 'tms320c64x', 'tms320c64x_const', 'evm', 'evm_const', 'mos65xx', 'mos65xx_const', 'wasm', 'wasm_const', 'bpf', 'bpf_const', 'riscv', 'riscv_const', 'sh', 'sh_const', 'tricore', 'tricore_const' ] ext_modules = [Extension("capstone.ccapstone", ["pyx/ccapstone.pyx"], diff --git a/bindings/python/test_sh.py b/bindings/python/test_sh.py new file mode 100755 index 0000000000..1afe31c3eb --- /dev/null +++ b/bindings/python/test_sh.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python + +# Capstone Python bindings, by Peace-Maker + +from __future__ import print_function +from capstone import * +from capstone.sh import * +from xprint import to_x, to_hex + +SH4A_CODE = b"\x0c\x31\x10\x20\x22\x21\x36\x64\x46\x25\x12\x12\x1c\x02\x08\xc1\x05\xc7\x0c\x71\x1f\x02\x22\xcf\x06\x89\x23\x00\x2b\x41\x0b\x00\x0e\x40\x32\x00\x0a\xf1\x09\x00" +SH2A_CODE = b"\x32\x11\x92\x00\x32\x49\x31\x00" +all_tests = ( + (CS_ARCH_SH, CS_MODE_SH4A | CS_MODE_SHFPU, SH4A_CODE, "SH_SH4A"), + (CS_ARCH_SH, CS_MODE_SH2A | CS_MODE_SHFPU | CS_MODE_BIG_ENDIAN, SH2A_CODE, "SH_SH2A"), +) + + +reg_address_msg = [ + "Register indirect", + "Register indirect with predecrement", + "Register indirect with postincrement", +] + +def print_read_write_regs(insn): + if len(insn.regs_read) > 0: + print("\tRegisters read: %s" % " ".join(insn.reg_name(m) for m in insn.regs_read)) + + if len(insn.regs_write) > 0: + print("\tRegisters modified: %s" % " ".join(insn.reg_name(m) for m in insn.regs_write)) + +def print_insn_detail(insn): + # print address, mnemonic and operands + print("0x%x:\t%s\t%s" % (insn.address, insn.mnemonic, insn.op_str)) + + # "data" instruction generated by SKIPDATA option has no detail + if insn.id == 0: + return + + if len(insn.operands) > 0: + print("\top_count: %u" % len(insn.operands)) + c = 0 + for i in insn.operands: + if i.type == SH_OP_REG: + print("\t\toperands[%u].type: REG = %s" % (c, insn.reg_name(i.reg))) + elif i.type == SH_OP_IMM: + print("\t\toperands[%u].type: IMM = 0x%s" % (c, to_x(i.imm))) + elif i.type == SH_OP_MEM: + print("\t\toperands[%u].type: MEM " % c) + if i.mem.address in [SH_OP_MEM_REG_IND, SH_OP_MEM_REG_POST, SH_OP_MEM_REG_PRE]: + print("%s REG %s" % (reg_address_msg[i.mem.address - SH_OP_MEM_REG_IND], insn.reg_name(i.mem.reg))) + elif i.mem.address == SH_OP_MEM_REG_DISP: + print("Register indirect with displacement REG %s, DISP %d" % (insn.reg_name(i.mem.reg), i.mem.disp)) + elif i.mem.address == SH_OP_MEM_REG_R0: + print("R0 indexed") + elif i.mem.address == SH_OP_MEM_GBR_DISP: + print("GBR base with displacement DISP %d" % i.mem.disp) + elif i.mem.address == SH_OP_MEM_GBR_R0: + print("GBR base with R0 indexed") + elif i.mem.address == SH_OP_MEM_PCR: + print("PC relative Address=0x%08x" % i.mem.disp) + elif i.mem.address == SH_OP_MEM_TBR_DISP: + print("TBR base with displacement DISP %d", i.mem.disp) + else: + print("Unknown addressing mode %x" % i.mem.address) + + if i.sh_size != 0: + print("\t\t\tsh_size: %u" % i.sh_size) + c += 1 + + print_read_write_regs(insn) + + if len(insn.groups) > 0: + print('\tgroups: ' + ' '.join(map(lambda g: insn.group_name(g), insn.groups))) + + +# ## Test class Cs +def test_class(): + + for (arch, mode, code, comment) in all_tests: + print("*" * 16) + print("Platform: %s" %comment) + print("Code: %s" % to_hex(code)) + print("Disasm:") + + try: + md = Cs(arch, mode) + md.detail = True + for insn in md.disasm(code, 0x80000000): + print_insn_detail(insn) + print() + print("0x%x:" % (insn.address + insn.size)) + except CsError as e: + print("ERROR: %s" %e) + + +if __name__ == '__main__': + test_class() diff --git a/tests/Makefile b/tests/Makefile index a66df22fcc..b9e90c6d01 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -132,6 +132,10 @@ endif ifneq (,$(findstring tricore,$(CAPSTONE_ARCHS))) SOURCES += test_tricore.c endif +ifneq (,$(findstring sh,$(CAPSTONE_ARCHS))) +CFLAGS += -DCAPSTONE_HAS_SH +SOURCES += test_sh.c +endif OBJS = $(addprefix $(OBJDIR)/,$(SOURCES:.c=.o)) BINARY = $(addprefix $(TESTDIR)/,$(SOURCES:.c=$(BIN_EXT))) From b8febfe0db0fb0f191101ea7712b510af1347dc0 Mon Sep 17 00:00:00 2001 From: Peace-Maker Date: Thu, 13 Jul 2023 19:20:37 +0200 Subject: [PATCH 06/13] Update CS_* constants in Python bindings --- bindings/python/capstone/__init__.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py index 74899bb3a4..ca0435ad01 100755 --- a/bindings/python/capstone/__init__.py +++ b/bindings/python/capstone/__init__.py @@ -119,7 +119,13 @@ 'CS_OPT_ON', 'CS_OPT_OFF', + 'CS_OPT_INVALID', 'CS_OPT_MEM', + 'CS_OPT_SKIPDATA', + 'CS_OPT_SKIPDATA_SETUP', + 'CS_OPT_MNEMONIC', + 'CS_OPT_UNSIGNED', + 'CS_OPT_NO_BRANCH_OFFSET', 'CS_ERR_OK', 'CS_ERR_MEM', @@ -135,6 +141,7 @@ 'CS_ERR_SKIPDATA', 'CS_ERR_X86_ATT', 'CS_ERR_X86_INTEL', + 'CS_ERR_X86_MASM', 'CS_SUPPORT_DIET', 'CS_SUPPORT_X86_REDUCE', @@ -143,8 +150,8 @@ 'CS_OP_INVALID', 'CS_OP_REG', 'CS_OP_IMM', - 'CS_OP_MEM', 'CS_OP_FP', + 'CS_OP_MEM', 'CS_GRP_INVALID', 'CS_GRP_JUMP', @@ -264,6 +271,7 @@ CS_MODE_TRICORE_162 = 1 << 7 # Tricore 1.6.2 # Capstone option type +CS_OPT_INVALID = 0 # No option specified CS_OPT_SYNTAX = 1 # Intel X86 asm syntax (CS_ARCH_X86 arch) CS_OPT_DETAIL = 2 # Break down instruction structure into details CS_OPT_MODE = 3 # Change engine's mode at run-time @@ -272,17 +280,18 @@ CS_OPT_SKIPDATA_SETUP = 6 # Setup user-defined function for SKIPDATA option CS_OPT_MNEMONIC = 7 # Customize instruction mnemonic CS_OPT_UNSIGNED = 8 # Print immediate in unsigned form +CS_OPT_NO_BRANCH_OFFSET = 9 # ARM, prints branch immediates without offset. # Capstone option value CS_OPT_OFF = 0 # Turn OFF an option - default option of CS_OPT_DETAIL CS_OPT_ON = 3 # Turn ON an option (CS_OPT_DETAIL) # Common instruction operand types - to be consistent across all architectures. -CS_OP_INVALID = 0 -CS_OP_REG = 1 -CS_OP_IMM = 2 -CS_OP_MEM = 3 -CS_OP_FP = 4 +CS_OP_INVALID = 0 # uninitialized/invalid operand. +CS_OP_REG = 1 # Register operand. +CS_OP_IMM = 2 # Immediate operand. +CS_OP_FP = 3 # Floating-Point operand. +CS_OP_MEM = 0x80 # Memory operand. Can be ORed with another operand type. # Common instruction groups - to be consistent across all architectures. CS_GRP_INVALID = 0 # uninitialized/invalid group. From d2a39a2ef15ce4878f1186f711e97bee68845339 Mon Sep 17 00:00:00 2001 From: Peace-Maker Date: Wed, 19 Jul 2023 17:52:54 +0200 Subject: [PATCH 07/13] Update constants from ARM auto-sync patch --- bindings/python/capstone/__init__.py | 42 +++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py index ca0435ad01..22b26727b1 100755 --- a/bindings/python/capstone/__init__.py +++ b/bindings/python/capstone/__init__.py @@ -113,6 +113,7 @@ 'CS_OPT_SYNTAX_NOREGNAME', 'CS_OPT_SYNTAX_MASM', 'CS_OPT_SYNTAX_MOTOROLA', + 'CS_OPT_SYNTAX_CS_REG_ALIAS', 'CS_OPT_DETAIL', 'CS_OPT_MODE', @@ -151,6 +152,19 @@ 'CS_OP_REG', 'CS_OP_IMM', 'CS_OP_FP', + 'CS_OP_PRED', + 'CS_OP_RESERVED_5', + 'CS_OP_RESERVED_6', + 'CS_OP_RESERVED_7', + 'CS_OP_RESERVED_8', + 'CS_OP_RESERVED_9', + 'CS_OP_RESERVED_10', + 'CS_OP_RESERVED_11', + 'CS_OP_RESERVED_12', + 'CS_OP_RESERVED_13', + 'CS_OP_RESERVED_14', + 'CS_OP_RESERVED_15', + 'CS_OP_SPECIAL', 'CS_OP_MEM', 'CS_GRP_INVALID', @@ -284,13 +298,26 @@ # Capstone option value CS_OPT_OFF = 0 # Turn OFF an option - default option of CS_OPT_DETAIL -CS_OPT_ON = 3 # Turn ON an option (CS_OPT_DETAIL) +CS_OPT_ON = 1 << 0 # Turn ON an option (CS_OPT_DETAIL) # Common instruction operand types - to be consistent across all architectures. CS_OP_INVALID = 0 # uninitialized/invalid operand. CS_OP_REG = 1 # Register operand. CS_OP_IMM = 2 # Immediate operand. CS_OP_FP = 3 # Floating-Point operand. +CS_OP_PRED = 4 # Predicate operand. +CS_OP_RESERVED_5 = 5 +CS_OP_RESERVED_6 = 6 +CS_OP_RESERVED_7 = 7 +CS_OP_RESERVED_8 = 8 +CS_OP_RESERVED_9 = 9 +CS_OP_RESERVED_10 = 10 +CS_OP_RESERVED_11 = 11 +CS_OP_RESERVED_12 = 12 +CS_OP_RESERVED_13 = 13 +CS_OP_RESERVED_14 = 14 +CS_OP_RESERVED_15 = 15 +CS_OP_SPECIAL = 0x10 # Special operands from archs CS_OP_MEM = 0x80 # Memory operand. Can be ORed with another operand type. # Common instruction groups - to be consistent across all architectures. @@ -309,12 +336,13 @@ CS_AC_WRITE = (1 << 1) # Operand that is written to. # Capstone syntax value -CS_OPT_SYNTAX_DEFAULT = 0 # Default assembly syntax of all platforms (CS_OPT_SYNTAX) -CS_OPT_SYNTAX_INTEL = 1 # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86) -CS_OPT_SYNTAX_ATT = 2 # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86) -CS_OPT_SYNTAX_NOREGNAME = 3 # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM) -CS_OPT_SYNTAX_MASM = 4 # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86) -CS_OPT_SYNTAX_MOTOROLA = 5 # MOS65XX use $ as hex prefix +CS_OPT_SYNTAX_DEFAULT = 1 << 1 # Default assembly syntax of all platforms (CS_OPT_SYNTAX) +CS_OPT_SYNTAX_INTEL = 1 << 2 # Intel X86 asm syntax - default syntax on X86 (CS_OPT_SYNTAX, CS_ARCH_X86) +CS_OPT_SYNTAX_ATT = 1 << 3 # ATT asm syntax (CS_OPT_SYNTAX, CS_ARCH_X86) +CS_OPT_SYNTAX_NOREGNAME = 1 << 4 # Asm syntax prints register name with only number - (CS_OPT_SYNTAX, CS_ARCH_PPC, CS_ARCH_ARM) +CS_OPT_SYNTAX_MASM = 1 << 5 # MASM syntax (CS_OPT_SYNTAX, CS_ARCH_X86) +CS_OPT_SYNTAX_MOTOROLA = 1 << 6 # MOS65XX use $ as hex prefix +CS_OPT_SYNTAX_CS_REG_ALIAS = 1 << 7 # Prints common register alias which are not defined in LLVM (ARM: r9 = sb etc.) # Capstone error type CS_ERR_OK = 0 # No error: everything was fine From a3ad50eaad61817d8dd1f0c26753f23af8b5c3bf Mon Sep 17 00:00:00 2001 From: Bastian Koppelmann Date: Wed, 26 Jul 2023 06:47:05 +0000 Subject: [PATCH 08/13] Fixing TriCore disasm instructions (#2088) --- arch/TriCore/TriCoreDisassembler.c | 121 +++++++++++++++++++++++------ arch/TriCore/TriCoreInstPrinter.c | 16 ++++ suite/MC/TriCore/csfr.s.cs | 3 + suite/MC/TriCore/extr_u.s.cs | 3 + suite/MC/TriCore/ldst_br_circ.s.cs | 47 +++++++++++ suite/MC/TriCore/rr_insn.s.cs | 6 ++ 6 files changed, 174 insertions(+), 22 deletions(-) create mode 100644 suite/MC/TriCore/csfr.s.cs create mode 100644 suite/MC/TriCore/extr_u.s.cs create mode 100644 suite/MC/TriCore/ldst_br_circ.s.cs create mode 100644 suite/MC/TriCore/rr_insn.s.cs diff --git a/arch/TriCore/TriCoreDisassembler.c b/arch/TriCore/TriCoreDisassembler.c index 408f516c59..40aad5e684 100644 --- a/arch/TriCore/TriCoreDisassembler.c +++ b/arch/TriCore/TriCoreDisassembler.c @@ -425,6 +425,7 @@ static DecodeStatus DecodeBOInstruction(MCInst *Inst, unsigned Insn, unsigned off10_0 = fieldFromInstruction_4(Insn, 16, 6); unsigned off10_1 = fieldFromInstruction_4(Insn, 28, 4); unsigned off10 = (off10_0 << 0) | (off10_1 << 6); + bool is_store = false; unsigned s2 = fieldFromInstruction_4(Insn, 12, 4); unsigned s1_d = fieldFromInstruction_4(Insn, 8, 4); @@ -440,32 +441,83 @@ static DecodeStatus DecodeBOInstruction(MCInst *Inst, unsigned Insn, return DecodeRegisterClass(Inst, s2, &desc->OpInfo[0], Decoder); } - if (desc->NumOperands == 2) { - status = DecodeRegisterClass(Inst, s2, &desc->OpInfo[0], - Decoder); - if (status != MCDisassembler_Success) - return status; + switch (MCInst_getOpcode(Inst)) { + case TRICORE_ST_A_bo_r: + case TRICORE_ST_A_bo_c: + case TRICORE_ST_B_bo_r: + case TRICORE_ST_B_bo_c: + case TRICORE_ST_D_bo_r: + case TRICORE_ST_D_bo_c: + case TRICORE_ST_DA_bo_r: + case TRICORE_ST_DA_bo_c: + case TRICORE_ST_H_bo_r: + case TRICORE_ST_H_bo_c: + case TRICORE_ST_Q_bo_r: + case TRICORE_ST_Q_bo_c: + case TRICORE_ST_W_bo_r: + case TRICORE_ST_W_bo_c: + case TRICORE_SWAP_W_bo_r: + case TRICORE_SWAP_W_bo_c: + case TRICORE_SWAPMSK_W_bo_c: + case TRICORE_SWAPMSK_W_bo_r: { + is_store = true; + break; + } + } + if (desc->NumOperands == 2) { if (desc->OpInfo[1].OperandType == MCOI_OPERAND_REGISTER) { - return DecodeRegisterClass(Inst, s1_d, &desc->OpInfo[1], - Decoder); + // we have [reg+r] instruction + if (is_store) { + status = DecodeRegisterClass(Inst, s2, &desc->OpInfo[0], + Decoder); + if (status != MCDisassembler_Success) + return status; + return DecodeRegisterClass(Inst, s1_d, &desc->OpInfo[1], + Decoder); + } else { + status = DecodeRegisterClass(Inst, s1_d, &desc->OpInfo[0], + Decoder); + if (status != MCDisassembler_Success) + return status; + return DecodeRegisterClass(Inst, s2, &desc->OpInfo[1], + Decoder); + } } else { + // we have one of the CACHE instructions without destination reg + status = DecodeRegisterClass(Inst, s2, &desc->OpInfo[0], + Decoder); + if (status != MCDisassembler_Success) + return status; + MCOperand_CreateImm0(Inst, off10); } return MCDisassembler_Success; } if (desc->NumOperands > 2) { - status = DecodeRegisterClass(Inst, s1_d, &desc->OpInfo[0], - Decoder); - if (status != MCDisassembler_Success) - return status; + if (is_store) { + // we have [reg+c] instruction + status = DecodeRegisterClass(Inst, s2, &desc->OpInfo[0], + Decoder); + if (status != MCDisassembler_Success) + return status; - status = DecodeRegisterClass(Inst, s2, &desc->OpInfo[1], - Decoder); - if (status != MCDisassembler_Success) - return status; + status = DecodeRegisterClass(Inst, s1_d, &desc->OpInfo[1], + Decoder); + if (status != MCDisassembler_Success) + return status; + } else { + status = DecodeRegisterClass(Inst, s1_d, &desc->OpInfo[0], + Decoder); + if (status != MCDisassembler_Success) + return status; + status = DecodeRegisterClass(Inst, s2, &desc->OpInfo[1], + Decoder); + if (status != MCDisassembler_Success) + return status; + } MCOperand_CreateImm0(Inst, off10); } @@ -649,8 +701,13 @@ static DecodeStatus DecodeRLCInstruction(MCInst *Inst, unsigned Insn, MCOperand_CreateImm0(Inst, const16); } else { MCOperand_CreateImm0(Inst, const16); - status = - DecodeRegisterClass(Inst, d, &desc->OpInfo[1], Decoder); + if (MCInst_getOpcode(Inst) == TRICORE_MTCR_rlc) { + status = + DecodeRegisterClass(Inst, s1, &desc->OpInfo[1], Decoder); + } else { + status = + DecodeRegisterClass(Inst, d, &desc->OpInfo[1], Decoder); + } if (status != MCDisassembler_Success) return status; } @@ -699,10 +756,24 @@ static DecodeStatus DecodeRRInstruction(MCInst *Inst, unsigned Insn, } if (desc->NumOperands > 1) { - status = DecodeRegisterClass(Inst, s1, &desc->OpInfo[1], - Decoder); - if (status != MCDisassembler_Success) - return status; + if (desc->OpInfo[0].OperandType == MCOI_OPERAND_REGISTER) { + switch (MCInst_getOpcode(Inst)) { + case TRICORE_ABSS_rr: + case TRICORE_ABSS_H_rr: + case TRICORE_ABS_H_rr: + case TRICORE_ABS_B_rr: + case TRICORE_ABS_rr: { + status = DecodeRegisterClass(Inst, s2, &desc->OpInfo[1], + Decoder); + break; + default: + status = DecodeRegisterClass(Inst, s1, &desc->OpInfo[1], + Decoder); + } + if (status != MCDisassembler_Success) + return status; + } + } } if (desc->NumOperands > 2) { @@ -1259,7 +1330,13 @@ static DecodeStatus DecodeRRRRInstruction(MCInst *Inst, unsigned Insn, return status; if (desc->NumOperands == 3) { - return DecodeRegisterClass(Inst, s2, &desc->OpInfo[2], Decoder); + switch (MCInst_getOpcode(Inst)) { + case TRICORE_EXTR_rrrr: + case TRICORE_EXTR_U_rrrr: + return DecodeRegisterClass(Inst, s3, &desc->OpInfo[2], Decoder); + default: + return DecodeRegisterClass(Inst, s2, &desc->OpInfo[2], Decoder); + } } // Decode s2. diff --git a/arch/TriCore/TriCoreInstPrinter.c b/arch/TriCore/TriCoreInstPrinter.c index eadf2eef2c..aaee3b536b 100644 --- a/arch/TriCore/TriCoreInstPrinter.c +++ b/arch/TriCore/TriCoreInstPrinter.c @@ -224,6 +224,19 @@ static void off4_fixup(MCInst *MI, uint64_t *off4) } } +static void const8_fixup(MCInst *MI, uint64_t *const8) +{ + switch (MCInst_getOpcode(MI)) { + case TRICORE_LD_A_sc: + case TRICORE_ST_A_sc: + case TRICORE_ST_W_sc: + case TRICORE_LD_W_sc: { + *const8 *= 4; + break; + } + } +} + static void print_zero_ext(MCInst *MI, int OpNum, SStream *O, unsigned n) { MCOperand *MO = MCInst_getOperand(MI, OpNum); @@ -235,6 +248,9 @@ static void print_zero_ext(MCInst *MI, int OpNum, SStream *O, unsigned n) if (n == 4) { off4_fixup(MI, &imm); } + if (n == 8) { + const8_fixup(MI, &imm); + } printInt64Bang(O, imm); fill_imm(MI, imm); diff --git a/suite/MC/TriCore/csfr.s.cs b/suite/MC/TriCore/csfr.s.cs new file mode 100644 index 0000000000..fc0db30274 --- /dev/null +++ b/suite/MC/TriCore/csfr.s.cs @@ -0,0 +1,3 @@ +# CS_ARCH_TRICORE, CS_MODE_TRICORE_131, None +0xcd, 0x41, 0xe0, 0x0f = mtcr #-0x1fc, d1 +0x4d, 0x40, 0xe0, 0x2f = mfcr d2, #0xfe04 diff --git a/suite/MC/TriCore/extr_u.s.cs b/suite/MC/TriCore/extr_u.s.cs new file mode 100644 index 0000000000..907a5e4ed1 --- /dev/null +++ b/suite/MC/TriCore/extr_u.s.cs @@ -0,0 +1,3 @@ +# CS_ARCH_TRICORE, CS_MODE_TRICORE_131, None +0x17, 0x01, 0x40, 0x02 = extr d0, d1, e2 +0x17, 0x01, 0x60, 0x02 = extr.u d0, d1, e2 diff --git a/suite/MC/TriCore/ldst_br_circ.s.cs b/suite/MC/TriCore/ldst_br_circ.s.cs new file mode 100644 index 0000000000..0bc85fb8fa --- /dev/null +++ b/suite/MC/TriCore/ldst_br_circ.s.cs @@ -0,0 +1,47 @@ +# CS_ARCH_TRICORE, CS_MODE_TRICORE_162, None +0xa9, 0x00, 0x80, 0x03 = cachea.i [p0+r] +0xa9, 0x00, 0x8a, 0x07 = cachea.i [p0+c]#0xa +0xa9, 0x00, 0x00, 0x03 = cachea.w [p0+r] +0xa9, 0x00, 0x0a, 0x07 = cachea.w [p0+c]#0xa +0xa9, 0x00, 0x40, 0x03 = cachea.wi [p0+r] +0xa9, 0x00, 0x4a, 0x07 = cachea.wi [p0+c]#0xa +0x69, 0x02, 0xc0, 0x00 = cmpswap.w [p0+r], e2 +0x69, 0x02, 0xca, 0x04 = cmpswap.w [p0+c]#0xa, e2 +0x29, 0x02, 0x80, 0x01 = ld.a a2, [p0+r] +0x29, 0x02, 0x8a, 0x05 = ld.a a2, [p0+c]#0xa +0x29, 0x02, 0x00, 0x00 = ld.b d2, [p0+r] +0x29, 0x02, 0x0a, 0x04 = ld.b d2, [p0+c]#0xa +0x29, 0x02, 0x40, 0x00 = ld.bu d2, [p0+r] +0x29, 0x02, 0x4a, 0x04 = ld.bu d2, [p0+c]#0xa +0x29, 0x02, 0x40, 0x01 = ld.d e2, [p0+r] +0x29, 0x02, 0x4a, 0x05 = ld.d e2, [p0+c]#0xa +0x29, 0x02, 0xc0, 0x01 = ld.da p2, [p0+r] +0x29, 0x02, 0xca, 0x05 = ld.da p2, [p0+c]#0xa +0x29, 0x02, 0x80, 0x00 = ld.h d2, [p0+r] +0x29, 0x02, 0x8a, 0x04 = ld.h d2, [p0+c]#0xa +0x29, 0x02, 0xc0, 0x00 = ld.hu d2, [p0+r] +0x29, 0x02, 0xca, 0x04 = ld.hu d2, [p0+c]#0xa +0x29, 0x02, 0x00, 0x02 = ld.q d2, [p0+r] +0x29, 0x02, 0x0a, 0x06 = ld.q d2, [p0+c]#0xa +0x29, 0x02, 0x00, 0x01 = ld.w d2, [p0+r] +0x29, 0x02, 0x0a, 0x05 = ld.w d2, [p0+c]#0xa +0x69, 0x02, 0x40, 0x00 = ldmst [p0+r], e2 +0x69, 0x02, 0x4a, 0x04 = ldmst [p0+c]#0xa, e2 +0xa9, 0x02, 0x80, 0x01 = st.a [p0+r], a2 +0xa9, 0x02, 0x8a, 0x05 = st.a [p0+c]#0xa, a2 +0xa9, 0x02, 0x00, 0x00 = st.b [p0+r], d2 +0xa9, 0x02, 0x0a, 0x04 = st.b [p0+c]#0xa, d2 +0xa9, 0x02, 0x40, 0x01 = st.d [p0+r], e2 +0xa9, 0x02, 0x4a, 0x05 = st.d [p0+c]#0xa, e2 +0xa9, 0x02, 0xc0, 0x01 = st.da [p0+r], p2 +0xa9, 0x02, 0xca, 0x05 = st.da [p0+c]#0xa, p2 +0xa9, 0x02, 0x80, 0x00 = st.h [p0+r], d2 +0xa9, 0x02, 0x8a, 0x04 = st.h [p0+c]#0xa, d2 +0xa9, 0x02, 0x00, 0x02 = st.q [p0+r], d2 +0xa9, 0x02, 0x0a, 0x06 = st.q [p0+c]#0xa, d2 +0xa9, 0x02, 0x00, 0x01 = st.w [p0+r], d2 +0xa9, 0x02, 0x0a, 0x05 = st.w [p0+c]#0xa, d2 +0x69, 0x02, 0x00, 0x00 = swap.w [p0+r], d2 +0x69, 0x02, 0x0a, 0x04 = swap.w [p0+c]#0xa, d2 +0x69, 0x02, 0x80, 0x00 = swapmsk.w [p0+r], e2 +0x69, 0x02, 0x8a, 0x04 = swapmsk.w [p0+c]#0xa, e2 diff --git a/suite/MC/TriCore/rr_insn.s.cs b/suite/MC/TriCore/rr_insn.s.cs new file mode 100644 index 0000000000..734b42ba07 --- /dev/null +++ b/suite/MC/TriCore/rr_insn.s.cs @@ -0,0 +1,6 @@ +# CS_ARCH_TRICORE, CS_MODE_TRICORE_131, None +0x0b, 0x20, 0xc0, 0x01 = abs d0, d2 +0x0b, 0x60, 0xc0, 0x05 = abs.b d0, d6 +0x0b, 0x40, 0xc0, 0x27 = abs.h d2, d4 +0x0b, 0x10, 0xd0, 0x01 = abss d0, d1 +0x0b, 0x10, 0xd0, 0x07 = abss.h d0, d1 From c703d968d1dbf5e557901cee4eadd7731c1a4747 Mon Sep 17 00:00:00 2001 From: chayleaf Date: Wed, 9 Aug 2023 22:05:06 +0700 Subject: [PATCH 09/13] allow absolute CMAKE_INSTALL_*DIR (#2134) This patch fixes Capstone 5 build on NixOS. NixOS's build infrastructure sets CMAKE_INSTALL_{LIB,INCLUDE}DIR to absolute paths. If you append it to ${prefix}, you get the wrong path. NixOS automatically detects it and links this issue: https://github.com/NixOS/nixpkgs/issues/144170 --- capstone-config.cmake.in | 4 ++-- capstone.pc.in | 4 ++-- cmake_uninstall.cmake.in | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/capstone-config.cmake.in b/capstone-config.cmake.in index 93ac2814e5..445ecda0eb 100644 --- a/capstone-config.cmake.in +++ b/capstone-config.cmake.in @@ -1,6 +1,6 @@ @PACKAGE_INIT@ -set_and_check(capstone_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") -set_and_check(capstone_LIB_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@") +set_and_check(capstone_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@") +set_and_check(capstone_LIB_DIR "@CMAKE_INSTALL_FULL_LIBDIR@") include("${CMAKE_CURRENT_LIST_DIR}/capstone-targets.cmake") diff --git a/capstone.pc.in b/capstone.pc.in index ce253feea0..8def0ef421 100644 --- a/capstone.pc.in +++ b/capstone.pc.in @@ -1,7 +1,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: capstone Description: Capstone disassembly engine diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in index 1722d13eaf..a1cecefdee 100644 --- a/cmake_uninstall.cmake.in +++ b/cmake_uninstall.cmake.in @@ -13,8 +13,8 @@ foreach(file ${files}) endif() endforeach() -message(STATUS "Uninstalling @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/capstone") -file(REMOVE_RECURSE @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/capstone) +message(STATUS "Uninstalling @CMAKE_INSTALL_FULL_INCLUDEDIR@/capstone") +file(REMOVE_RECURSE @CMAKE_INSTALL_FULL_INCLUDEDIR@/capstone) -message(STATUS "Uninstalling @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/cmake/capstone") -file(REMOVE_RECURSE @CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/cmake/capstone) +message(STATUS "Uninstalling @CMAKE_INSTALL_FULL_LIBDIR@/cmake/capstone") +file(REMOVE_RECURSE @CMAKE_INSTALL_FULL_LIBDIR@/cmake/capstone) From c20d85d1b7f244f1e3a4c1a26265ed7ea23b95cf Mon Sep 17 00:00:00 2001 From: kabeor Date: Mon, 21 Aug 2023 17:40:53 +0800 Subject: [PATCH 10/13] Disable swift binding const generate --- bindings/const_generator.py | 150 ++++++++++++++++++------------------ 1 file changed, 75 insertions(+), 75 deletions(-) diff --git a/bindings/const_generator.py b/bindings/const_generator.py index fbe1947409..1f2e436d83 100644 --- a/bindings/const_generator.py +++ b/bindings/const_generator.py @@ -80,81 +80,81 @@ 'comment_open': '(*', 'comment_close': ' *)', }, - 'swift': { - 'header': "// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT (%s)\n\n", - 'footer': "", - 'enum_doc': '/// %s\n', - 'enum_header': 'public enum %s: %s {\n', - 'enum_default_type': 'UInt32', - 'enum_types': { - 'UInt16': r'^\w+Reg$', - 'UInt8': r'^\w+Grp$' - }, - 'option_set_header': 'public struct %s: OptionSet {\n public typealias RawValue = %s\n public let rawValue: RawValue\n public init(rawValue: RawValue) { self.rawValue = rawValue }\n', - 'option_sets': { - 'X86Eflags': 'UInt64', - 'X86FpuFlags': 'UInt64', - 'SparcHint': 'UInt32', - 'M680xIdx': 'UInt8', - 'M680xOpFlags': 'UInt8', - }, - 'rename': { - r'^M680X_(\w+_OP_IN_MNEM)$': r'M680X_OP_FLAGS_\1', - }, - 'option_format': ' public static let {option} = {type}(rawValue: {value})\n', - 'enum_extra_options': { - # swift enum != OptionSet, so options must be specified - 'ArmSysreg': { - 'spsrCx': 'spsrC + spsrX', - 'spsrCs': 'spsrC + spsrS', - 'spsrXs': 'spsrX + spsrS', - 'spsrCxs': 'spsrC + spsrX + spsrS', - 'spsrCf': 'spsrC + spsrF', - 'spsrXf': 'spsrX + spsrF', - 'spsrCxf': 'spsrC + spsrX + spsrF', - 'spsrSf': 'spsrS + spsrF', - 'spsrCsf': 'spsrC + spsrS + spsrF', - 'spsrXsf': 'spsrX + spsrS + spsrF', - 'spsrCxsf': 'spsrC + spsrX + spsrS + spsrF', - 'cpsrCx': 'cpsrC + cpsrX', - 'cpsrCs': 'cpsrC + cpsrS', - 'cpsrXs': 'cpsrX + cpsrS', - 'cpsrCxs': 'cpsrC + cpsrX + cpsrS', - 'cpsrCf': 'cpsrC + cpsrF', - 'cpsrXf': 'cpsrX + cpsrF', - 'cpsrCxf': 'cpsrC + cpsrX + cpsrF', - 'cpsrSf': 'cpsrS + cpsrF', - 'cpsrCsf': 'cpsrC + cpsrS + cpsrF', - 'cpsrXsf': 'cpsrX + cpsrS + cpsrF', - 'cpsrCxsf': 'cpsrC + cpsrX + cpsrS + cpsrF', - } - }, - 'enum_footer': '}\n\n', - 'doc_line_format': ' /// %s\n', - 'line_format': ' case %s = %s\n', - 'dup_line_format': ' public static let %s = %s\n', - 'out_file': './swift/Sources/Capstone/%sEnums.swift', - 'reserved_words': [ - 'break', 'class', 'for', 'false', 'in', 'init', 'return', 'true' - ], - 'reserved_word_format': '`%s`', - # prefixes for constant filenames of all archs - case sensitive - 'arm.h': 'Arm', - 'arm64.h': 'Arm64', - 'm68k.h': 'M68k', - 'mips.h': 'Mips', - 'x86.h': 'X86', - 'ppc.h': 'Ppc', - 'sparc.h': 'Sparc', - 'systemz.h': 'Sysz', - 'xcore.h': 'Xcore', - 'tms320c64x.h': 'TMS320C64x', - 'm680x.h': 'M680x', - 'evm.h': 'Evm', - 'mos65xx.h': 'Mos65xx', - 'comment_open': '\t//', - 'comment_close': '', - }, + # 'swift': { + # 'header': "// For Capstone Engine. AUTO-GENERATED FILE, DO NOT EDIT (%s)\n\n", + # 'footer': "", + # 'enum_doc': '/// %s\n', + # 'enum_header': 'public enum %s: %s {\n', + # 'enum_default_type': 'UInt32', + # 'enum_types': { + # 'UInt16': r'^\w+Reg$', + # 'UInt8': r'^\w+Grp$' + # }, + # 'option_set_header': 'public struct %s: OptionSet {\n public typealias RawValue = %s\n public let rawValue: RawValue\n public init(rawValue: RawValue) { self.rawValue = rawValue }\n', + # 'option_sets': { + # 'X86Eflags': 'UInt64', + # 'X86FpuFlags': 'UInt64', + # 'SparcHint': 'UInt32', + # 'M680xIdx': 'UInt8', + # 'M680xOpFlags': 'UInt8', + # }, + # 'rename': { + # r'^M680X_(\w+_OP_IN_MNEM)$': r'M680X_OP_FLAGS_\1', + # }, + # 'option_format': ' public static let {option} = {type}(rawValue: {value})\n', + # 'enum_extra_options': { + # # swift enum != OptionSet, so options must be specified + # 'ArmSysreg': { + # 'spsrCx': 'spsrC + spsrX', + # 'spsrCs': 'spsrC + spsrS', + # 'spsrXs': 'spsrX + spsrS', + # 'spsrCxs': 'spsrC + spsrX + spsrS', + # 'spsrCf': 'spsrC + spsrF', + # 'spsrXf': 'spsrX + spsrF', + # 'spsrCxf': 'spsrC + spsrX + spsrF', + # 'spsrSf': 'spsrS + spsrF', + # 'spsrCsf': 'spsrC + spsrS + spsrF', + # 'spsrXsf': 'spsrX + spsrS + spsrF', + # 'spsrCxsf': 'spsrC + spsrX + spsrS + spsrF', + # 'cpsrCx': 'cpsrC + cpsrX', + # 'cpsrCs': 'cpsrC + cpsrS', + # 'cpsrXs': 'cpsrX + cpsrS', + # 'cpsrCxs': 'cpsrC + cpsrX + cpsrS', + # 'cpsrCf': 'cpsrC + cpsrF', + # 'cpsrXf': 'cpsrX + cpsrF', + # 'cpsrCxf': 'cpsrC + cpsrX + cpsrF', + # 'cpsrSf': 'cpsrS + cpsrF', + # 'cpsrCsf': 'cpsrC + cpsrS + cpsrF', + # 'cpsrXsf': 'cpsrX + cpsrS + cpsrF', + # 'cpsrCxsf': 'cpsrC + cpsrX + cpsrS + cpsrF', + # } + # }, + # 'enum_footer': '}\n\n', + # 'doc_line_format': ' /// %s\n', + # 'line_format': ' case %s = %s\n', + # 'dup_line_format': ' public static let %s = %s\n', + # 'out_file': './swift/Sources/Capstone/%sEnums.swift', + # 'reserved_words': [ + # 'break', 'class', 'for', 'false', 'in', 'init', 'return', 'true' + # ], + # 'reserved_word_format': '`%s`', + # # prefixes for constant filenames of all archs - case sensitive + # 'arm.h': 'Arm', + # 'arm64.h': 'Arm64', + # 'm68k.h': 'M68k', + # 'mips.h': 'Mips', + # 'x86.h': 'X86', + # 'ppc.h': 'Ppc', + # 'sparc.h': 'Sparc', + # 'systemz.h': 'Sysz', + # 'xcore.h': 'Xcore', + # 'tms320c64x.h': 'TMS320C64x', + # 'm680x.h': 'M680x', + # 'evm.h': 'Evm', + # 'mos65xx.h': 'Mos65xx', + # 'comment_open': '\t//', + # 'comment_close': '', + # }, } # markup for comments to be added to autogen files From 6b8ff3567f11d7451f2169a1358d5442aa096f22 Mon Sep 17 00:00:00 2001 From: kabeor Date: Mon, 21 Aug 2023 17:41:21 +0800 Subject: [PATCH 11/13] update bindings const --- bindings/ocaml/arm64_const.ml | 4698 +++++++++++++++++++-------------- 1 file changed, 2729 insertions(+), 1969 deletions(-) diff --git a/bindings/ocaml/arm64_const.ml b/bindings/ocaml/arm64_const.ml index 8b11c26880..bf9f175a55 100644 --- a/bindings/ocaml/arm64_const.ml +++ b/bindings/ocaml/arm64_const.ml @@ -36,142 +36,282 @@ let _ARM64_CC_AL = 15;; let _ARM64_CC_NV = 16;; let _ARM64_SYSREG_INVALID = 0;; -let _ARM64_SYSREG_MDCCSR_EL0 = 0x9808;; -let _ARM64_SYSREG_DBGDTRRX_EL0 = 0x9828;; -let _ARM64_SYSREG_MDRAR_EL1 = 0x8080;; -let _ARM64_SYSREG_OSLSR_EL1 = 0x808C;; -let _ARM64_SYSREG_DBGAUTHSTATUS_EL1 = 0x83F6;; -let _ARM64_SYSREG_PMCEID0_EL0 = 0xDCE6;; -let _ARM64_SYSREG_PMCEID1_EL0 = 0xDCE7;; -let _ARM64_SYSREG_MIDR_EL1 = 0xC000;; -let _ARM64_SYSREG_CCSIDR_EL1 = 0xC800;; +let _ARM64_SYSREG_ACCDATA_EL1 = 0xC685;; +let _ARM64_SYSREG_ACTLR_EL1 = 0xC081;; +let _ARM64_SYSREG_ACTLR_EL2 = 0xE081;; +let _ARM64_SYSREG_ACTLR_EL3 = 0xF081;; +let _ARM64_SYSREG_AFSR0_EL1 = 0xC288;; +let _ARM64_SYSREG_AFSR0_EL12 = 0xEA88;; +let _ARM64_SYSREG_AFSR0_EL2 = 0xE288;; +let _ARM64_SYSREG_AFSR0_EL3 = 0xF288;; +let _ARM64_SYSREG_AFSR1_EL1 = 0xC289;; +let _ARM64_SYSREG_AFSR1_EL12 = 0xEA89;; +let _ARM64_SYSREG_AFSR1_EL2 = 0xE289;; +let _ARM64_SYSREG_AFSR1_EL3 = 0xF289;; +let _ARM64_SYSREG_AIDR_EL1 = 0xC807;; +let _ARM64_SYSREG_AMAIR_EL1 = 0xC518;; +let _ARM64_SYSREG_AMAIR_EL12 = 0xED18;; +let _ARM64_SYSREG_AMAIR_EL2 = 0xE518;; +let _ARM64_SYSREG_AMAIR_EL3 = 0xF518;; +let _ARM64_SYSREG_AMCFGR_EL0 = 0xDE91;; +let _ARM64_SYSREG_AMCGCR_EL0 = 0xDE92;; +let _ARM64_SYSREG_AMCNTENCLR0_EL0 = 0xDE94;; +let _ARM64_SYSREG_AMCNTENCLR1_EL0 = 0xDE98;; +let _ARM64_SYSREG_AMCNTENSET0_EL0 = 0xDE95;; +let _ARM64_SYSREG_AMCNTENSET1_EL0 = 0xDE99;; +let _ARM64_SYSREG_AMCR_EL0 = 0xDE90;; +let _ARM64_SYSREG_AMEVCNTR00_EL0 = 0xDEA0;; +let _ARM64_SYSREG_AMEVCNTR01_EL0 = 0xDEA1;; +let _ARM64_SYSREG_AMEVCNTR02_EL0 = 0xDEA2;; +let _ARM64_SYSREG_AMEVCNTR03_EL0 = 0xDEA3;; +let _ARM64_SYSREG_AMEVCNTR10_EL0 = 0xDEE0;; +let _ARM64_SYSREG_AMEVCNTR110_EL0 = 0xDEEA;; +let _ARM64_SYSREG_AMEVCNTR111_EL0 = 0xDEEB;; +let _ARM64_SYSREG_AMEVCNTR112_EL0 = 0xDEEC;; +let _ARM64_SYSREG_AMEVCNTR113_EL0 = 0xDEED;; +let _ARM64_SYSREG_AMEVCNTR114_EL0 = 0xDEEE;; +let _ARM64_SYSREG_AMEVCNTR115_EL0 = 0xDEEF;; +let _ARM64_SYSREG_AMEVCNTR11_EL0 = 0xDEE1;; +let _ARM64_SYSREG_AMEVCNTR12_EL0 = 0xDEE2;; +let _ARM64_SYSREG_AMEVCNTR13_EL0 = 0xDEE3;; +let _ARM64_SYSREG_AMEVCNTR14_EL0 = 0xDEE4;; +let _ARM64_SYSREG_AMEVCNTR15_EL0 = 0xDEE5;; +let _ARM64_SYSREG_AMEVCNTR16_EL0 = 0xDEE6;; +let _ARM64_SYSREG_AMEVCNTR17_EL0 = 0xDEE7;; +let _ARM64_SYSREG_AMEVCNTR18_EL0 = 0xDEE8;; +let _ARM64_SYSREG_AMEVCNTR19_EL0 = 0xDEE9;; +let _ARM64_SYSREG_AMEVCNTVOFF00_EL2 = 0xE6C0;; +let _ARM64_SYSREG_AMEVCNTVOFF010_EL2 = 0xE6CA;; +let _ARM64_SYSREG_AMEVCNTVOFF011_EL2 = 0xE6CB;; +let _ARM64_SYSREG_AMEVCNTVOFF012_EL2 = 0xE6CC;; +let _ARM64_SYSREG_AMEVCNTVOFF013_EL2 = 0xE6CD;; +let _ARM64_SYSREG_AMEVCNTVOFF014_EL2 = 0xE6CE;; +let _ARM64_SYSREG_AMEVCNTVOFF015_EL2 = 0xE6CF;; +let _ARM64_SYSREG_AMEVCNTVOFF01_EL2 = 0xE6C1;; +let _ARM64_SYSREG_AMEVCNTVOFF02_EL2 = 0xE6C2;; +let _ARM64_SYSREG_AMEVCNTVOFF03_EL2 = 0xE6C3;; +let _ARM64_SYSREG_AMEVCNTVOFF04_EL2 = 0xE6C4;; +let _ARM64_SYSREG_AMEVCNTVOFF05_EL2 = 0xE6C5;; +let _ARM64_SYSREG_AMEVCNTVOFF06_EL2 = 0xE6C6;; +let _ARM64_SYSREG_AMEVCNTVOFF07_EL2 = 0xE6C7;; +let _ARM64_SYSREG_AMEVCNTVOFF08_EL2 = 0xE6C8;; +let _ARM64_SYSREG_AMEVCNTVOFF09_EL2 = 0xE6C9;; +let _ARM64_SYSREG_AMEVCNTVOFF10_EL2 = 0xE6D0;; +let _ARM64_SYSREG_AMEVCNTVOFF110_EL2 = 0xE6DA;; +let _ARM64_SYSREG_AMEVCNTVOFF111_EL2 = 0xE6DB;; +let _ARM64_SYSREG_AMEVCNTVOFF112_EL2 = 0xE6DC;; +let _ARM64_SYSREG_AMEVCNTVOFF113_EL2 = 0xE6DD;; +let _ARM64_SYSREG_AMEVCNTVOFF114_EL2 = 0xE6DE;; +let _ARM64_SYSREG_AMEVCNTVOFF115_EL2 = 0xE6DF;; +let _ARM64_SYSREG_AMEVCNTVOFF11_EL2 = 0xE6D1;; +let _ARM64_SYSREG_AMEVCNTVOFF12_EL2 = 0xE6D2;; +let _ARM64_SYSREG_AMEVCNTVOFF13_EL2 = 0xE6D3;; +let _ARM64_SYSREG_AMEVCNTVOFF14_EL2 = 0xE6D4;; +let _ARM64_SYSREG_AMEVCNTVOFF15_EL2 = 0xE6D5;; +let _ARM64_SYSREG_AMEVCNTVOFF16_EL2 = 0xE6D6;; +let _ARM64_SYSREG_AMEVCNTVOFF17_EL2 = 0xE6D7;; +let _ARM64_SYSREG_AMEVCNTVOFF18_EL2 = 0xE6D8;; +let _ARM64_SYSREG_AMEVCNTVOFF19_EL2 = 0xE6D9;; +let _ARM64_SYSREG_AMEVTYPER00_EL0 = 0xDEB0;; +let _ARM64_SYSREG_AMEVTYPER01_EL0 = 0xDEB1;; +let _ARM64_SYSREG_AMEVTYPER02_EL0 = 0xDEB2;; +let _ARM64_SYSREG_AMEVTYPER03_EL0 = 0xDEB3;; +let _ARM64_SYSREG_AMEVTYPER10_EL0 = 0xDEF0;; +let _ARM64_SYSREG_AMEVTYPER110_EL0 = 0xDEFA;; +let _ARM64_SYSREG_AMEVTYPER111_EL0 = 0xDEFB;; +let _ARM64_SYSREG_AMEVTYPER112_EL0 = 0xDEFC;; +let _ARM64_SYSREG_AMEVTYPER113_EL0 = 0xDEFD;; +let _ARM64_SYSREG_AMEVTYPER114_EL0 = 0xDEFE;; +let _ARM64_SYSREG_AMEVTYPER115_EL0 = 0xDEFF;; +let _ARM64_SYSREG_AMEVTYPER11_EL0 = 0xDEF1;; +let _ARM64_SYSREG_AMEVTYPER12_EL0 = 0xDEF2;; +let _ARM64_SYSREG_AMEVTYPER13_EL0 = 0xDEF3;; +let _ARM64_SYSREG_AMEVTYPER14_EL0 = 0xDEF4;; +let _ARM64_SYSREG_AMEVTYPER15_EL0 = 0xDEF5;; +let _ARM64_SYSREG_AMEVTYPER16_EL0 = 0xDEF6;; +let _ARM64_SYSREG_AMEVTYPER17_EL0 = 0xDEF7;; +let _ARM64_SYSREG_AMEVTYPER18_EL0 = 0xDEF8;; +let _ARM64_SYSREG_AMEVTYPER19_EL0 = 0xDEF9;; +let _ARM64_SYSREG_AMUSERENR_EL0 = 0xDE93;; +let _ARM64_SYSREG_APDAKEYHI_EL1 = 0xC111;; +let _ARM64_SYSREG_APDAKEYLO_EL1 = 0xC110;; +let _ARM64_SYSREG_APDBKEYHI_EL1 = 0xC113;; +let _ARM64_SYSREG_APDBKEYLO_EL1 = 0xC112;; +let _ARM64_SYSREG_APGAKEYHI_EL1 = 0xC119;; +let _ARM64_SYSREG_APGAKEYLO_EL1 = 0xC118;; +let _ARM64_SYSREG_APIAKEYHI_EL1 = 0xC109;; +let _ARM64_SYSREG_APIAKEYLO_EL1 = 0xC108;; +let _ARM64_SYSREG_APIBKEYHI_EL1 = 0xC10B;; +let _ARM64_SYSREG_APIBKEYLO_EL1 = 0xC10A;; +let _ARM64_SYSREG_BRBCR_EL1 = 0x8C80;; +let _ARM64_SYSREG_BRBCR_EL12 = 0xAC80;; +let _ARM64_SYSREG_BRBCR_EL2 = 0xA480;; +let _ARM64_SYSREG_BRBFCR_EL1 = 0x8C81;; +let _ARM64_SYSREG_BRBIDR0_EL1 = 0x8C90;; +let _ARM64_SYSREG_BRBINF0_EL1 = 0x8C00;; +let _ARM64_SYSREG_BRBINF10_EL1 = 0x8C50;; +let _ARM64_SYSREG_BRBINF11_EL1 = 0x8C58;; +let _ARM64_SYSREG_BRBINF12_EL1 = 0x8C60;; +let _ARM64_SYSREG_BRBINF13_EL1 = 0x8C68;; +let _ARM64_SYSREG_BRBINF14_EL1 = 0x8C70;; +let _ARM64_SYSREG_BRBINF15_EL1 = 0x8C78;; +let _ARM64_SYSREG_BRBINF16_EL1 = 0x8C04;; +let _ARM64_SYSREG_BRBINF17_EL1 = 0x8C0C;; +let _ARM64_SYSREG_BRBINF18_EL1 = 0x8C14;; +let _ARM64_SYSREG_BRBINF19_EL1 = 0x8C1C;; +let _ARM64_SYSREG_BRBINF1_EL1 = 0x8C08;; +let _ARM64_SYSREG_BRBINF20_EL1 = 0x8C24;; +let _ARM64_SYSREG_BRBINF21_EL1 = 0x8C2C;; +let _ARM64_SYSREG_BRBINF22_EL1 = 0x8C34;; +let _ARM64_SYSREG_BRBINF23_EL1 = 0x8C3C;; +let _ARM64_SYSREG_BRBINF24_EL1 = 0x8C44;; +let _ARM64_SYSREG_BRBINF25_EL1 = 0x8C4C;; +let _ARM64_SYSREG_BRBINF26_EL1 = 0x8C54;; +let _ARM64_SYSREG_BRBINF27_EL1 = 0x8C5C;; +let _ARM64_SYSREG_BRBINF28_EL1 = 0x8C64;; +let _ARM64_SYSREG_BRBINF29_EL1 = 0x8C6C;; +let _ARM64_SYSREG_BRBINF2_EL1 = 0x8C10;; +let _ARM64_SYSREG_BRBINF30_EL1 = 0x8C74;; +let _ARM64_SYSREG_BRBINF31_EL1 = 0x8C7C;; +let _ARM64_SYSREG_BRBINF3_EL1 = 0x8C18;; +let _ARM64_SYSREG_BRBINF4_EL1 = 0x8C20;; +let _ARM64_SYSREG_BRBINF5_EL1 = 0x8C28;; +let _ARM64_SYSREG_BRBINF6_EL1 = 0x8C30;; +let _ARM64_SYSREG_BRBINF7_EL1 = 0x8C38;; +let _ARM64_SYSREG_BRBINF8_EL1 = 0x8C40;; +let _ARM64_SYSREG_BRBINF9_EL1 = 0x8C48;; +let _ARM64_SYSREG_BRBINFINJ_EL1 = 0x8C88;; +let _ARM64_SYSREG_BRBSRC0_EL1 = 0x8C01;; +let _ARM64_SYSREG_BRBSRC10_EL1 = 0x8C51;; +let _ARM64_SYSREG_BRBSRC11_EL1 = 0x8C59;; +let _ARM64_SYSREG_BRBSRC12_EL1 = 0x8C61;; +let _ARM64_SYSREG_BRBSRC13_EL1 = 0x8C69;; +let _ARM64_SYSREG_BRBSRC14_EL1 = 0x8C71;; +let _ARM64_SYSREG_BRBSRC15_EL1 = 0x8C79;; +let _ARM64_SYSREG_BRBSRC16_EL1 = 0x8C05;; +let _ARM64_SYSREG_BRBSRC17_EL1 = 0x8C0D;; +let _ARM64_SYSREG_BRBSRC18_EL1 = 0x8C15;; +let _ARM64_SYSREG_BRBSRC19_EL1 = 0x8C1D;; +let _ARM64_SYSREG_BRBSRC1_EL1 = 0x8C09;; +let _ARM64_SYSREG_BRBSRC20_EL1 = 0x8C25;; +let _ARM64_SYSREG_BRBSRC21_EL1 = 0x8C2D;; +let _ARM64_SYSREG_BRBSRC22_EL1 = 0x8C35;; +let _ARM64_SYSREG_BRBSRC23_EL1 = 0x8C3D;; +let _ARM64_SYSREG_BRBSRC24_EL1 = 0x8C45;; +let _ARM64_SYSREG_BRBSRC25_EL1 = 0x8C4D;; +let _ARM64_SYSREG_BRBSRC26_EL1 = 0x8C55;; +let _ARM64_SYSREG_BRBSRC27_EL1 = 0x8C5D;; +let _ARM64_SYSREG_BRBSRC28_EL1 = 0x8C65;; +let _ARM64_SYSREG_BRBSRC29_EL1 = 0x8C6D;; +let _ARM64_SYSREG_BRBSRC2_EL1 = 0x8C11;; +let _ARM64_SYSREG_BRBSRC30_EL1 = 0x8C75;; +let _ARM64_SYSREG_BRBSRC31_EL1 = 0x8C7D;; +let _ARM64_SYSREG_BRBSRC3_EL1 = 0x8C19;; +let _ARM64_SYSREG_BRBSRC4_EL1 = 0x8C21;; +let _ARM64_SYSREG_BRBSRC5_EL1 = 0x8C29;; +let _ARM64_SYSREG_BRBSRC6_EL1 = 0x8C31;; +let _ARM64_SYSREG_BRBSRC7_EL1 = 0x8C39;; +let _ARM64_SYSREG_BRBSRC8_EL1 = 0x8C41;; +let _ARM64_SYSREG_BRBSRC9_EL1 = 0x8C49;; +let _ARM64_SYSREG_BRBSRCINJ_EL1 = 0x8C89;; +let _ARM64_SYSREG_BRBTGT0_EL1 = 0x8C02;; +let _ARM64_SYSREG_BRBTGT10_EL1 = 0x8C52;; +let _ARM64_SYSREG_BRBTGT11_EL1 = 0x8C5A;; +let _ARM64_SYSREG_BRBTGT12_EL1 = 0x8C62;; +let _ARM64_SYSREG_BRBTGT13_EL1 = 0x8C6A;; +let _ARM64_SYSREG_BRBTGT14_EL1 = 0x8C72;; +let _ARM64_SYSREG_BRBTGT15_EL1 = 0x8C7A;; +let _ARM64_SYSREG_BRBTGT16_EL1 = 0x8C06;; +let _ARM64_SYSREG_BRBTGT17_EL1 = 0x8C0E;; +let _ARM64_SYSREG_BRBTGT18_EL1 = 0x8C16;; +let _ARM64_SYSREG_BRBTGT19_EL1 = 0x8C1E;; +let _ARM64_SYSREG_BRBTGT1_EL1 = 0x8C0A;; +let _ARM64_SYSREG_BRBTGT20_EL1 = 0x8C26;; +let _ARM64_SYSREG_BRBTGT21_EL1 = 0x8C2E;; +let _ARM64_SYSREG_BRBTGT22_EL1 = 0x8C36;; +let _ARM64_SYSREG_BRBTGT23_EL1 = 0x8C3E;; +let _ARM64_SYSREG_BRBTGT24_EL1 = 0x8C46;; +let _ARM64_SYSREG_BRBTGT25_EL1 = 0x8C4E;; +let _ARM64_SYSREG_BRBTGT26_EL1 = 0x8C56;; +let _ARM64_SYSREG_BRBTGT27_EL1 = 0x8C5E;; +let _ARM64_SYSREG_BRBTGT28_EL1 = 0x8C66;; +let _ARM64_SYSREG_BRBTGT29_EL1 = 0x8C6E;; +let _ARM64_SYSREG_BRBTGT2_EL1 = 0x8C12;; +let _ARM64_SYSREG_BRBTGT30_EL1 = 0x8C76;; +let _ARM64_SYSREG_BRBTGT31_EL1 = 0x8C7E;; +let _ARM64_SYSREG_BRBTGT3_EL1 = 0x8C1A;; +let _ARM64_SYSREG_BRBTGT4_EL1 = 0x8C22;; +let _ARM64_SYSREG_BRBTGT5_EL1 = 0x8C2A;; +let _ARM64_SYSREG_BRBTGT6_EL1 = 0x8C32;; +let _ARM64_SYSREG_BRBTGT7_EL1 = 0x8C3A;; +let _ARM64_SYSREG_BRBTGT8_EL1 = 0x8C42;; +let _ARM64_SYSREG_BRBTGT9_EL1 = 0x8C4A;; +let _ARM64_SYSREG_BRBTGTINJ_EL1 = 0x8C8A;; +let _ARM64_SYSREG_BRBTS_EL1 = 0x8C82;; let _ARM64_SYSREG_CCSIDR2_EL1 = 0xC802;; +let _ARM64_SYSREG_CCSIDR_EL1 = 0xC800;; let _ARM64_SYSREG_CLIDR_EL1 = 0xC801;; -let _ARM64_SYSREG_CTR_EL0 = 0xD801;; -let _ARM64_SYSREG_MPIDR_EL1 = 0xC005;; -let _ARM64_SYSREG_REVIDR_EL1 = 0xC006;; -let _ARM64_SYSREG_AIDR_EL1 = 0xC807;; -let _ARM64_SYSREG_DCZID_EL0 = 0xD807;; -let _ARM64_SYSREG_ID_PFR0_EL1 = 0xC008;; -let _ARM64_SYSREG_ID_PFR1_EL1 = 0xC009;; -let _ARM64_SYSREG_ID_DFR0_EL1 = 0xC00A;; -let _ARM64_SYSREG_ID_AFR0_EL1 = 0xC00B;; -let _ARM64_SYSREG_ID_MMFR0_EL1 = 0xC00C;; -let _ARM64_SYSREG_ID_MMFR1_EL1 = 0xC00D;; -let _ARM64_SYSREG_ID_MMFR2_EL1 = 0xC00E;; -let _ARM64_SYSREG_ID_MMFR3_EL1 = 0xC00F;; -let _ARM64_SYSREG_ID_ISAR0_EL1 = 0xC010;; -let _ARM64_SYSREG_ID_ISAR1_EL1 = 0xC011;; -let _ARM64_SYSREG_ID_ISAR2_EL1 = 0xC012;; -let _ARM64_SYSREG_ID_ISAR3_EL1 = 0xC013;; -let _ARM64_SYSREG_ID_ISAR4_EL1 = 0xC014;; -let _ARM64_SYSREG_ID_ISAR5_EL1 = 0xC015;; -let _ARM64_SYSREG_ID_ISAR6_EL1 = 0xC017;; -let _ARM64_SYSREG_ID_AA64PFR0_EL1 = 0xC020;; -let _ARM64_SYSREG_ID_AA64PFR1_EL1 = 0xC021;; -let _ARM64_SYSREG_ID_AA64DFR0_EL1 = 0xC028;; -let _ARM64_SYSREG_ID_AA64DFR1_EL1 = 0xC029;; -let _ARM64_SYSREG_ID_AA64AFR0_EL1 = 0xC02C;; -let _ARM64_SYSREG_ID_AA64AFR1_EL1 = 0xC02D;; -let _ARM64_SYSREG_ID_AA64ISAR0_EL1 = 0xC030;; -let _ARM64_SYSREG_ID_AA64ISAR1_EL1 = 0xC031;; -let _ARM64_SYSREG_ID_AA64MMFR0_EL1 = 0xC038;; -let _ARM64_SYSREG_ID_AA64MMFR1_EL1 = 0xC039;; -let _ARM64_SYSREG_ID_AA64MMFR2_EL1 = 0xC03A;; -let _ARM64_SYSREG_MVFR0_EL1 = 0xC018;; -let _ARM64_SYSREG_MVFR1_EL1 = 0xC019;; -let _ARM64_SYSREG_MVFR2_EL1 = 0xC01A;; -let _ARM64_SYSREG_RVBAR_EL1 = 0xC601;; -let _ARM64_SYSREG_RVBAR_EL2 = 0xE601;; -let _ARM64_SYSREG_RVBAR_EL3 = 0xF601;; -let _ARM64_SYSREG_ISR_EL1 = 0xC608;; +let _ARM64_SYSREG_CNTFRQ_EL0 = 0xDF00;; +let _ARM64_SYSREG_CNTHCTL_EL2 = 0xE708;; +let _ARM64_SYSREG_CNTHPS_CTL_EL2 = 0xE729;; +let _ARM64_SYSREG_CNTHPS_CVAL_EL2 = 0xE72A;; +let _ARM64_SYSREG_CNTHPS_TVAL_EL2 = 0xE728;; +let _ARM64_SYSREG_CNTHP_CTL_EL2 = 0xE711;; +let _ARM64_SYSREG_CNTHP_CVAL_EL2 = 0xE712;; +let _ARM64_SYSREG_CNTHP_TVAL_EL2 = 0xE710;; +let _ARM64_SYSREG_CNTHVS_CTL_EL2 = 0xE721;; +let _ARM64_SYSREG_CNTHVS_CVAL_EL2 = 0xE722;; +let _ARM64_SYSREG_CNTHVS_TVAL_EL2 = 0xE720;; +let _ARM64_SYSREG_CNTHV_CTL_EL2 = 0xE719;; +let _ARM64_SYSREG_CNTHV_CVAL_EL2 = 0xE71A;; +let _ARM64_SYSREG_CNTHV_TVAL_EL2 = 0xE718;; +let _ARM64_SYSREG_CNTISCALE_EL2 = 0xE705;; +let _ARM64_SYSREG_CNTKCTL_EL1 = 0xC708;; +let _ARM64_SYSREG_CNTKCTL_EL12 = 0xEF08;; +let _ARM64_SYSREG_CNTPCTSS_EL0 = 0xDF05;; let _ARM64_SYSREG_CNTPCT_EL0 = 0xDF01;; +let _ARM64_SYSREG_CNTPOFF_EL2 = 0xE706;; +let _ARM64_SYSREG_CNTPS_CTL_EL1 = 0xFF11;; +let _ARM64_SYSREG_CNTPS_CVAL_EL1 = 0xFF12;; +let _ARM64_SYSREG_CNTPS_TVAL_EL1 = 0xFF10;; +let _ARM64_SYSREG_CNTP_CTL_EL0 = 0xDF11;; +let _ARM64_SYSREG_CNTP_CTL_EL02 = 0xEF11;; +let _ARM64_SYSREG_CNTP_CVAL_EL0 = 0xDF12;; +let _ARM64_SYSREG_CNTP_CVAL_EL02 = 0xEF12;; +let _ARM64_SYSREG_CNTP_TVAL_EL0 = 0xDF10;; +let _ARM64_SYSREG_CNTP_TVAL_EL02 = 0xEF10;; +let _ARM64_SYSREG_CNTSCALE_EL2 = 0xE704;; +let _ARM64_SYSREG_CNTVCTSS_EL0 = 0xDF06;; let _ARM64_SYSREG_CNTVCT_EL0 = 0xDF02;; -let _ARM64_SYSREG_ID_MMFR4_EL1 = 0xC016;; -let _ARM64_SYSREG_TRCSTATR = 0x8818;; -let _ARM64_SYSREG_TRCIDR8 = 0x8806;; -let _ARM64_SYSREG_TRCIDR9 = 0x880E;; -let _ARM64_SYSREG_TRCIDR10 = 0x8816;; -let _ARM64_SYSREG_TRCIDR11 = 0x881E;; -let _ARM64_SYSREG_TRCIDR12 = 0x8826;; -let _ARM64_SYSREG_TRCIDR13 = 0x882E;; -let _ARM64_SYSREG_TRCIDR0 = 0x8847;; -let _ARM64_SYSREG_TRCIDR1 = 0x884F;; -let _ARM64_SYSREG_TRCIDR2 = 0x8857;; -let _ARM64_SYSREG_TRCIDR3 = 0x885F;; -let _ARM64_SYSREG_TRCIDR4 = 0x8867;; -let _ARM64_SYSREG_TRCIDR5 = 0x886F;; -let _ARM64_SYSREG_TRCIDR6 = 0x8877;; -let _ARM64_SYSREG_TRCIDR7 = 0x887F;; -let _ARM64_SYSREG_TRCOSLSR = 0x888C;; -let _ARM64_SYSREG_TRCPDSR = 0x88AC;; -let _ARM64_SYSREG_TRCDEVAFF0 = 0x8BD6;; -let _ARM64_SYSREG_TRCDEVAFF1 = 0x8BDE;; -let _ARM64_SYSREG_TRCLSR = 0x8BEE;; -let _ARM64_SYSREG_TRCAUTHSTATUS = 0x8BF6;; -let _ARM64_SYSREG_TRCDEVARCH = 0x8BFE;; -let _ARM64_SYSREG_TRCDEVID = 0x8B97;; -let _ARM64_SYSREG_TRCDEVTYPE = 0x8B9F;; -let _ARM64_SYSREG_TRCPIDR4 = 0x8BA7;; -let _ARM64_SYSREG_TRCPIDR5 = 0x8BAF;; -let _ARM64_SYSREG_TRCPIDR6 = 0x8BB7;; -let _ARM64_SYSREG_TRCPIDR7 = 0x8BBF;; -let _ARM64_SYSREG_TRCPIDR0 = 0x8BC7;; -let _ARM64_SYSREG_TRCPIDR1 = 0x8BCF;; -let _ARM64_SYSREG_TRCPIDR2 = 0x8BD7;; -let _ARM64_SYSREG_TRCPIDR3 = 0x8BDF;; -let _ARM64_SYSREG_TRCCIDR0 = 0x8BE7;; -let _ARM64_SYSREG_TRCCIDR1 = 0x8BEF;; -let _ARM64_SYSREG_TRCCIDR2 = 0x8BF7;; -let _ARM64_SYSREG_TRCCIDR3 = 0x8BFF;; -let _ARM64_SYSREG_ICC_IAR1_EL1 = 0xC660;; -let _ARM64_SYSREG_ICC_IAR0_EL1 = 0xC640;; -let _ARM64_SYSREG_ICC_HPPIR1_EL1 = 0xC662;; -let _ARM64_SYSREG_ICC_HPPIR0_EL1 = 0xC642;; -let _ARM64_SYSREG_ICC_RPR_EL1 = 0xC65B;; -let _ARM64_SYSREG_ICH_VTR_EL2 = 0xE659;; -let _ARM64_SYSREG_ICH_EISR_EL2 = 0xE65B;; -let _ARM64_SYSREG_ICH_ELRSR_EL2 = 0xE65D;; -let _ARM64_SYSREG_ID_AA64ZFR0_EL1 = 0xC024;; -let _ARM64_SYSREG_LORID_EL1 = 0xC527;; -let _ARM64_SYSREG_ERRIDR_EL1 = 0xC298;; -let _ARM64_SYSREG_ERXFR_EL1 = 0xC2A0;; -let _ARM64_SYSREG_DBGDTRTX_EL0 = 0x9828;; -let _ARM64_SYSREG_OSLAR_EL1 = 0x8084;; -let _ARM64_SYSREG_PMSWINC_EL0 = 0xDCE4;; -let _ARM64_SYSREG_TRCOSLAR = 0x8884;; -let _ARM64_SYSREG_TRCLAR = 0x8BE6;; -let _ARM64_SYSREG_ICC_EOIR1_EL1 = 0xC661;; -let _ARM64_SYSREG_ICC_EOIR0_EL1 = 0xC641;; -let _ARM64_SYSREG_ICC_DIR_EL1 = 0xC659;; -let _ARM64_SYSREG_ICC_SGI1R_EL1 = 0xC65D;; -let _ARM64_SYSREG_ICC_ASGI1R_EL1 = 0xC65E;; -let _ARM64_SYSREG_ICC_SGI0R_EL1 = 0xC65F;; -let _ARM64_SYSREG_OSDTRRX_EL1 = 0x8002;; -let _ARM64_SYSREG_OSDTRTX_EL1 = 0x801A;; -let _ARM64_SYSREG_TEECR32_EL1 = 0x9000;; -let _ARM64_SYSREG_MDCCINT_EL1 = 0x8010;; -let _ARM64_SYSREG_MDSCR_EL1 = 0x8012;; -let _ARM64_SYSREG_DBGDTR_EL0 = 0x9820;; -let _ARM64_SYSREG_OSECCR_EL1 = 0x8032;; -let _ARM64_SYSREG_DBGVCR32_EL2 = 0xA038;; -let _ARM64_SYSREG_DBGBVR0_EL1 = 0x8004;; -let _ARM64_SYSREG_DBGBVR1_EL1 = 0x800C;; -let _ARM64_SYSREG_DBGBVR2_EL1 = 0x8014;; -let _ARM64_SYSREG_DBGBVR3_EL1 = 0x801C;; -let _ARM64_SYSREG_DBGBVR4_EL1 = 0x8024;; -let _ARM64_SYSREG_DBGBVR5_EL1 = 0x802C;; -let _ARM64_SYSREG_DBGBVR6_EL1 = 0x8034;; -let _ARM64_SYSREG_DBGBVR7_EL1 = 0x803C;; -let _ARM64_SYSREG_DBGBVR8_EL1 = 0x8044;; -let _ARM64_SYSREG_DBGBVR9_EL1 = 0x804C;; -let _ARM64_SYSREG_DBGBVR10_EL1 = 0x8054;; -let _ARM64_SYSREG_DBGBVR11_EL1 = 0x805C;; -let _ARM64_SYSREG_DBGBVR12_EL1 = 0x8064;; -let _ARM64_SYSREG_DBGBVR13_EL1 = 0x806C;; -let _ARM64_SYSREG_DBGBVR14_EL1 = 0x8074;; -let _ARM64_SYSREG_DBGBVR15_EL1 = 0x807C;; +let _ARM64_SYSREG_CNTVFRQ_EL2 = 0xE707;; +let _ARM64_SYSREG_CNTVOFF_EL2 = 0xE703;; +let _ARM64_SYSREG_CNTV_CTL_EL0 = 0xDF19;; +let _ARM64_SYSREG_CNTV_CTL_EL02 = 0xEF19;; +let _ARM64_SYSREG_CNTV_CVAL_EL0 = 0xDF1A;; +let _ARM64_SYSREG_CNTV_CVAL_EL02 = 0xEF1A;; +let _ARM64_SYSREG_CNTV_TVAL_EL0 = 0xDF18;; +let _ARM64_SYSREG_CNTV_TVAL_EL02 = 0xEF18;; +let _ARM64_SYSREG_CONTEXTIDR_EL1 = 0xC681;; +let _ARM64_SYSREG_CONTEXTIDR_EL12 = 0xEE81;; +let _ARM64_SYSREG_CONTEXTIDR_EL2 = 0xE681;; +let _ARM64_SYSREG_CPACR_EL1 = 0xC082;; +let _ARM64_SYSREG_CPACR_EL12 = 0xE882;; +let _ARM64_SYSREG_CPM_IOACC_CTL_EL3 = 0xFF90;; +let _ARM64_SYSREG_CPTR_EL2 = 0xE08A;; +let _ARM64_SYSREG_CPTR_EL3 = 0xF08A;; +let _ARM64_SYSREG_CSSELR_EL1 = 0xD000;; +let _ARM64_SYSREG_CTR_EL0 = 0xD801;; +let _ARM64_SYSREG_CURRENTEL = 0xC212;; +let _ARM64_SYSREG_DACR32_EL2 = 0xE180;; +let _ARM64_SYSREG_DAIF = 0xDA11;; +let _ARM64_SYSREG_DBGAUTHSTATUS_EL1 = 0x83F6;; let _ARM64_SYSREG_DBGBCR0_EL1 = 0x8005;; +let _ARM64_SYSREG_DBGBCR10_EL1 = 0x8055;; +let _ARM64_SYSREG_DBGBCR11_EL1 = 0x805D;; +let _ARM64_SYSREG_DBGBCR12_EL1 = 0x8065;; +let _ARM64_SYSREG_DBGBCR13_EL1 = 0x806D;; +let _ARM64_SYSREG_DBGBCR14_EL1 = 0x8075;; +let _ARM64_SYSREG_DBGBCR15_EL1 = 0x807D;; let _ARM64_SYSREG_DBGBCR1_EL1 = 0x800D;; let _ARM64_SYSREG_DBGBCR2_EL1 = 0x8015;; let _ARM64_SYSREG_DBGBCR3_EL1 = 0x801D;; @@ -181,29 +321,36 @@ let _ARM64_SYSREG_DBGBCR6_EL1 = 0x8035;; let _ARM64_SYSREG_DBGBCR7_EL1 = 0x803D;; let _ARM64_SYSREG_DBGBCR8_EL1 = 0x8045;; let _ARM64_SYSREG_DBGBCR9_EL1 = 0x804D;; -let _ARM64_SYSREG_DBGBCR10_EL1 = 0x8055;; -let _ARM64_SYSREG_DBGBCR11_EL1 = 0x805D;; -let _ARM64_SYSREG_DBGBCR12_EL1 = 0x8065;; -let _ARM64_SYSREG_DBGBCR13_EL1 = 0x806D;; -let _ARM64_SYSREG_DBGBCR14_EL1 = 0x8075;; -let _ARM64_SYSREG_DBGBCR15_EL1 = 0x807D;; -let _ARM64_SYSREG_DBGWVR0_EL1 = 0x8006;; -let _ARM64_SYSREG_DBGWVR1_EL1 = 0x800E;; -let _ARM64_SYSREG_DBGWVR2_EL1 = 0x8016;; -let _ARM64_SYSREG_DBGWVR3_EL1 = 0x801E;; -let _ARM64_SYSREG_DBGWVR4_EL1 = 0x8026;; -let _ARM64_SYSREG_DBGWVR5_EL1 = 0x802E;; -let _ARM64_SYSREG_DBGWVR6_EL1 = 0x8036;; -let _ARM64_SYSREG_DBGWVR7_EL1 = 0x803E;; -let _ARM64_SYSREG_DBGWVR8_EL1 = 0x8046;; -let _ARM64_SYSREG_DBGWVR9_EL1 = 0x804E;; -let _ARM64_SYSREG_DBGWVR10_EL1 = 0x8056;; -let _ARM64_SYSREG_DBGWVR11_EL1 = 0x805E;; -let _ARM64_SYSREG_DBGWVR12_EL1 = 0x8066;; -let _ARM64_SYSREG_DBGWVR13_EL1 = 0x806E;; -let _ARM64_SYSREG_DBGWVR14_EL1 = 0x8076;; -let _ARM64_SYSREG_DBGWVR15_EL1 = 0x807E;; +let _ARM64_SYSREG_DBGBVR0_EL1 = 0x8004;; +let _ARM64_SYSREG_DBGBVR10_EL1 = 0x8054;; +let _ARM64_SYSREG_DBGBVR11_EL1 = 0x805C;; +let _ARM64_SYSREG_DBGBVR12_EL1 = 0x8064;; +let _ARM64_SYSREG_DBGBVR13_EL1 = 0x806C;; +let _ARM64_SYSREG_DBGBVR14_EL1 = 0x8074;; +let _ARM64_SYSREG_DBGBVR15_EL1 = 0x807C;; +let _ARM64_SYSREG_DBGBVR1_EL1 = 0x800C;; +let _ARM64_SYSREG_DBGBVR2_EL1 = 0x8014;; +let _ARM64_SYSREG_DBGBVR3_EL1 = 0x801C;; +let _ARM64_SYSREG_DBGBVR4_EL1 = 0x8024;; +let _ARM64_SYSREG_DBGBVR5_EL1 = 0x802C;; +let _ARM64_SYSREG_DBGBVR6_EL1 = 0x8034;; +let _ARM64_SYSREG_DBGBVR7_EL1 = 0x803C;; +let _ARM64_SYSREG_DBGBVR8_EL1 = 0x8044;; +let _ARM64_SYSREG_DBGBVR9_EL1 = 0x804C;; +let _ARM64_SYSREG_DBGCLAIMCLR_EL1 = 0x83CE;; +let _ARM64_SYSREG_DBGCLAIMSET_EL1 = 0x83C6;; +let _ARM64_SYSREG_DBGDTRRX_EL0 = 0x9828;; +let _ARM64_SYSREG_DBGDTRTX_EL0 = 0x9828;; +let _ARM64_SYSREG_DBGDTR_EL0 = 0x9820;; +let _ARM64_SYSREG_DBGPRCR_EL1 = 0x80A4;; +let _ARM64_SYSREG_DBGVCR32_EL2 = 0xA038;; let _ARM64_SYSREG_DBGWCR0_EL1 = 0x8007;; +let _ARM64_SYSREG_DBGWCR10_EL1 = 0x8057;; +let _ARM64_SYSREG_DBGWCR11_EL1 = 0x805F;; +let _ARM64_SYSREG_DBGWCR12_EL1 = 0x8067;; +let _ARM64_SYSREG_DBGWCR13_EL1 = 0x806F;; +let _ARM64_SYSREG_DBGWCR14_EL1 = 0x8077;; +let _ARM64_SYSREG_DBGWCR15_EL1 = 0x807F;; let _ARM64_SYSREG_DBGWCR1_EL1 = 0x800F;; let _ARM64_SYSREG_DBGWCR2_EL1 = 0x8017;; let _ARM64_SYSREG_DBGWCR3_EL1 = 0x801F;; @@ -213,139 +360,224 @@ let _ARM64_SYSREG_DBGWCR6_EL1 = 0x8037;; let _ARM64_SYSREG_DBGWCR7_EL1 = 0x803F;; let _ARM64_SYSREG_DBGWCR8_EL1 = 0x8047;; let _ARM64_SYSREG_DBGWCR9_EL1 = 0x804F;; -let _ARM64_SYSREG_DBGWCR10_EL1 = 0x8057;; -let _ARM64_SYSREG_DBGWCR11_EL1 = 0x805F;; -let _ARM64_SYSREG_DBGWCR12_EL1 = 0x8067;; -let _ARM64_SYSREG_DBGWCR13_EL1 = 0x806F;; -let _ARM64_SYSREG_DBGWCR14_EL1 = 0x8077;; -let _ARM64_SYSREG_DBGWCR15_EL1 = 0x807F;; -let _ARM64_SYSREG_TEEHBR32_EL1 = 0x9080;; -let _ARM64_SYSREG_OSDLR_EL1 = 0x809C;; -let _ARM64_SYSREG_DBGPRCR_EL1 = 0x80A4;; -let _ARM64_SYSREG_DBGCLAIMSET_EL1 = 0x83C6;; -let _ARM64_SYSREG_DBGCLAIMCLR_EL1 = 0x83CE;; -let _ARM64_SYSREG_CSSELR_EL1 = 0xD000;; -let _ARM64_SYSREG_VPIDR_EL2 = 0xE000;; -let _ARM64_SYSREG_VMPIDR_EL2 = 0xE005;; -let _ARM64_SYSREG_CPACR_EL1 = 0xC082;; -let _ARM64_SYSREG_SCTLR_EL1 = 0xC080;; -let _ARM64_SYSREG_SCTLR_EL2 = 0xE080;; -let _ARM64_SYSREG_SCTLR_EL3 = 0xF080;; -let _ARM64_SYSREG_ACTLR_EL1 = 0xC081;; -let _ARM64_SYSREG_ACTLR_EL2 = 0xE081;; -let _ARM64_SYSREG_ACTLR_EL3 = 0xF081;; +let _ARM64_SYSREG_DBGWVR0_EL1 = 0x8006;; +let _ARM64_SYSREG_DBGWVR10_EL1 = 0x8056;; +let _ARM64_SYSREG_DBGWVR11_EL1 = 0x805E;; +let _ARM64_SYSREG_DBGWVR12_EL1 = 0x8066;; +let _ARM64_SYSREG_DBGWVR13_EL1 = 0x806E;; +let _ARM64_SYSREG_DBGWVR14_EL1 = 0x8076;; +let _ARM64_SYSREG_DBGWVR15_EL1 = 0x807E;; +let _ARM64_SYSREG_DBGWVR1_EL1 = 0x800E;; +let _ARM64_SYSREG_DBGWVR2_EL1 = 0x8016;; +let _ARM64_SYSREG_DBGWVR3_EL1 = 0x801E;; +let _ARM64_SYSREG_DBGWVR4_EL1 = 0x8026;; +let _ARM64_SYSREG_DBGWVR5_EL1 = 0x802E;; +let _ARM64_SYSREG_DBGWVR6_EL1 = 0x8036;; +let _ARM64_SYSREG_DBGWVR7_EL1 = 0x803E;; +let _ARM64_SYSREG_DBGWVR8_EL1 = 0x8046;; +let _ARM64_SYSREG_DBGWVR9_EL1 = 0x804E;; +let _ARM64_SYSREG_DCZID_EL0 = 0xD807;; +let _ARM64_SYSREG_DISR_EL1 = 0xC609;; +let _ARM64_SYSREG_DIT = 0xDA15;; +let _ARM64_SYSREG_DLR_EL0 = 0xDA29;; +let _ARM64_SYSREG_DSPSR_EL0 = 0xDA28;; +let _ARM64_SYSREG_ELR_EL1 = 0xC201;; +let _ARM64_SYSREG_ELR_EL12 = 0xEA01;; +let _ARM64_SYSREG_ELR_EL2 = 0xE201;; +let _ARM64_SYSREG_ELR_EL3 = 0xF201;; +let _ARM64_SYSREG_ERRIDR_EL1 = 0xC298;; +let _ARM64_SYSREG_ERRSELR_EL1 = 0xC299;; +let _ARM64_SYSREG_ERXADDR_EL1 = 0xC2A3;; +let _ARM64_SYSREG_ERXCTLR_EL1 = 0xC2A1;; +let _ARM64_SYSREG_ERXFR_EL1 = 0xC2A0;; +let _ARM64_SYSREG_ERXMISC0_EL1 = 0xC2A8;; +let _ARM64_SYSREG_ERXMISC1_EL1 = 0xC2A9;; +let _ARM64_SYSREG_ERXMISC2_EL1 = 0xC2AA;; +let _ARM64_SYSREG_ERXMISC3_EL1 = 0xC2AB;; +let _ARM64_SYSREG_ERXPFGCDN_EL1 = 0xC2A6;; +let _ARM64_SYSREG_ERXPFGCTL_EL1 = 0xC2A5;; +let _ARM64_SYSREG_ERXPFGF_EL1 = 0xC2A4;; +let _ARM64_SYSREG_ERXSTATUS_EL1 = 0xC2A2;; +let _ARM64_SYSREG_ESR_EL1 = 0xC290;; +let _ARM64_SYSREG_ESR_EL12 = 0xEA90;; +let _ARM64_SYSREG_ESR_EL2 = 0xE290;; +let _ARM64_SYSREG_ESR_EL3 = 0xF290;; +let _ARM64_SYSREG_FAR_EL1 = 0xC300;; +let _ARM64_SYSREG_FAR_EL12 = 0xEB00;; +let _ARM64_SYSREG_FAR_EL2 = 0xE300;; +let _ARM64_SYSREG_FAR_EL3 = 0xF300;; +let _ARM64_SYSREG_FPCR = 0xDA20;; +let _ARM64_SYSREG_FPEXC32_EL2 = 0xE298;; +let _ARM64_SYSREG_FPSR = 0xDA21;; +let _ARM64_SYSREG_GCR_EL1 = 0xC086;; +let _ARM64_SYSREG_GMID_EL1 = 0xC804;; +let _ARM64_SYSREG_GPCCR_EL3 = 0xF10E;; +let _ARM64_SYSREG_GPTBR_EL3 = 0xF10C;; +let _ARM64_SYSREG_HACR_EL2 = 0xE08F;; +let _ARM64_SYSREG_HCRX_EL2 = 0xE092;; let _ARM64_SYSREG_HCR_EL2 = 0xE088;; -let _ARM64_SYSREG_SCR_EL3 = 0xF088;; +let _ARM64_SYSREG_HDFGRTR_EL2 = 0xE18C;; +let _ARM64_SYSREG_HDFGWTR_EL2 = 0xE18D;; +let _ARM64_SYSREG_HFGITR_EL2 = 0xE08E;; +let _ARM64_SYSREG_HFGRTR_EL2 = 0xE08C;; +let _ARM64_SYSREG_HFGWTR_EL2 = 0xE08D;; +let _ARM64_SYSREG_HPFAR_EL2 = 0xE304;; +let _ARM64_SYSREG_HSTR_EL2 = 0xE08B;; +let _ARM64_SYSREG_ICC_AP0R0_EL1 = 0xC644;; +let _ARM64_SYSREG_ICC_AP0R1_EL1 = 0xC645;; +let _ARM64_SYSREG_ICC_AP0R2_EL1 = 0xC646;; +let _ARM64_SYSREG_ICC_AP0R3_EL1 = 0xC647;; +let _ARM64_SYSREG_ICC_AP1R0_EL1 = 0xC648;; +let _ARM64_SYSREG_ICC_AP1R1_EL1 = 0xC649;; +let _ARM64_SYSREG_ICC_AP1R2_EL1 = 0xC64A;; +let _ARM64_SYSREG_ICC_AP1R3_EL1 = 0xC64B;; +let _ARM64_SYSREG_ICC_ASGI1R_EL1 = 0xC65E;; +let _ARM64_SYSREG_ICC_BPR0_EL1 = 0xC643;; +let _ARM64_SYSREG_ICC_BPR1_EL1 = 0xC663;; +let _ARM64_SYSREG_ICC_CTLR_EL1 = 0xC664;; +let _ARM64_SYSREG_ICC_CTLR_EL3 = 0xF664;; +let _ARM64_SYSREG_ICC_DIR_EL1 = 0xC659;; +let _ARM64_SYSREG_ICC_EOIR0_EL1 = 0xC641;; +let _ARM64_SYSREG_ICC_EOIR1_EL1 = 0xC661;; +let _ARM64_SYSREG_ICC_HPPIR0_EL1 = 0xC642;; +let _ARM64_SYSREG_ICC_HPPIR1_EL1 = 0xC662;; +let _ARM64_SYSREG_ICC_IAR0_EL1 = 0xC640;; +let _ARM64_SYSREG_ICC_IAR1_EL1 = 0xC660;; +let _ARM64_SYSREG_ICC_IGRPEN0_EL1 = 0xC666;; +let _ARM64_SYSREG_ICC_IGRPEN1_EL1 = 0xC667;; +let _ARM64_SYSREG_ICC_IGRPEN1_EL3 = 0xF667;; +let _ARM64_SYSREG_ICC_PMR_EL1 = 0xC230;; +let _ARM64_SYSREG_ICC_RPR_EL1 = 0xC65B;; +let _ARM64_SYSREG_ICC_SGI0R_EL1 = 0xC65F;; +let _ARM64_SYSREG_ICC_SGI1R_EL1 = 0xC65D;; +let _ARM64_SYSREG_ICC_SRE_EL1 = 0xC665;; +let _ARM64_SYSREG_ICC_SRE_EL2 = 0xE64D;; +let _ARM64_SYSREG_ICC_SRE_EL3 = 0xF665;; +let _ARM64_SYSREG_ICH_AP0R0_EL2 = 0xE640;; +let _ARM64_SYSREG_ICH_AP0R1_EL2 = 0xE641;; +let _ARM64_SYSREG_ICH_AP0R2_EL2 = 0xE642;; +let _ARM64_SYSREG_ICH_AP0R3_EL2 = 0xE643;; +let _ARM64_SYSREG_ICH_AP1R0_EL2 = 0xE648;; +let _ARM64_SYSREG_ICH_AP1R1_EL2 = 0xE649;; +let _ARM64_SYSREG_ICH_AP1R2_EL2 = 0xE64A;; +let _ARM64_SYSREG_ICH_AP1R3_EL2 = 0xE64B;; +let _ARM64_SYSREG_ICH_EISR_EL2 = 0xE65B;; +let _ARM64_SYSREG_ICH_ELRSR_EL2 = 0xE65D;; +let _ARM64_SYSREG_ICH_HCR_EL2 = 0xE658;; +let _ARM64_SYSREG_ICH_LR0_EL2 = 0xE660;; +let _ARM64_SYSREG_ICH_LR10_EL2 = 0xE66A;; +let _ARM64_SYSREG_ICH_LR11_EL2 = 0xE66B;; +let _ARM64_SYSREG_ICH_LR12_EL2 = 0xE66C;; +let _ARM64_SYSREG_ICH_LR13_EL2 = 0xE66D;; +let _ARM64_SYSREG_ICH_LR14_EL2 = 0xE66E;; +let _ARM64_SYSREG_ICH_LR15_EL2 = 0xE66F;; +let _ARM64_SYSREG_ICH_LR1_EL2 = 0xE661;; +let _ARM64_SYSREG_ICH_LR2_EL2 = 0xE662;; +let _ARM64_SYSREG_ICH_LR3_EL2 = 0xE663;; +let _ARM64_SYSREG_ICH_LR4_EL2 = 0xE664;; +let _ARM64_SYSREG_ICH_LR5_EL2 = 0xE665;; +let _ARM64_SYSREG_ICH_LR6_EL2 = 0xE666;; +let _ARM64_SYSREG_ICH_LR7_EL2 = 0xE667;; +let _ARM64_SYSREG_ICH_LR8_EL2 = 0xE668;; +let _ARM64_SYSREG_ICH_LR9_EL2 = 0xE669;; +let _ARM64_SYSREG_ICH_MISR_EL2 = 0xE65A;; +let _ARM64_SYSREG_ICH_VMCR_EL2 = 0xE65F;; +let _ARM64_SYSREG_ICH_VTR_EL2 = 0xE659;; +let _ARM64_SYSREG_ID_AA64AFR0_EL1 = 0xC02C;; +let _ARM64_SYSREG_ID_AA64AFR1_EL1 = 0xC02D;; +let _ARM64_SYSREG_ID_AA64DFR0_EL1 = 0xC028;; +let _ARM64_SYSREG_ID_AA64DFR1_EL1 = 0xC029;; +let _ARM64_SYSREG_ID_AA64ISAR0_EL1 = 0xC030;; +let _ARM64_SYSREG_ID_AA64ISAR1_EL1 = 0xC031;; +let _ARM64_SYSREG_ID_AA64ISAR2_EL1 = 0xC032;; +let _ARM64_SYSREG_ID_AA64MMFR0_EL1 = 0xC038;; +let _ARM64_SYSREG_ID_AA64MMFR1_EL1 = 0xC039;; +let _ARM64_SYSREG_ID_AA64MMFR2_EL1 = 0xC03A;; +let _ARM64_SYSREG_ID_AA64PFR0_EL1 = 0xC020;; +let _ARM64_SYSREG_ID_AA64PFR1_EL1 = 0xC021;; +let _ARM64_SYSREG_ID_AA64SMFR0_EL1 = 0xC025;; +let _ARM64_SYSREG_ID_AA64ZFR0_EL1 = 0xC024;; +let _ARM64_SYSREG_ID_AFR0_EL1 = 0xC00B;; +let _ARM64_SYSREG_ID_DFR0_EL1 = 0xC00A;; +let _ARM64_SYSREG_ID_ISAR0_EL1 = 0xC010;; +let _ARM64_SYSREG_ID_ISAR1_EL1 = 0xC011;; +let _ARM64_SYSREG_ID_ISAR2_EL1 = 0xC012;; +let _ARM64_SYSREG_ID_ISAR3_EL1 = 0xC013;; +let _ARM64_SYSREG_ID_ISAR4_EL1 = 0xC014;; +let _ARM64_SYSREG_ID_ISAR5_EL1 = 0xC015;; +let _ARM64_SYSREG_ID_ISAR6_EL1 = 0xC017;; +let _ARM64_SYSREG_ID_MMFR0_EL1 = 0xC00C;; +let _ARM64_SYSREG_ID_MMFR1_EL1 = 0xC00D;; +let _ARM64_SYSREG_ID_MMFR2_EL1 = 0xC00E;; +let _ARM64_SYSREG_ID_MMFR3_EL1 = 0xC00F;; +let _ARM64_SYSREG_ID_MMFR4_EL1 = 0xC016;; +let _ARM64_SYSREG_ID_MMFR5_EL1 = 0xC01E;; +let _ARM64_SYSREG_ID_PFR0_EL1 = 0xC008;; +let _ARM64_SYSREG_ID_PFR1_EL1 = 0xC009;; +let _ARM64_SYSREG_ID_PFR2_EL1 = 0xC01C;; +let _ARM64_SYSREG_IFSR32_EL2 = 0xE281;; +let _ARM64_SYSREG_ISR_EL1 = 0xC608;; +let _ARM64_SYSREG_LORC_EL1 = 0xC523;; +let _ARM64_SYSREG_LOREA_EL1 = 0xC521;; +let _ARM64_SYSREG_LORID_EL1 = 0xC527;; +let _ARM64_SYSREG_LORN_EL1 = 0xC522;; +let _ARM64_SYSREG_LORSA_EL1 = 0xC520;; +let _ARM64_SYSREG_MAIR_EL1 = 0xC510;; +let _ARM64_SYSREG_MAIR_EL12 = 0xED10;; +let _ARM64_SYSREG_MAIR_EL2 = 0xE510;; +let _ARM64_SYSREG_MAIR_EL3 = 0xF510;; +let _ARM64_SYSREG_MDCCINT_EL1 = 0x8010;; +let _ARM64_SYSREG_MDCCSR_EL0 = 0x9808;; let _ARM64_SYSREG_MDCR_EL2 = 0xE089;; -let _ARM64_SYSREG_SDER32_EL3 = 0xF089;; -let _ARM64_SYSREG_CPTR_EL2 = 0xE08A;; -let _ARM64_SYSREG_CPTR_EL3 = 0xF08A;; -let _ARM64_SYSREG_HSTR_EL2 = 0xE08B;; -let _ARM64_SYSREG_HACR_EL2 = 0xE08F;; let _ARM64_SYSREG_MDCR_EL3 = 0xF099;; -let _ARM64_SYSREG_TTBR0_EL1 = 0xC100;; -let _ARM64_SYSREG_TTBR0_EL2 = 0xE100;; -let _ARM64_SYSREG_TTBR0_EL3 = 0xF100;; -let _ARM64_SYSREG_TTBR1_EL1 = 0xC101;; -let _ARM64_SYSREG_TCR_EL1 = 0xC102;; -let _ARM64_SYSREG_TCR_EL2 = 0xE102;; -let _ARM64_SYSREG_TCR_EL3 = 0xF102;; -let _ARM64_SYSREG_VTTBR_EL2 = 0xE108;; -let _ARM64_SYSREG_VTCR_EL2 = 0xE10A;; -let _ARM64_SYSREG_DACR32_EL2 = 0xE180;; -let _ARM64_SYSREG_SPSR_EL1 = 0xC200;; -let _ARM64_SYSREG_SPSR_EL2 = 0xE200;; -let _ARM64_SYSREG_SPSR_EL3 = 0xF200;; -let _ARM64_SYSREG_ELR_EL1 = 0xC201;; -let _ARM64_SYSREG_ELR_EL2 = 0xE201;; -let _ARM64_SYSREG_ELR_EL3 = 0xF201;; -let _ARM64_SYSREG_SP_EL0 = 0xC208;; -let _ARM64_SYSREG_SP_EL1 = 0xE208;; -let _ARM64_SYSREG_SP_EL2 = 0xF208;; -let _ARM64_SYSREG_SPSEL = 0xC210;; +let _ARM64_SYSREG_MDRAR_EL1 = 0x8080;; +let _ARM64_SYSREG_MDSCR_EL1 = 0x8012;; +let _ARM64_SYSREG_MFAR_EL3 = 0xF305;; +let _ARM64_SYSREG_MIDR_EL1 = 0xC000;; +let _ARM64_SYSREG_MPAM0_EL1 = 0xC529;; +let _ARM64_SYSREG_MPAM1_EL1 = 0xC528;; +let _ARM64_SYSREG_MPAM1_EL12 = 0xED28;; +let _ARM64_SYSREG_MPAM2_EL2 = 0xE528;; +let _ARM64_SYSREG_MPAM3_EL3 = 0xF528;; +let _ARM64_SYSREG_MPAMHCR_EL2 = 0xE520;; +let _ARM64_SYSREG_MPAMIDR_EL1 = 0xC524;; +let _ARM64_SYSREG_MPAMSM_EL1 = 0xC52B;; +let _ARM64_SYSREG_MPAMVPM0_EL2 = 0xE530;; +let _ARM64_SYSREG_MPAMVPM1_EL2 = 0xE531;; +let _ARM64_SYSREG_MPAMVPM2_EL2 = 0xE532;; +let _ARM64_SYSREG_MPAMVPM3_EL2 = 0xE533;; +let _ARM64_SYSREG_MPAMVPM4_EL2 = 0xE534;; +let _ARM64_SYSREG_MPAMVPM5_EL2 = 0xE535;; +let _ARM64_SYSREG_MPAMVPM6_EL2 = 0xE536;; +let _ARM64_SYSREG_MPAMVPM7_EL2 = 0xE537;; +let _ARM64_SYSREG_MPAMVPMV_EL2 = 0xE521;; +let _ARM64_SYSREG_MPIDR_EL1 = 0xC005;; +let _ARM64_SYSREG_MPUIR_EL1 = 0xC004;; +let _ARM64_SYSREG_MPUIR_EL2 = 0xE004;; +let _ARM64_SYSREG_MVFR0_EL1 = 0xC018;; +let _ARM64_SYSREG_MVFR1_EL1 = 0xC019;; +let _ARM64_SYSREG_MVFR2_EL1 = 0xC01A;; let _ARM64_SYSREG_NZCV = 0xDA10;; -let _ARM64_SYSREG_DAIF = 0xDA11;; -let _ARM64_SYSREG_CURRENTEL = 0xC212;; -let _ARM64_SYSREG_SPSR_IRQ = 0xE218;; -let _ARM64_SYSREG_SPSR_ABT = 0xE219;; -let _ARM64_SYSREG_SPSR_UND = 0xE21A;; -let _ARM64_SYSREG_SPSR_FIQ = 0xE21B;; -let _ARM64_SYSREG_FPCR = 0xDA20;; -let _ARM64_SYSREG_FPSR = 0xDA21;; -let _ARM64_SYSREG_DSPSR_EL0 = 0xDA28;; -let _ARM64_SYSREG_DLR_EL0 = 0xDA29;; -let _ARM64_SYSREG_IFSR32_EL2 = 0xE281;; -let _ARM64_SYSREG_AFSR0_EL1 = 0xC288;; -let _ARM64_SYSREG_AFSR0_EL2 = 0xE288;; -let _ARM64_SYSREG_AFSR0_EL3 = 0xF288;; -let _ARM64_SYSREG_AFSR1_EL1 = 0xC289;; -let _ARM64_SYSREG_AFSR1_EL2 = 0xE289;; -let _ARM64_SYSREG_AFSR1_EL3 = 0xF289;; -let _ARM64_SYSREG_ESR_EL1 = 0xC290;; -let _ARM64_SYSREG_ESR_EL2 = 0xE290;; -let _ARM64_SYSREG_ESR_EL3 = 0xF290;; -let _ARM64_SYSREG_FPEXC32_EL2 = 0xE298;; -let _ARM64_SYSREG_FAR_EL1 = 0xC300;; -let _ARM64_SYSREG_FAR_EL2 = 0xE300;; -let _ARM64_SYSREG_FAR_EL3 = 0xF300;; -let _ARM64_SYSREG_HPFAR_EL2 = 0xE304;; +let _ARM64_SYSREG_OSDLR_EL1 = 0x809C;; +let _ARM64_SYSREG_OSDTRRX_EL1 = 0x8002;; +let _ARM64_SYSREG_OSDTRTX_EL1 = 0x801A;; +let _ARM64_SYSREG_OSECCR_EL1 = 0x8032;; +let _ARM64_SYSREG_OSLAR_EL1 = 0x8084;; +let _ARM64_SYSREG_OSLSR_EL1 = 0x808C;; +let _ARM64_SYSREG_PAN = 0xC213;; let _ARM64_SYSREG_PAR_EL1 = 0xC3A0;; -let _ARM64_SYSREG_PMCR_EL0 = 0xDCE0;; -let _ARM64_SYSREG_PMCNTENSET_EL0 = 0xDCE1;; -let _ARM64_SYSREG_PMCNTENCLR_EL0 = 0xDCE2;; -let _ARM64_SYSREG_PMOVSCLR_EL0 = 0xDCE3;; -let _ARM64_SYSREG_PMSELR_EL0 = 0xDCE5;; +let _ARM64_SYSREG_PMBIDR_EL1 = 0xC4D7;; +let _ARM64_SYSREG_PMBLIMITR_EL1 = 0xC4D0;; +let _ARM64_SYSREG_PMBPTR_EL1 = 0xC4D1;; +let _ARM64_SYSREG_PMBSR_EL1 = 0xC4D3;; +let _ARM64_SYSREG_PMCCFILTR_EL0 = 0xDF7F;; let _ARM64_SYSREG_PMCCNTR_EL0 = 0xDCE8;; -let _ARM64_SYSREG_PMXEVTYPER_EL0 = 0xDCE9;; -let _ARM64_SYSREG_PMXEVCNTR_EL0 = 0xDCEA;; -let _ARM64_SYSREG_PMUSERENR_EL0 = 0xDCF0;; -let _ARM64_SYSREG_PMINTENSET_EL1 = 0xC4F1;; -let _ARM64_SYSREG_PMINTENCLR_EL1 = 0xC4F2;; -let _ARM64_SYSREG_PMOVSSET_EL0 = 0xDCF3;; -let _ARM64_SYSREG_MAIR_EL1 = 0xC510;; -let _ARM64_SYSREG_MAIR_EL2 = 0xE510;; -let _ARM64_SYSREG_MAIR_EL3 = 0xF510;; -let _ARM64_SYSREG_AMAIR_EL1 = 0xC518;; -let _ARM64_SYSREG_AMAIR_EL2 = 0xE518;; -let _ARM64_SYSREG_AMAIR_EL3 = 0xF518;; -let _ARM64_SYSREG_VBAR_EL1 = 0xC600;; -let _ARM64_SYSREG_VBAR_EL2 = 0xE600;; -let _ARM64_SYSREG_VBAR_EL3 = 0xF600;; -let _ARM64_SYSREG_RMR_EL1 = 0xC602;; -let _ARM64_SYSREG_RMR_EL2 = 0xE602;; -let _ARM64_SYSREG_RMR_EL3 = 0xF602;; -let _ARM64_SYSREG_CONTEXTIDR_EL1 = 0xC681;; -let _ARM64_SYSREG_TPIDR_EL0 = 0xDE82;; -let _ARM64_SYSREG_TPIDR_EL2 = 0xE682;; -let _ARM64_SYSREG_TPIDR_EL3 = 0xF682;; -let _ARM64_SYSREG_TPIDRRO_EL0 = 0xDE83;; -let _ARM64_SYSREG_TPIDR_EL1 = 0xC684;; -let _ARM64_SYSREG_CNTFRQ_EL0 = 0xDF00;; -let _ARM64_SYSREG_CNTVOFF_EL2 = 0xE703;; -let _ARM64_SYSREG_CNTKCTL_EL1 = 0xC708;; -let _ARM64_SYSREG_CNTHCTL_EL2 = 0xE708;; -let _ARM64_SYSREG_CNTP_TVAL_EL0 = 0xDF10;; -let _ARM64_SYSREG_CNTHP_TVAL_EL2 = 0xE710;; -let _ARM64_SYSREG_CNTPS_TVAL_EL1 = 0xFF10;; -let _ARM64_SYSREG_CNTP_CTL_EL0 = 0xDF11;; -let _ARM64_SYSREG_CNTHP_CTL_EL2 = 0xE711;; -let _ARM64_SYSREG_CNTPS_CTL_EL1 = 0xFF11;; -let _ARM64_SYSREG_CNTP_CVAL_EL0 = 0xDF12;; -let _ARM64_SYSREG_CNTHP_CVAL_EL2 = 0xE712;; -let _ARM64_SYSREG_CNTPS_CVAL_EL1 = 0xFF12;; -let _ARM64_SYSREG_CNTV_TVAL_EL0 = 0xDF18;; -let _ARM64_SYSREG_CNTV_CTL_EL0 = 0xDF19;; -let _ARM64_SYSREG_CNTV_CVAL_EL0 = 0xDF1A;; +let _ARM64_SYSREG_PMCEID0_EL0 = 0xDCE6;; +let _ARM64_SYSREG_PMCEID1_EL0 = 0xDCE7;; +let _ARM64_SYSREG_PMCNTENCLR_EL0 = 0xDCE2;; +let _ARM64_SYSREG_PMCNTENSET_EL0 = 0xDCE1;; +let _ARM64_SYSREG_PMCR_EL0 = 0xDCE0;; let _ARM64_SYSREG_PMEVCNTR0_EL0 = 0xDF40;; -let _ARM64_SYSREG_PMEVCNTR1_EL0 = 0xDF41;; -let _ARM64_SYSREG_PMEVCNTR2_EL0 = 0xDF42;; -let _ARM64_SYSREG_PMEVCNTR3_EL0 = 0xDF43;; -let _ARM64_SYSREG_PMEVCNTR4_EL0 = 0xDF44;; -let _ARM64_SYSREG_PMEVCNTR5_EL0 = 0xDF45;; -let _ARM64_SYSREG_PMEVCNTR6_EL0 = 0xDF46;; -let _ARM64_SYSREG_PMEVCNTR7_EL0 = 0xDF47;; -let _ARM64_SYSREG_PMEVCNTR8_EL0 = 0xDF48;; -let _ARM64_SYSREG_PMEVCNTR9_EL0 = 0xDF49;; let _ARM64_SYSREG_PMEVCNTR10_EL0 = 0xDF4A;; let _ARM64_SYSREG_PMEVCNTR11_EL0 = 0xDF4B;; let _ARM64_SYSREG_PMEVCNTR12_EL0 = 0xDF4C;; @@ -356,6 +588,7 @@ let _ARM64_SYSREG_PMEVCNTR16_EL0 = 0xDF50;; let _ARM64_SYSREG_PMEVCNTR17_EL0 = 0xDF51;; let _ARM64_SYSREG_PMEVCNTR18_EL0 = 0xDF52;; let _ARM64_SYSREG_PMEVCNTR19_EL0 = 0xDF53;; +let _ARM64_SYSREG_PMEVCNTR1_EL0 = 0xDF41;; let _ARM64_SYSREG_PMEVCNTR20_EL0 = 0xDF54;; let _ARM64_SYSREG_PMEVCNTR21_EL0 = 0xDF55;; let _ARM64_SYSREG_PMEVCNTR22_EL0 = 0xDF56;; @@ -366,18 +599,16 @@ let _ARM64_SYSREG_PMEVCNTR26_EL0 = 0xDF5A;; let _ARM64_SYSREG_PMEVCNTR27_EL0 = 0xDF5B;; let _ARM64_SYSREG_PMEVCNTR28_EL0 = 0xDF5C;; let _ARM64_SYSREG_PMEVCNTR29_EL0 = 0xDF5D;; +let _ARM64_SYSREG_PMEVCNTR2_EL0 = 0xDF42;; let _ARM64_SYSREG_PMEVCNTR30_EL0 = 0xDF5E;; -let _ARM64_SYSREG_PMCCFILTR_EL0 = 0xDF7F;; +let _ARM64_SYSREG_PMEVCNTR3_EL0 = 0xDF43;; +let _ARM64_SYSREG_PMEVCNTR4_EL0 = 0xDF44;; +let _ARM64_SYSREG_PMEVCNTR5_EL0 = 0xDF45;; +let _ARM64_SYSREG_PMEVCNTR6_EL0 = 0xDF46;; +let _ARM64_SYSREG_PMEVCNTR7_EL0 = 0xDF47;; +let _ARM64_SYSREG_PMEVCNTR8_EL0 = 0xDF48;; +let _ARM64_SYSREG_PMEVCNTR9_EL0 = 0xDF49;; let _ARM64_SYSREG_PMEVTYPER0_EL0 = 0xDF60;; -let _ARM64_SYSREG_PMEVTYPER1_EL0 = 0xDF61;; -let _ARM64_SYSREG_PMEVTYPER2_EL0 = 0xDF62;; -let _ARM64_SYSREG_PMEVTYPER3_EL0 = 0xDF63;; -let _ARM64_SYSREG_PMEVTYPER4_EL0 = 0xDF64;; -let _ARM64_SYSREG_PMEVTYPER5_EL0 = 0xDF65;; -let _ARM64_SYSREG_PMEVTYPER6_EL0 = 0xDF66;; -let _ARM64_SYSREG_PMEVTYPER7_EL0 = 0xDF67;; -let _ARM64_SYSREG_PMEVTYPER8_EL0 = 0xDF68;; -let _ARM64_SYSREG_PMEVTYPER9_EL0 = 0xDF69;; let _ARM64_SYSREG_PMEVTYPER10_EL0 = 0xDF6A;; let _ARM64_SYSREG_PMEVTYPER11_EL0 = 0xDF6B;; let _ARM64_SYSREG_PMEVTYPER12_EL0 = 0xDF6C;; @@ -388,6 +619,7 @@ let _ARM64_SYSREG_PMEVTYPER16_EL0 = 0xDF70;; let _ARM64_SYSREG_PMEVTYPER17_EL0 = 0xDF71;; let _ARM64_SYSREG_PMEVTYPER18_EL0 = 0xDF72;; let _ARM64_SYSREG_PMEVTYPER19_EL0 = 0xDF73;; +let _ARM64_SYSREG_PMEVTYPER1_EL0 = 0xDF61;; let _ARM64_SYSREG_PMEVTYPER20_EL0 = 0xDF74;; let _ARM64_SYSREG_PMEVTYPER21_EL0 = 0xDF75;; let _ARM64_SYSREG_PMEVTYPER22_EL0 = 0xDF76;; @@ -398,45 +630,278 @@ let _ARM64_SYSREG_PMEVTYPER26_EL0 = 0xDF7A;; let _ARM64_SYSREG_PMEVTYPER27_EL0 = 0xDF7B;; let _ARM64_SYSREG_PMEVTYPER28_EL0 = 0xDF7C;; let _ARM64_SYSREG_PMEVTYPER29_EL0 = 0xDF7D;; +let _ARM64_SYSREG_PMEVTYPER2_EL0 = 0xDF62;; let _ARM64_SYSREG_PMEVTYPER30_EL0 = 0xDF7E;; -let _ARM64_SYSREG_TRCPRGCTLR = 0x8808;; -let _ARM64_SYSREG_TRCPROCSELR = 0x8810;; -let _ARM64_SYSREG_TRCCONFIGR = 0x8820;; +let _ARM64_SYSREG_PMEVTYPER3_EL0 = 0xDF63;; +let _ARM64_SYSREG_PMEVTYPER4_EL0 = 0xDF64;; +let _ARM64_SYSREG_PMEVTYPER5_EL0 = 0xDF65;; +let _ARM64_SYSREG_PMEVTYPER6_EL0 = 0xDF66;; +let _ARM64_SYSREG_PMEVTYPER7_EL0 = 0xDF67;; +let _ARM64_SYSREG_PMEVTYPER8_EL0 = 0xDF68;; +let _ARM64_SYSREG_PMEVTYPER9_EL0 = 0xDF69;; +let _ARM64_SYSREG_PMINTENCLR_EL1 = 0xC4F2;; +let _ARM64_SYSREG_PMINTENSET_EL1 = 0xC4F1;; +let _ARM64_SYSREG_PMMIR_EL1 = 0xC4F6;; +let _ARM64_SYSREG_PMOVSCLR_EL0 = 0xDCE3;; +let _ARM64_SYSREG_PMOVSSET_EL0 = 0xDCF3;; +let _ARM64_SYSREG_PMSCR_EL1 = 0xC4C8;; +let _ARM64_SYSREG_PMSCR_EL12 = 0xECC8;; +let _ARM64_SYSREG_PMSCR_EL2 = 0xE4C8;; +let _ARM64_SYSREG_PMSELR_EL0 = 0xDCE5;; +let _ARM64_SYSREG_PMSEVFR_EL1 = 0xC4CD;; +let _ARM64_SYSREG_PMSFCR_EL1 = 0xC4CC;; +let _ARM64_SYSREG_PMSICR_EL1 = 0xC4CA;; +let _ARM64_SYSREG_PMSIDR_EL1 = 0xC4CF;; +let _ARM64_SYSREG_PMSIRR_EL1 = 0xC4CB;; +let _ARM64_SYSREG_PMSLATFR_EL1 = 0xC4CE;; +let _ARM64_SYSREG_PMSNEVFR_EL1 = 0xC4C9;; +let _ARM64_SYSREG_PMSWINC_EL0 = 0xDCE4;; +let _ARM64_SYSREG_PMUSERENR_EL0 = 0xDCF0;; +let _ARM64_SYSREG_PMXEVCNTR_EL0 = 0xDCEA;; +let _ARM64_SYSREG_PMXEVTYPER_EL0 = 0xDCE9;; +let _ARM64_SYSREG_PRBAR10_EL1 = 0xC368;; +let _ARM64_SYSREG_PRBAR10_EL2 = 0xE368;; +let _ARM64_SYSREG_PRBAR11_EL1 = 0xC36C;; +let _ARM64_SYSREG_PRBAR11_EL2 = 0xE36C;; +let _ARM64_SYSREG_PRBAR12_EL1 = 0xC370;; +let _ARM64_SYSREG_PRBAR12_EL2 = 0xE370;; +let _ARM64_SYSREG_PRBAR13_EL1 = 0xC374;; +let _ARM64_SYSREG_PRBAR13_EL2 = 0xE374;; +let _ARM64_SYSREG_PRBAR14_EL1 = 0xC378;; +let _ARM64_SYSREG_PRBAR14_EL2 = 0xE378;; +let _ARM64_SYSREG_PRBAR15_EL1 = 0xC37C;; +let _ARM64_SYSREG_PRBAR15_EL2 = 0xE37C;; +let _ARM64_SYSREG_PRBAR1_EL1 = 0xC344;; +let _ARM64_SYSREG_PRBAR1_EL2 = 0xE344;; +let _ARM64_SYSREG_PRBAR2_EL1 = 0xC348;; +let _ARM64_SYSREG_PRBAR2_EL2 = 0xE348;; +let _ARM64_SYSREG_PRBAR3_EL1 = 0xC34C;; +let _ARM64_SYSREG_PRBAR3_EL2 = 0xE34C;; +let _ARM64_SYSREG_PRBAR4_EL1 = 0xC350;; +let _ARM64_SYSREG_PRBAR4_EL2 = 0xE350;; +let _ARM64_SYSREG_PRBAR5_EL1 = 0xC354;; +let _ARM64_SYSREG_PRBAR5_EL2 = 0xE354;; +let _ARM64_SYSREG_PRBAR6_EL1 = 0xC358;; +let _ARM64_SYSREG_PRBAR6_EL2 = 0xE358;; +let _ARM64_SYSREG_PRBAR7_EL1 = 0xC35C;; +let _ARM64_SYSREG_PRBAR7_EL2 = 0xE35C;; +let _ARM64_SYSREG_PRBAR8_EL1 = 0xC360;; +let _ARM64_SYSREG_PRBAR8_EL2 = 0xE360;; +let _ARM64_SYSREG_PRBAR9_EL1 = 0xC364;; +let _ARM64_SYSREG_PRBAR9_EL2 = 0xE364;; +let _ARM64_SYSREG_PRBAR_EL1 = 0xC340;; +let _ARM64_SYSREG_PRBAR_EL2 = 0xE340;; +let _ARM64_SYSREG_PRENR_EL1 = 0xC309;; +let _ARM64_SYSREG_PRENR_EL2 = 0xE309;; +let _ARM64_SYSREG_PRLAR10_EL1 = 0xC369;; +let _ARM64_SYSREG_PRLAR10_EL2 = 0xE369;; +let _ARM64_SYSREG_PRLAR11_EL1 = 0xC36D;; +let _ARM64_SYSREG_PRLAR11_EL2 = 0xE36D;; +let _ARM64_SYSREG_PRLAR12_EL1 = 0xC371;; +let _ARM64_SYSREG_PRLAR12_EL2 = 0xE371;; +let _ARM64_SYSREG_PRLAR13_EL1 = 0xC375;; +let _ARM64_SYSREG_PRLAR13_EL2 = 0xE375;; +let _ARM64_SYSREG_PRLAR14_EL1 = 0xC379;; +let _ARM64_SYSREG_PRLAR14_EL2 = 0xE379;; +let _ARM64_SYSREG_PRLAR15_EL1 = 0xC37D;; +let _ARM64_SYSREG_PRLAR15_EL2 = 0xE37D;; +let _ARM64_SYSREG_PRLAR1_EL1 = 0xC345;; +let _ARM64_SYSREG_PRLAR1_EL2 = 0xE345;; +let _ARM64_SYSREG_PRLAR2_EL1 = 0xC349;; +let _ARM64_SYSREG_PRLAR2_EL2 = 0xE349;; +let _ARM64_SYSREG_PRLAR3_EL1 = 0xC34D;; +let _ARM64_SYSREG_PRLAR3_EL2 = 0xE34D;; +let _ARM64_SYSREG_PRLAR4_EL1 = 0xC351;; +let _ARM64_SYSREG_PRLAR4_EL2 = 0xE351;; +let _ARM64_SYSREG_PRLAR5_EL1 = 0xC355;; +let _ARM64_SYSREG_PRLAR5_EL2 = 0xE355;; +let _ARM64_SYSREG_PRLAR6_EL1 = 0xC359;; +let _ARM64_SYSREG_PRLAR6_EL2 = 0xE359;; +let _ARM64_SYSREG_PRLAR7_EL1 = 0xC35D;; +let _ARM64_SYSREG_PRLAR7_EL2 = 0xE35D;; +let _ARM64_SYSREG_PRLAR8_EL1 = 0xC361;; +let _ARM64_SYSREG_PRLAR8_EL2 = 0xE361;; +let _ARM64_SYSREG_PRLAR9_EL1 = 0xC365;; +let _ARM64_SYSREG_PRLAR9_EL2 = 0xE365;; +let _ARM64_SYSREG_PRLAR_EL1 = 0xC341;; +let _ARM64_SYSREG_PRLAR_EL2 = 0xE341;; +let _ARM64_SYSREG_PRSELR_EL1 = 0xC311;; +let _ARM64_SYSREG_PRSELR_EL2 = 0xE311;; +let _ARM64_SYSREG_REVIDR_EL1 = 0xC006;; +let _ARM64_SYSREG_RGSR_EL1 = 0xC085;; +let _ARM64_SYSREG_RMR_EL1 = 0xC602;; +let _ARM64_SYSREG_RMR_EL2 = 0xE602;; +let _ARM64_SYSREG_RMR_EL3 = 0xF602;; +let _ARM64_SYSREG_RNDR = 0xD920;; +let _ARM64_SYSREG_RNDRRS = 0xD921;; +let _ARM64_SYSREG_RVBAR_EL1 = 0xC601;; +let _ARM64_SYSREG_RVBAR_EL2 = 0xE601;; +let _ARM64_SYSREG_RVBAR_EL3 = 0xF601;; +let _ARM64_SYSREG_SCR_EL3 = 0xF088;; +let _ARM64_SYSREG_SCTLR_EL1 = 0xC080;; +let _ARM64_SYSREG_SCTLR_EL12 = 0xE880;; +let _ARM64_SYSREG_SCTLR_EL2 = 0xE080;; +let _ARM64_SYSREG_SCTLR_EL3 = 0xF080;; +let _ARM64_SYSREG_SCXTNUM_EL0 = 0xDE87;; +let _ARM64_SYSREG_SCXTNUM_EL1 = 0xC687;; +let _ARM64_SYSREG_SCXTNUM_EL12 = 0xEE87;; +let _ARM64_SYSREG_SCXTNUM_EL2 = 0xE687;; +let _ARM64_SYSREG_SCXTNUM_EL3 = 0xF687;; +let _ARM64_SYSREG_SDER32_EL2 = 0xE099;; +let _ARM64_SYSREG_SDER32_EL3 = 0xF089;; +let _ARM64_SYSREG_SMCR_EL1 = 0xC096;; +let _ARM64_SYSREG_SMCR_EL12 = 0xE896;; +let _ARM64_SYSREG_SMCR_EL2 = 0xE096;; +let _ARM64_SYSREG_SMCR_EL3 = 0xF096;; +let _ARM64_SYSREG_SMIDR_EL1 = 0xC806;; +let _ARM64_SYSREG_SMPRIMAP_EL2 = 0xE095;; +let _ARM64_SYSREG_SMPRI_EL1 = 0xC094;; +let _ARM64_SYSREG_SPSEL = 0xC210;; +let _ARM64_SYSREG_SPSR_ABT = 0xE219;; +let _ARM64_SYSREG_SPSR_EL1 = 0xC200;; +let _ARM64_SYSREG_SPSR_EL12 = 0xEA00;; +let _ARM64_SYSREG_SPSR_EL2 = 0xE200;; +let _ARM64_SYSREG_SPSR_EL3 = 0xF200;; +let _ARM64_SYSREG_SPSR_FIQ = 0xE21B;; +let _ARM64_SYSREG_SPSR_IRQ = 0xE218;; +let _ARM64_SYSREG_SPSR_UND = 0xE21A;; +let _ARM64_SYSREG_SP_EL0 = 0xC208;; +let _ARM64_SYSREG_SP_EL1 = 0xE208;; +let _ARM64_SYSREG_SP_EL2 = 0xF208;; +let _ARM64_SYSREG_SSBS = 0xDA16;; +let _ARM64_SYSREG_SVCR = 0xDA12;; +let _ARM64_SYSREG_TCO = 0xDA17;; +let _ARM64_SYSREG_TCR_EL1 = 0xC102;; +let _ARM64_SYSREG_TCR_EL12 = 0xE902;; +let _ARM64_SYSREG_TCR_EL2 = 0xE102;; +let _ARM64_SYSREG_TCR_EL3 = 0xF102;; +let _ARM64_SYSREG_TEECR32_EL1 = 0x9000;; +let _ARM64_SYSREG_TEEHBR32_EL1 = 0x9080;; +let _ARM64_SYSREG_TFSRE0_EL1 = 0xC2B1;; +let _ARM64_SYSREG_TFSR_EL1 = 0xC2B0;; +let _ARM64_SYSREG_TFSR_EL12 = 0xEAB0;; +let _ARM64_SYSREG_TFSR_EL2 = 0xE2B0;; +let _ARM64_SYSREG_TFSR_EL3 = 0xF2B0;; +let _ARM64_SYSREG_TPIDR2_EL0 = 0xDE85;; +let _ARM64_SYSREG_TPIDRRO_EL0 = 0xDE83;; +let _ARM64_SYSREG_TPIDR_EL0 = 0xDE82;; +let _ARM64_SYSREG_TPIDR_EL1 = 0xC684;; +let _ARM64_SYSREG_TPIDR_EL2 = 0xE682;; +let _ARM64_SYSREG_TPIDR_EL3 = 0xF682;; +let _ARM64_SYSREG_TRBBASER_EL1 = 0xC4DA;; +let _ARM64_SYSREG_TRBIDR_EL1 = 0xC4DF;; +let _ARM64_SYSREG_TRBLIMITR_EL1 = 0xC4D8;; +let _ARM64_SYSREG_TRBMAR_EL1 = 0xC4DC;; +let _ARM64_SYSREG_TRBPTR_EL1 = 0xC4D9;; +let _ARM64_SYSREG_TRBSR_EL1 = 0xC4DB;; +let _ARM64_SYSREG_TRBTRG_EL1 = 0xC4DE;; +let _ARM64_SYSREG_TRCACATR0 = 0x8902;; +let _ARM64_SYSREG_TRCACATR1 = 0x8912;; +let _ARM64_SYSREG_TRCACATR10 = 0x8923;; +let _ARM64_SYSREG_TRCACATR11 = 0x8933;; +let _ARM64_SYSREG_TRCACATR12 = 0x8943;; +let _ARM64_SYSREG_TRCACATR13 = 0x8953;; +let _ARM64_SYSREG_TRCACATR14 = 0x8963;; +let _ARM64_SYSREG_TRCACATR15 = 0x8973;; +let _ARM64_SYSREG_TRCACATR2 = 0x8922;; +let _ARM64_SYSREG_TRCACATR3 = 0x8932;; +let _ARM64_SYSREG_TRCACATR4 = 0x8942;; +let _ARM64_SYSREG_TRCACATR5 = 0x8952;; +let _ARM64_SYSREG_TRCACATR6 = 0x8962;; +let _ARM64_SYSREG_TRCACATR7 = 0x8972;; +let _ARM64_SYSREG_TRCACATR8 = 0x8903;; +let _ARM64_SYSREG_TRCACATR9 = 0x8913;; +let _ARM64_SYSREG_TRCACVR0 = 0x8900;; +let _ARM64_SYSREG_TRCACVR1 = 0x8910;; +let _ARM64_SYSREG_TRCACVR10 = 0x8921;; +let _ARM64_SYSREG_TRCACVR11 = 0x8931;; +let _ARM64_SYSREG_TRCACVR12 = 0x8941;; +let _ARM64_SYSREG_TRCACVR13 = 0x8951;; +let _ARM64_SYSREG_TRCACVR14 = 0x8961;; +let _ARM64_SYSREG_TRCACVR15 = 0x8971;; +let _ARM64_SYSREG_TRCACVR2 = 0x8920;; +let _ARM64_SYSREG_TRCACVR3 = 0x8930;; +let _ARM64_SYSREG_TRCACVR4 = 0x8940;; +let _ARM64_SYSREG_TRCACVR5 = 0x8950;; +let _ARM64_SYSREG_TRCACVR6 = 0x8960;; +let _ARM64_SYSREG_TRCACVR7 = 0x8970;; +let _ARM64_SYSREG_TRCACVR8 = 0x8901;; +let _ARM64_SYSREG_TRCACVR9 = 0x8911;; +let _ARM64_SYSREG_TRCAUTHSTATUS = 0x8BF6;; let _ARM64_SYSREG_TRCAUXCTLR = 0x8830;; -let _ARM64_SYSREG_TRCEVENTCTL0R = 0x8840;; -let _ARM64_SYSREG_TRCEVENTCTL1R = 0x8848;; -let _ARM64_SYSREG_TRCSTALLCTLR = 0x8858;; -let _ARM64_SYSREG_TRCTSCTLR = 0x8860;; -let _ARM64_SYSREG_TRCSYNCPR = 0x8868;; -let _ARM64_SYSREG_TRCCCCTLR = 0x8870;; let _ARM64_SYSREG_TRCBBCTLR = 0x8878;; -let _ARM64_SYSREG_TRCTRACEIDR = 0x8801;; -let _ARM64_SYSREG_TRCQCTLR = 0x8809;; -let _ARM64_SYSREG_TRCVICTLR = 0x8802;; -let _ARM64_SYSREG_TRCVIIECTLR = 0x880A;; -let _ARM64_SYSREG_TRCVISSCTLR = 0x8812;; -let _ARM64_SYSREG_TRCVIPCSSCTLR = 0x881A;; -let _ARM64_SYSREG_TRCVDCTLR = 0x8842;; -let _ARM64_SYSREG_TRCVDSACCTLR = 0x884A;; -let _ARM64_SYSREG_TRCVDARCCTLR = 0x8852;; -let _ARM64_SYSREG_TRCSEQEVR0 = 0x8804;; -let _ARM64_SYSREG_TRCSEQEVR1 = 0x880C;; -let _ARM64_SYSREG_TRCSEQEVR2 = 0x8814;; -let _ARM64_SYSREG_TRCSEQRSTEVR = 0x8834;; -let _ARM64_SYSREG_TRCSEQSTR = 0x883C;; -let _ARM64_SYSREG_TRCEXTINSELR = 0x8844;; -let _ARM64_SYSREG_TRCCNTRLDVR0 = 0x8805;; -let _ARM64_SYSREG_TRCCNTRLDVR1 = 0x880D;; -let _ARM64_SYSREG_TRCCNTRLDVR2 = 0x8815;; -let _ARM64_SYSREG_TRCCNTRLDVR3 = 0x881D;; +let _ARM64_SYSREG_TRCCCCTLR = 0x8870;; +let _ARM64_SYSREG_TRCCIDCCTLR0 = 0x8982;; +let _ARM64_SYSREG_TRCCIDCCTLR1 = 0x898A;; +let _ARM64_SYSREG_TRCCIDCVR0 = 0x8980;; +let _ARM64_SYSREG_TRCCIDCVR1 = 0x8990;; +let _ARM64_SYSREG_TRCCIDCVR2 = 0x89A0;; +let _ARM64_SYSREG_TRCCIDCVR3 = 0x89B0;; +let _ARM64_SYSREG_TRCCIDCVR4 = 0x89C0;; +let _ARM64_SYSREG_TRCCIDCVR5 = 0x89D0;; +let _ARM64_SYSREG_TRCCIDCVR6 = 0x89E0;; +let _ARM64_SYSREG_TRCCIDCVR7 = 0x89F0;; +let _ARM64_SYSREG_TRCCIDR0 = 0x8BE7;; +let _ARM64_SYSREG_TRCCIDR1 = 0x8BEF;; +let _ARM64_SYSREG_TRCCIDR2 = 0x8BF7;; +let _ARM64_SYSREG_TRCCIDR3 = 0x8BFF;; +let _ARM64_SYSREG_TRCCLAIMCLR = 0x8BCE;; +let _ARM64_SYSREG_TRCCLAIMSET = 0x8BC6;; let _ARM64_SYSREG_TRCCNTCTLR0 = 0x8825;; let _ARM64_SYSREG_TRCCNTCTLR1 = 0x882D;; let _ARM64_SYSREG_TRCCNTCTLR2 = 0x8835;; let _ARM64_SYSREG_TRCCNTCTLR3 = 0x883D;; +let _ARM64_SYSREG_TRCCNTRLDVR0 = 0x8805;; +let _ARM64_SYSREG_TRCCNTRLDVR1 = 0x880D;; +let _ARM64_SYSREG_TRCCNTRLDVR2 = 0x8815;; +let _ARM64_SYSREG_TRCCNTRLDVR3 = 0x881D;; let _ARM64_SYSREG_TRCCNTVR0 = 0x8845;; let _ARM64_SYSREG_TRCCNTVR1 = 0x884D;; let _ARM64_SYSREG_TRCCNTVR2 = 0x8855;; let _ARM64_SYSREG_TRCCNTVR3 = 0x885D;; +let _ARM64_SYSREG_TRCCONFIGR = 0x8820;; +let _ARM64_SYSREG_TRCDEVAFF0 = 0x8BD6;; +let _ARM64_SYSREG_TRCDEVAFF1 = 0x8BDE;; +let _ARM64_SYSREG_TRCDEVARCH = 0x8BFE;; +let _ARM64_SYSREG_TRCDEVID = 0x8B97;; +let _ARM64_SYSREG_TRCDEVTYPE = 0x8B9F;; +let _ARM64_SYSREG_TRCDVCMR0 = 0x8906;; +let _ARM64_SYSREG_TRCDVCMR1 = 0x8926;; +let _ARM64_SYSREG_TRCDVCMR2 = 0x8946;; +let _ARM64_SYSREG_TRCDVCMR3 = 0x8966;; +let _ARM64_SYSREG_TRCDVCMR4 = 0x8907;; +let _ARM64_SYSREG_TRCDVCMR5 = 0x8927;; +let _ARM64_SYSREG_TRCDVCMR6 = 0x8947;; +let _ARM64_SYSREG_TRCDVCMR7 = 0x8967;; +let _ARM64_SYSREG_TRCDVCVR0 = 0x8904;; +let _ARM64_SYSREG_TRCDVCVR1 = 0x8924;; +let _ARM64_SYSREG_TRCDVCVR2 = 0x8944;; +let _ARM64_SYSREG_TRCDVCVR3 = 0x8964;; +let _ARM64_SYSREG_TRCDVCVR4 = 0x8905;; +let _ARM64_SYSREG_TRCDVCVR5 = 0x8925;; +let _ARM64_SYSREG_TRCDVCVR6 = 0x8945;; +let _ARM64_SYSREG_TRCDVCVR7 = 0x8965;; +let _ARM64_SYSREG_TRCEVENTCTL0R = 0x8840;; +let _ARM64_SYSREG_TRCEVENTCTL1R = 0x8848;; +let _ARM64_SYSREG_TRCEXTINSELR = 0x8844;; +let _ARM64_SYSREG_TRCEXTINSELR0 = 0x8844;; +let _ARM64_SYSREG_TRCEXTINSELR1 = 0x884C;; +let _ARM64_SYSREG_TRCEXTINSELR2 = 0x8854;; +let _ARM64_SYSREG_TRCEXTINSELR3 = 0x885C;; +let _ARM64_SYSREG_TRCIDR0 = 0x8847;; +let _ARM64_SYSREG_TRCIDR1 = 0x884F;; +let _ARM64_SYSREG_TRCIDR10 = 0x8816;; +let _ARM64_SYSREG_TRCIDR11 = 0x881E;; +let _ARM64_SYSREG_TRCIDR12 = 0x8826;; +let _ARM64_SYSREG_TRCIDR13 = 0x882E;; +let _ARM64_SYSREG_TRCIDR2 = 0x8857;; +let _ARM64_SYSREG_TRCIDR3 = 0x885F;; +let _ARM64_SYSREG_TRCIDR4 = 0x8867;; +let _ARM64_SYSREG_TRCIDR5 = 0x886F;; +let _ARM64_SYSREG_TRCIDR6 = 0x8877;; +let _ARM64_SYSREG_TRCIDR7 = 0x887F;; +let _ARM64_SYSREG_TRCIDR8 = 0x8806;; +let _ARM64_SYSREG_TRCIDR9 = 0x880E;; let _ARM64_SYSREG_TRCIMSPEC0 = 0x8807;; let _ARM64_SYSREG_TRCIMSPEC1 = 0x880F;; let _ARM64_SYSREG_TRCIMSPEC2 = 0x8817;; @@ -445,14 +910,24 @@ let _ARM64_SYSREG_TRCIMSPEC4 = 0x8827;; let _ARM64_SYSREG_TRCIMSPEC5 = 0x882F;; let _ARM64_SYSREG_TRCIMSPEC6 = 0x8837;; let _ARM64_SYSREG_TRCIMSPEC7 = 0x883F;; -let _ARM64_SYSREG_TRCRSCTLR2 = 0x8890;; -let _ARM64_SYSREG_TRCRSCTLR3 = 0x8898;; -let _ARM64_SYSREG_TRCRSCTLR4 = 0x88A0;; -let _ARM64_SYSREG_TRCRSCTLR5 = 0x88A8;; -let _ARM64_SYSREG_TRCRSCTLR6 = 0x88B0;; -let _ARM64_SYSREG_TRCRSCTLR7 = 0x88B8;; -let _ARM64_SYSREG_TRCRSCTLR8 = 0x88C0;; -let _ARM64_SYSREG_TRCRSCTLR9 = 0x88C8;; +let _ARM64_SYSREG_TRCITCTRL = 0x8B84;; +let _ARM64_SYSREG_TRCLAR = 0x8BE6;; +let _ARM64_SYSREG_TRCLSR = 0x8BEE;; +let _ARM64_SYSREG_TRCOSLAR = 0x8884;; +let _ARM64_SYSREG_TRCOSLSR = 0x888C;; +let _ARM64_SYSREG_TRCPDCR = 0x88A4;; +let _ARM64_SYSREG_TRCPDSR = 0x88AC;; +let _ARM64_SYSREG_TRCPIDR0 = 0x8BC7;; +let _ARM64_SYSREG_TRCPIDR1 = 0x8BCF;; +let _ARM64_SYSREG_TRCPIDR2 = 0x8BD7;; +let _ARM64_SYSREG_TRCPIDR3 = 0x8BDF;; +let _ARM64_SYSREG_TRCPIDR4 = 0x8BA7;; +let _ARM64_SYSREG_TRCPIDR5 = 0x8BAF;; +let _ARM64_SYSREG_TRCPIDR6 = 0x8BB7;; +let _ARM64_SYSREG_TRCPIDR7 = 0x8BBF;; +let _ARM64_SYSREG_TRCPRGCTLR = 0x8808;; +let _ARM64_SYSREG_TRCPROCSELR = 0x8810;; +let _ARM64_SYSREG_TRCQCTLR = 0x8809;; let _ARM64_SYSREG_TRCRSCTLR10 = 0x88D0;; let _ARM64_SYSREG_TRCRSCTLR11 = 0x88D8;; let _ARM64_SYSREG_TRCRSCTLR12 = 0x88E0;; @@ -463,6 +938,7 @@ let _ARM64_SYSREG_TRCRSCTLR16 = 0x8881;; let _ARM64_SYSREG_TRCRSCTLR17 = 0x8889;; let _ARM64_SYSREG_TRCRSCTLR18 = 0x8891;; let _ARM64_SYSREG_TRCRSCTLR19 = 0x8899;; +let _ARM64_SYSREG_TRCRSCTLR2 = 0x8890;; let _ARM64_SYSREG_TRCRSCTLR20 = 0x88A1;; let _ARM64_SYSREG_TRCRSCTLR21 = 0x88A9;; let _ARM64_SYSREG_TRCRSCTLR22 = 0x88B1;; @@ -473,89 +949,59 @@ let _ARM64_SYSREG_TRCRSCTLR26 = 0x88D1;; let _ARM64_SYSREG_TRCRSCTLR27 = 0x88D9;; let _ARM64_SYSREG_TRCRSCTLR28 = 0x88E1;; let _ARM64_SYSREG_TRCRSCTLR29 = 0x88E9;; +let _ARM64_SYSREG_TRCRSCTLR3 = 0x8898;; let _ARM64_SYSREG_TRCRSCTLR30 = 0x88F1;; let _ARM64_SYSREG_TRCRSCTLR31 = 0x88F9;; -let _ARM64_SYSREG_TRCSSCCR0 = 0x8882;; -let _ARM64_SYSREG_TRCSSCCR1 = 0x888A;; -let _ARM64_SYSREG_TRCSSCCR2 = 0x8892;; -let _ARM64_SYSREG_TRCSSCCR3 = 0x889A;; -let _ARM64_SYSREG_TRCSSCCR4 = 0x88A2;; -let _ARM64_SYSREG_TRCSSCCR5 = 0x88AA;; -let _ARM64_SYSREG_TRCSSCCR6 = 0x88B2;; -let _ARM64_SYSREG_TRCSSCCR7 = 0x88BA;; -let _ARM64_SYSREG_TRCSSCSR0 = 0x88C2;; -let _ARM64_SYSREG_TRCSSCSR1 = 0x88CA;; -let _ARM64_SYSREG_TRCSSCSR2 = 0x88D2;; -let _ARM64_SYSREG_TRCSSCSR3 = 0x88DA;; -let _ARM64_SYSREG_TRCSSCSR4 = 0x88E2;; -let _ARM64_SYSREG_TRCSSCSR5 = 0x88EA;; -let _ARM64_SYSREG_TRCSSCSR6 = 0x88F2;; -let _ARM64_SYSREG_TRCSSCSR7 = 0x88FA;; -let _ARM64_SYSREG_TRCSSPCICR0 = 0x8883;; -let _ARM64_SYSREG_TRCSSPCICR1 = 0x888B;; -let _ARM64_SYSREG_TRCSSPCICR2 = 0x8893;; -let _ARM64_SYSREG_TRCSSPCICR3 = 0x889B;; -let _ARM64_SYSREG_TRCSSPCICR4 = 0x88A3;; -let _ARM64_SYSREG_TRCSSPCICR5 = 0x88AB;; -let _ARM64_SYSREG_TRCSSPCICR6 = 0x88B3;; -let _ARM64_SYSREG_TRCSSPCICR7 = 0x88BB;; -let _ARM64_SYSREG_TRCPDCR = 0x88A4;; -let _ARM64_SYSREG_TRCACVR0 = 0x8900;; -let _ARM64_SYSREG_TRCACVR1 = 0x8910;; -let _ARM64_SYSREG_TRCACVR2 = 0x8920;; -let _ARM64_SYSREG_TRCACVR3 = 0x8930;; -let _ARM64_SYSREG_TRCACVR4 = 0x8940;; -let _ARM64_SYSREG_TRCACVR5 = 0x8950;; -let _ARM64_SYSREG_TRCACVR6 = 0x8960;; -let _ARM64_SYSREG_TRCACVR7 = 0x8970;; -let _ARM64_SYSREG_TRCACVR8 = 0x8901;; -let _ARM64_SYSREG_TRCACVR9 = 0x8911;; -let _ARM64_SYSREG_TRCACVR10 = 0x8921;; -let _ARM64_SYSREG_TRCACVR11 = 0x8931;; -let _ARM64_SYSREG_TRCACVR12 = 0x8941;; -let _ARM64_SYSREG_TRCACVR13 = 0x8951;; -let _ARM64_SYSREG_TRCACVR14 = 0x8961;; -let _ARM64_SYSREG_TRCACVR15 = 0x8971;; -let _ARM64_SYSREG_TRCACATR0 = 0x8902;; -let _ARM64_SYSREG_TRCACATR1 = 0x8912;; -let _ARM64_SYSREG_TRCACATR2 = 0x8922;; -let _ARM64_SYSREG_TRCACATR3 = 0x8932;; -let _ARM64_SYSREG_TRCACATR4 = 0x8942;; -let _ARM64_SYSREG_TRCACATR5 = 0x8952;; -let _ARM64_SYSREG_TRCACATR6 = 0x8962;; -let _ARM64_SYSREG_TRCACATR7 = 0x8972;; -let _ARM64_SYSREG_TRCACATR8 = 0x8903;; -let _ARM64_SYSREG_TRCACATR9 = 0x8913;; -let _ARM64_SYSREG_TRCACATR10 = 0x8923;; -let _ARM64_SYSREG_TRCACATR11 = 0x8933;; -let _ARM64_SYSREG_TRCACATR12 = 0x8943;; -let _ARM64_SYSREG_TRCACATR13 = 0x8953;; -let _ARM64_SYSREG_TRCACATR14 = 0x8963;; -let _ARM64_SYSREG_TRCACATR15 = 0x8973;; -let _ARM64_SYSREG_TRCDVCVR0 = 0x8904;; -let _ARM64_SYSREG_TRCDVCVR1 = 0x8924;; -let _ARM64_SYSREG_TRCDVCVR2 = 0x8944;; -let _ARM64_SYSREG_TRCDVCVR3 = 0x8964;; -let _ARM64_SYSREG_TRCDVCVR4 = 0x8905;; -let _ARM64_SYSREG_TRCDVCVR5 = 0x8925;; -let _ARM64_SYSREG_TRCDVCVR6 = 0x8945;; -let _ARM64_SYSREG_TRCDVCVR7 = 0x8965;; -let _ARM64_SYSREG_TRCDVCMR0 = 0x8906;; -let _ARM64_SYSREG_TRCDVCMR1 = 0x8926;; -let _ARM64_SYSREG_TRCDVCMR2 = 0x8946;; -let _ARM64_SYSREG_TRCDVCMR3 = 0x8966;; -let _ARM64_SYSREG_TRCDVCMR4 = 0x8907;; -let _ARM64_SYSREG_TRCDVCMR5 = 0x8927;; -let _ARM64_SYSREG_TRCDVCMR6 = 0x8947;; -let _ARM64_SYSREG_TRCDVCMR7 = 0x8967;; -let _ARM64_SYSREG_TRCCIDCVR0 = 0x8980;; -let _ARM64_SYSREG_TRCCIDCVR1 = 0x8990;; -let _ARM64_SYSREG_TRCCIDCVR2 = 0x89A0;; -let _ARM64_SYSREG_TRCCIDCVR3 = 0x89B0;; -let _ARM64_SYSREG_TRCCIDCVR4 = 0x89C0;; -let _ARM64_SYSREG_TRCCIDCVR5 = 0x89D0;; -let _ARM64_SYSREG_TRCCIDCVR6 = 0x89E0;; -let _ARM64_SYSREG_TRCCIDCVR7 = 0x89F0;; +let _ARM64_SYSREG_TRCRSCTLR4 = 0x88A0;; +let _ARM64_SYSREG_TRCRSCTLR5 = 0x88A8;; +let _ARM64_SYSREG_TRCRSCTLR6 = 0x88B0;; +let _ARM64_SYSREG_TRCRSCTLR7 = 0x88B8;; +let _ARM64_SYSREG_TRCRSCTLR8 = 0x88C0;; +let _ARM64_SYSREG_TRCRSCTLR9 = 0x88C8;; +let _ARM64_SYSREG_TRCRSR = 0x8850;; +let _ARM64_SYSREG_TRCSEQEVR0 = 0x8804;; +let _ARM64_SYSREG_TRCSEQEVR1 = 0x880C;; +let _ARM64_SYSREG_TRCSEQEVR2 = 0x8814;; +let _ARM64_SYSREG_TRCSEQRSTEVR = 0x8834;; +let _ARM64_SYSREG_TRCSEQSTR = 0x883C;; +let _ARM64_SYSREG_TRCSSCCR0 = 0x8882;; +let _ARM64_SYSREG_TRCSSCCR1 = 0x888A;; +let _ARM64_SYSREG_TRCSSCCR2 = 0x8892;; +let _ARM64_SYSREG_TRCSSCCR3 = 0x889A;; +let _ARM64_SYSREG_TRCSSCCR4 = 0x88A2;; +let _ARM64_SYSREG_TRCSSCCR5 = 0x88AA;; +let _ARM64_SYSREG_TRCSSCCR6 = 0x88B2;; +let _ARM64_SYSREG_TRCSSCCR7 = 0x88BA;; +let _ARM64_SYSREG_TRCSSCSR0 = 0x88C2;; +let _ARM64_SYSREG_TRCSSCSR1 = 0x88CA;; +let _ARM64_SYSREG_TRCSSCSR2 = 0x88D2;; +let _ARM64_SYSREG_TRCSSCSR3 = 0x88DA;; +let _ARM64_SYSREG_TRCSSCSR4 = 0x88E2;; +let _ARM64_SYSREG_TRCSSCSR5 = 0x88EA;; +let _ARM64_SYSREG_TRCSSCSR6 = 0x88F2;; +let _ARM64_SYSREG_TRCSSCSR7 = 0x88FA;; +let _ARM64_SYSREG_TRCSSPCICR0 = 0x8883;; +let _ARM64_SYSREG_TRCSSPCICR1 = 0x888B;; +let _ARM64_SYSREG_TRCSSPCICR2 = 0x8893;; +let _ARM64_SYSREG_TRCSSPCICR3 = 0x889B;; +let _ARM64_SYSREG_TRCSSPCICR4 = 0x88A3;; +let _ARM64_SYSREG_TRCSSPCICR5 = 0x88AB;; +let _ARM64_SYSREG_TRCSSPCICR6 = 0x88B3;; +let _ARM64_SYSREG_TRCSSPCICR7 = 0x88BB;; +let _ARM64_SYSREG_TRCSTALLCTLR = 0x8858;; +let _ARM64_SYSREG_TRCSTATR = 0x8818;; +let _ARM64_SYSREG_TRCSYNCPR = 0x8868;; +let _ARM64_SYSREG_TRCTRACEIDR = 0x8801;; +let _ARM64_SYSREG_TRCTSCTLR = 0x8860;; +let _ARM64_SYSREG_TRCVDARCCTLR = 0x8852;; +let _ARM64_SYSREG_TRCVDCTLR = 0x8842;; +let _ARM64_SYSREG_TRCVDSACCTLR = 0x884A;; +let _ARM64_SYSREG_TRCVICTLR = 0x8802;; +let _ARM64_SYSREG_TRCVIIECTLR = 0x880A;; +let _ARM64_SYSREG_TRCVIPCSSCTLR = 0x881A;; +let _ARM64_SYSREG_TRCVISSCTLR = 0x8812;; +let _ARM64_SYSREG_TRCVMIDCCTLR0 = 0x8992;; +let _ARM64_SYSREG_TRCVMIDCCTLR1 = 0x899A;; let _ARM64_SYSREG_TRCVMIDCVR0 = 0x8981;; let _ARM64_SYSREG_TRCVMIDCVR1 = 0x8991;; let _ARM64_SYSREG_TRCVMIDCVR2 = 0x89A1;; @@ -564,215 +1010,35 @@ let _ARM64_SYSREG_TRCVMIDCVR4 = 0x89C1;; let _ARM64_SYSREG_TRCVMIDCVR5 = 0x89D1;; let _ARM64_SYSREG_TRCVMIDCVR6 = 0x89E1;; let _ARM64_SYSREG_TRCVMIDCVR7 = 0x89F1;; -let _ARM64_SYSREG_TRCCIDCCTLR0 = 0x8982;; -let _ARM64_SYSREG_TRCCIDCCTLR1 = 0x898A;; -let _ARM64_SYSREG_TRCVMIDCCTLR0 = 0x8992;; -let _ARM64_SYSREG_TRCVMIDCCTLR1 = 0x899A;; -let _ARM64_SYSREG_TRCITCTRL = 0x8B84;; -let _ARM64_SYSREG_TRCCLAIMSET = 0x8BC6;; -let _ARM64_SYSREG_TRCCLAIMCLR = 0x8BCE;; -let _ARM64_SYSREG_ICC_BPR1_EL1 = 0xC663;; -let _ARM64_SYSREG_ICC_BPR0_EL1 = 0xC643;; -let _ARM64_SYSREG_ICC_PMR_EL1 = 0xC230;; -let _ARM64_SYSREG_ICC_CTLR_EL1 = 0xC664;; -let _ARM64_SYSREG_ICC_CTLR_EL3 = 0xF664;; -let _ARM64_SYSREG_ICC_SRE_EL1 = 0xC665;; -let _ARM64_SYSREG_ICC_SRE_EL2 = 0xE64D;; -let _ARM64_SYSREG_ICC_SRE_EL3 = 0xF665;; -let _ARM64_SYSREG_ICC_IGRPEN0_EL1 = 0xC666;; -let _ARM64_SYSREG_ICC_IGRPEN1_EL1 = 0xC667;; -let _ARM64_SYSREG_ICC_IGRPEN1_EL3 = 0xF667;; -let _ARM64_SYSREG_ICC_SEIEN_EL1 = 0xC668;; -let _ARM64_SYSREG_ICC_AP0R0_EL1 = 0xC644;; -let _ARM64_SYSREG_ICC_AP0R1_EL1 = 0xC645;; -let _ARM64_SYSREG_ICC_AP0R2_EL1 = 0xC646;; -let _ARM64_SYSREG_ICC_AP0R3_EL1 = 0xC647;; -let _ARM64_SYSREG_ICC_AP1R0_EL1 = 0xC648;; -let _ARM64_SYSREG_ICC_AP1R1_EL1 = 0xC649;; -let _ARM64_SYSREG_ICC_AP1R2_EL1 = 0xC64A;; -let _ARM64_SYSREG_ICC_AP1R3_EL1 = 0xC64B;; -let _ARM64_SYSREG_ICH_AP0R0_EL2 = 0xE640;; -let _ARM64_SYSREG_ICH_AP0R1_EL2 = 0xE641;; -let _ARM64_SYSREG_ICH_AP0R2_EL2 = 0xE642;; -let _ARM64_SYSREG_ICH_AP0R3_EL2 = 0xE643;; -let _ARM64_SYSREG_ICH_AP1R0_EL2 = 0xE648;; -let _ARM64_SYSREG_ICH_AP1R1_EL2 = 0xE649;; -let _ARM64_SYSREG_ICH_AP1R2_EL2 = 0xE64A;; -let _ARM64_SYSREG_ICH_AP1R3_EL2 = 0xE64B;; -let _ARM64_SYSREG_ICH_HCR_EL2 = 0xE658;; -let _ARM64_SYSREG_ICH_MISR_EL2 = 0xE65A;; -let _ARM64_SYSREG_ICH_VMCR_EL2 = 0xE65F;; -let _ARM64_SYSREG_ICH_VSEIR_EL2 = 0xE64C;; -let _ARM64_SYSREG_ICH_LR0_EL2 = 0xE660;; -let _ARM64_SYSREG_ICH_LR1_EL2 = 0xE661;; -let _ARM64_SYSREG_ICH_LR2_EL2 = 0xE662;; -let _ARM64_SYSREG_ICH_LR3_EL2 = 0xE663;; -let _ARM64_SYSREG_ICH_LR4_EL2 = 0xE664;; -let _ARM64_SYSREG_ICH_LR5_EL2 = 0xE665;; -let _ARM64_SYSREG_ICH_LR6_EL2 = 0xE666;; -let _ARM64_SYSREG_ICH_LR7_EL2 = 0xE667;; -let _ARM64_SYSREG_ICH_LR8_EL2 = 0xE668;; -let _ARM64_SYSREG_ICH_LR9_EL2 = 0xE669;; -let _ARM64_SYSREG_ICH_LR10_EL2 = 0xE66A;; -let _ARM64_SYSREG_ICH_LR11_EL2 = 0xE66B;; -let _ARM64_SYSREG_ICH_LR12_EL2 = 0xE66C;; -let _ARM64_SYSREG_ICH_LR13_EL2 = 0xE66D;; -let _ARM64_SYSREG_ICH_LR14_EL2 = 0xE66E;; -let _ARM64_SYSREG_ICH_LR15_EL2 = 0xE66F;; -let _ARM64_SYSREG_PAN = 0xC213;; -let _ARM64_SYSREG_LORSA_EL1 = 0xC520;; -let _ARM64_SYSREG_LOREA_EL1 = 0xC521;; -let _ARM64_SYSREG_LORN_EL1 = 0xC522;; -let _ARM64_SYSREG_LORC_EL1 = 0xC523;; -let _ARM64_SYSREG_TTBR1_EL2 = 0xE101;; -let _ARM64_SYSREG_CONTEXTIDR_EL2 = 0xE681;; -let _ARM64_SYSREG_CNTHV_TVAL_EL2 = 0xE718;; -let _ARM64_SYSREG_CNTHV_CVAL_EL2 = 0xE71A;; -let _ARM64_SYSREG_CNTHV_CTL_EL2 = 0xE719;; -let _ARM64_SYSREG_SCTLR_EL12 = 0xE880;; -let _ARM64_SYSREG_CPACR_EL12 = 0xE882;; +let _ARM64_SYSREG_TRFCR_EL1 = 0xC091;; +let _ARM64_SYSREG_TRFCR_EL12 = 0xE891;; +let _ARM64_SYSREG_TRFCR_EL2 = 0xE091;; +let _ARM64_SYSREG_TTBR0_EL1 = 0xC100;; let _ARM64_SYSREG_TTBR0_EL12 = 0xE900;; +let _ARM64_SYSREG_TTBR0_EL2 = 0xE100;; +let _ARM64_SYSREG_TTBR0_EL3 = 0xF100;; +let _ARM64_SYSREG_TTBR1_EL1 = 0xC101;; let _ARM64_SYSREG_TTBR1_EL12 = 0xE901;; -let _ARM64_SYSREG_TCR_EL12 = 0xE902;; -let _ARM64_SYSREG_AFSR0_EL12 = 0xEA88;; -let _ARM64_SYSREG_AFSR1_EL12 = 0xEA89;; -let _ARM64_SYSREG_ESR_EL12 = 0xEA90;; -let _ARM64_SYSREG_FAR_EL12 = 0xEB00;; -let _ARM64_SYSREG_MAIR_EL12 = 0xED10;; -let _ARM64_SYSREG_AMAIR_EL12 = 0xED18;; -let _ARM64_SYSREG_VBAR_EL12 = 0xEE00;; -let _ARM64_SYSREG_CONTEXTIDR_EL12 = 0xEE81;; -let _ARM64_SYSREG_CNTKCTL_EL12 = 0xEF08;; -let _ARM64_SYSREG_CNTP_TVAL_EL02 = 0xEF10;; -let _ARM64_SYSREG_CNTP_CTL_EL02 = 0xEF11;; -let _ARM64_SYSREG_CNTP_CVAL_EL02 = 0xEF12;; -let _ARM64_SYSREG_CNTV_TVAL_EL02 = 0xEF18;; -let _ARM64_SYSREG_CNTV_CTL_EL02 = 0xEF19;; -let _ARM64_SYSREG_CNTV_CVAL_EL02 = 0xEF1A;; -let _ARM64_SYSREG_SPSR_EL12 = 0xEA00;; -let _ARM64_SYSREG_ELR_EL12 = 0xEA01;; +let _ARM64_SYSREG_TTBR1_EL2 = 0xE101;; let _ARM64_SYSREG_UAO = 0xC214;; -let _ARM64_SYSREG_PMBLIMITR_EL1 = 0xC4D0;; -let _ARM64_SYSREG_PMBPTR_EL1 = 0xC4D1;; -let _ARM64_SYSREG_PMBSR_EL1 = 0xC4D3;; -let _ARM64_SYSREG_PMBIDR_EL1 = 0xC4D7;; -let _ARM64_SYSREG_PMSCR_EL2 = 0xE4C8;; -let _ARM64_SYSREG_PMSCR_EL12 = 0xECC8;; -let _ARM64_SYSREG_PMSCR_EL1 = 0xC4C8;; -let _ARM64_SYSREG_PMSICR_EL1 = 0xC4CA;; -let _ARM64_SYSREG_PMSIRR_EL1 = 0xC4CB;; -let _ARM64_SYSREG_PMSFCR_EL1 = 0xC4CC;; -let _ARM64_SYSREG_PMSEVFR_EL1 = 0xC4CD;; -let _ARM64_SYSREG_PMSLATFR_EL1 = 0xC4CE;; -let _ARM64_SYSREG_PMSIDR_EL1 = 0xC4CF;; -let _ARM64_SYSREG_ERRSELR_EL1 = 0xC299;; -let _ARM64_SYSREG_ERXCTLR_EL1 = 0xC2A1;; -let _ARM64_SYSREG_ERXSTATUS_EL1 = 0xC2A2;; -let _ARM64_SYSREG_ERXADDR_EL1 = 0xC2A3;; -let _ARM64_SYSREG_ERXMISC0_EL1 = 0xC2A8;; -let _ARM64_SYSREG_ERXMISC1_EL1 = 0xC2A9;; -let _ARM64_SYSREG_DISR_EL1 = 0xC609;; +let _ARM64_SYSREG_VBAR_EL1 = 0xC600;; +let _ARM64_SYSREG_VBAR_EL12 = 0xEE00;; +let _ARM64_SYSREG_VBAR_EL2 = 0xE600;; +let _ARM64_SYSREG_VBAR_EL3 = 0xF600;; let _ARM64_SYSREG_VDISR_EL2 = 0xE609;; +let _ARM64_SYSREG_VMPIDR_EL2 = 0xE005;; +let _ARM64_SYSREG_VNCR_EL2 = 0xE110;; +let _ARM64_SYSREG_VPIDR_EL2 = 0xE000;; +let _ARM64_SYSREG_VSCTLR_EL2 = 0xE100;; let _ARM64_SYSREG_VSESR_EL2 = 0xE293;; -let _ARM64_SYSREG_APIAKEYLO_EL1 = 0xC108;; -let _ARM64_SYSREG_APIAKEYHI_EL1 = 0xC109;; -let _ARM64_SYSREG_APIBKEYLO_EL1 = 0xC10A;; -let _ARM64_SYSREG_APIBKEYHI_EL1 = 0xC10B;; -let _ARM64_SYSREG_APDAKEYLO_EL1 = 0xC110;; -let _ARM64_SYSREG_APDAKEYHI_EL1 = 0xC111;; -let _ARM64_SYSREG_APDBKEYLO_EL1 = 0xC112;; -let _ARM64_SYSREG_APDBKEYHI_EL1 = 0xC113;; -let _ARM64_SYSREG_APGAKEYLO_EL1 = 0xC118;; -let _ARM64_SYSREG_APGAKEYHI_EL1 = 0xC119;; let _ARM64_SYSREG_VSTCR_EL2 = 0xE132;; let _ARM64_SYSREG_VSTTBR_EL2 = 0xE130;; -let _ARM64_SYSREG_CNTHVS_TVAL_EL2 = 0xE720;; -let _ARM64_SYSREG_CNTHVS_CVAL_EL2 = 0xE722;; -let _ARM64_SYSREG_CNTHVS_CTL_EL2 = 0xE721;; -let _ARM64_SYSREG_CNTHPS_TVAL_EL2 = 0xE728;; -let _ARM64_SYSREG_CNTHPS_CVAL_EL2 = 0xE72A;; -let _ARM64_SYSREG_CNTHPS_CTL_EL2 = 0xE729;; -let _ARM64_SYSREG_SDER32_EL2 = 0xE099;; -let _ARM64_SYSREG_ERXPFGCTL_EL1 = 0xC2A5;; -let _ARM64_SYSREG_ERXPFGCDN_EL1 = 0xC2A6;; -let _ARM64_SYSREG_ERXTS_EL1 = 0xC2AF;; -let _ARM64_SYSREG_ERXMISC2_EL1 = 0xC2AA;; -let _ARM64_SYSREG_ERXMISC3_EL1 = 0xC2AB;; -let _ARM64_SYSREG_ERXPFGF_EL1 = 0xC2A4;; -let _ARM64_SYSREG_MPAM0_EL1 = 0xC529;; -let _ARM64_SYSREG_MPAM1_EL1 = 0xC528;; -let _ARM64_SYSREG_MPAM2_EL2 = 0xE528;; -let _ARM64_SYSREG_MPAM3_EL3 = 0xF528;; -let _ARM64_SYSREG_MPAM1_EL12 = 0xED28;; -let _ARM64_SYSREG_MPAMHCR_EL2 = 0xE520;; -let _ARM64_SYSREG_MPAMVPMV_EL2 = 0xE521;; -let _ARM64_SYSREG_MPAMVPM0_EL2 = 0xE530;; -let _ARM64_SYSREG_MPAMVPM1_EL2 = 0xE531;; -let _ARM64_SYSREG_MPAMVPM2_EL2 = 0xE532;; -let _ARM64_SYSREG_MPAMVPM3_EL2 = 0xE533;; -let _ARM64_SYSREG_MPAMVPM4_EL2 = 0xE534;; -let _ARM64_SYSREG_MPAMVPM5_EL2 = 0xE535;; -let _ARM64_SYSREG_MPAMVPM6_EL2 = 0xE536;; -let _ARM64_SYSREG_MPAMVPM7_EL2 = 0xE537;; -let _ARM64_SYSREG_MPAMIDR_EL1 = 0xC524;; -let _ARM64_SYSREG_AMCR_EL0 = 0xDE90;; -let _ARM64_SYSREG_AMCFGR_EL0 = 0xDE91;; -let _ARM64_SYSREG_AMCGCR_EL0 = 0xDE92;; -let _ARM64_SYSREG_AMUSERENR_EL0 = 0xDE93;; -let _ARM64_SYSREG_AMCNTENCLR0_EL0 = 0xDE94;; -let _ARM64_SYSREG_AMCNTENSET0_EL0 = 0xDE95;; -let _ARM64_SYSREG_AMEVCNTR00_EL0 = 0xDEA0;; -let _ARM64_SYSREG_AMEVCNTR01_EL0 = 0xDEA1;; -let _ARM64_SYSREG_AMEVCNTR02_EL0 = 0xDEA2;; -let _ARM64_SYSREG_AMEVCNTR03_EL0 = 0xDEA3;; -let _ARM64_SYSREG_AMEVTYPER00_EL0 = 0xDEB0;; -let _ARM64_SYSREG_AMEVTYPER01_EL0 = 0xDEB1;; -let _ARM64_SYSREG_AMEVTYPER02_EL0 = 0xDEB2;; -let _ARM64_SYSREG_AMEVTYPER03_EL0 = 0xDEB3;; -let _ARM64_SYSREG_AMCNTENCLR1_EL0 = 0xDE98;; -let _ARM64_SYSREG_AMCNTENSET1_EL0 = 0xDE99;; -let _ARM64_SYSREG_AMEVCNTR10_EL0 = 0xDEE0;; -let _ARM64_SYSREG_AMEVCNTR11_EL0 = 0xDEE1;; -let _ARM64_SYSREG_AMEVCNTR12_EL0 = 0xDEE2;; -let _ARM64_SYSREG_AMEVCNTR13_EL0 = 0xDEE3;; -let _ARM64_SYSREG_AMEVCNTR14_EL0 = 0xDEE4;; -let _ARM64_SYSREG_AMEVCNTR15_EL0 = 0xDEE5;; -let _ARM64_SYSREG_AMEVCNTR16_EL0 = 0xDEE6;; -let _ARM64_SYSREG_AMEVCNTR17_EL0 = 0xDEE7;; -let _ARM64_SYSREG_AMEVCNTR18_EL0 = 0xDEE8;; -let _ARM64_SYSREG_AMEVCNTR19_EL0 = 0xDEE9;; -let _ARM64_SYSREG_AMEVCNTR110_EL0 = 0xDEEA;; -let _ARM64_SYSREG_AMEVCNTR111_EL0 = 0xDEEB;; -let _ARM64_SYSREG_AMEVCNTR112_EL0 = 0xDEEC;; -let _ARM64_SYSREG_AMEVCNTR113_EL0 = 0xDEED;; -let _ARM64_SYSREG_AMEVCNTR114_EL0 = 0xDEEE;; -let _ARM64_SYSREG_AMEVCNTR115_EL0 = 0xDEEF;; -let _ARM64_SYSREG_AMEVTYPER10_EL0 = 0xDEF0;; -let _ARM64_SYSREG_AMEVTYPER11_EL0 = 0xDEF1;; -let _ARM64_SYSREG_AMEVTYPER12_EL0 = 0xDEF2;; -let _ARM64_SYSREG_AMEVTYPER13_EL0 = 0xDEF3;; -let _ARM64_SYSREG_AMEVTYPER14_EL0 = 0xDEF4;; -let _ARM64_SYSREG_AMEVTYPER15_EL0 = 0xDEF5;; -let _ARM64_SYSREG_AMEVTYPER16_EL0 = 0xDEF6;; -let _ARM64_SYSREG_AMEVTYPER17_EL0 = 0xDEF7;; -let _ARM64_SYSREG_AMEVTYPER18_EL0 = 0xDEF8;; -let _ARM64_SYSREG_AMEVTYPER19_EL0 = 0xDEF9;; -let _ARM64_SYSREG_AMEVTYPER110_EL0 = 0xDEFA;; -let _ARM64_SYSREG_AMEVTYPER111_EL0 = 0xDEFB;; -let _ARM64_SYSREG_AMEVTYPER112_EL0 = 0xDEFC;; -let _ARM64_SYSREG_AMEVTYPER113_EL0 = 0xDEFD;; -let _ARM64_SYSREG_AMEVTYPER114_EL0 = 0xDEFE;; -let _ARM64_SYSREG_AMEVTYPER115_EL0 = 0xDEFF;; -let _ARM64_SYSREG_TRFCR_EL1 = 0xC091;; -let _ARM64_SYSREG_TRFCR_EL2 = 0xE091;; -let _ARM64_SYSREG_TRFCR_EL12 = 0xE891;; -let _ARM64_SYSREG_DIT = 0xDA15;; -let _ARM64_SYSREG_VNCR_EL2 = 0xE110;; +let _ARM64_SYSREG_VTCR_EL2 = 0xE10A;; +let _ARM64_SYSREG_VTTBR_EL2 = 0xE108;; let _ARM64_SYSREG_ZCR_EL1 = 0xC090;; +let _ARM64_SYSREG_ZCR_EL12 = 0xE890;; let _ARM64_SYSREG_ZCR_EL2 = 0xE090;; let _ARM64_SYSREG_ZCR_EL3 = 0xF090;; -let _ARM64_SYSREG_ZCR_EL12 = 0xE890;; -let _ARM64_SYSREG_CPM_IOACC_CTL_EL3 = 0xFF90;; let _ARM64_PSTATE_INVALID = 0;; let _ARM64_PSTATE_SPSEL = 0x05;; @@ -822,115 +1088,226 @@ let _ARM64_OP_REG_MRS = 65;; let _ARM64_OP_REG_MSR = 66;; let _ARM64_OP_PSTATE = 67;; let _ARM64_OP_SYS = 68;; -let _ARM64_OP_PREFETCH = 69;; -let _ARM64_OP_BARRIER = 70;; +let _ARM64_OP_SVCR = 69;; +let _ARM64_OP_PREFETCH = 70;; +let _ARM64_OP_BARRIER = 71;; +let _ARM64_OP_SME_INDEX = 72;; + +let _ARM64_SYS_INVALID = 0;; +let _ARM64_TLBI_ALLE1 = 1;; +let _ARM64_TLBI_ALLE1IS = 2;; +let _ARM64_TLBI_ALLE1ISNXS = 3;; +let _ARM64_TLBI_ALLE1NXS = 4;; +let _ARM64_TLBI_ALLE1OS = 5;; +let _ARM64_TLBI_ALLE1OSNXS = 6;; +let _ARM64_TLBI_ALLE2 = 7;; +let _ARM64_TLBI_ALLE2IS = 8;; +let _ARM64_TLBI_ALLE2ISNXS = 9;; +let _ARM64_TLBI_ALLE2NXS = 10;; +let _ARM64_TLBI_ALLE2OS = 11;; +let _ARM64_TLBI_ALLE2OSNXS = 12;; +let _ARM64_TLBI_ALLE3 = 13;; +let _ARM64_TLBI_ALLE3IS = 14;; +let _ARM64_TLBI_ALLE3ISNXS = 15;; +let _ARM64_TLBI_ALLE3NXS = 16;; +let _ARM64_TLBI_ALLE3OS = 17;; +let _ARM64_TLBI_ALLE3OSNXS = 18;; +let _ARM64_TLBI_ASIDE1 = 19;; +let _ARM64_TLBI_ASIDE1IS = 20;; +let _ARM64_TLBI_ASIDE1ISNXS = 21;; +let _ARM64_TLBI_ASIDE1NXS = 22;; +let _ARM64_TLBI_ASIDE1OS = 23;; +let _ARM64_TLBI_ASIDE1OSNXS = 24;; +let _ARM64_TLBI_IPAS2E1 = 25;; +let _ARM64_TLBI_IPAS2E1IS = 26;; +let _ARM64_TLBI_IPAS2E1ISNXS = 27;; +let _ARM64_TLBI_IPAS2E1NXS = 28;; +let _ARM64_TLBI_IPAS2E1OS = 29;; +let _ARM64_TLBI_IPAS2E1OSNXS = 30;; +let _ARM64_TLBI_IPAS2LE1 = 31;; +let _ARM64_TLBI_IPAS2LE1IS = 32;; +let _ARM64_TLBI_IPAS2LE1ISNXS = 33;; +let _ARM64_TLBI_IPAS2LE1NXS = 34;; +let _ARM64_TLBI_IPAS2LE1OS = 35;; +let _ARM64_TLBI_IPAS2LE1OSNXS = 36;; +let _ARM64_TLBI_PAALL = 37;; +let _ARM64_TLBI_PAALLNXS = 38;; +let _ARM64_TLBI_PAALLOS = 39;; +let _ARM64_TLBI_PAALLOSNXS = 40;; +let _ARM64_TLBI_RIPAS2E1 = 41;; +let _ARM64_TLBI_RIPAS2E1IS = 42;; +let _ARM64_TLBI_RIPAS2E1ISNXS = 43;; +let _ARM64_TLBI_RIPAS2E1NXS = 44;; +let _ARM64_TLBI_RIPAS2E1OS = 45;; +let _ARM64_TLBI_RIPAS2E1OSNXS = 46;; +let _ARM64_TLBI_RIPAS2LE1 = 47;; +let _ARM64_TLBI_RIPAS2LE1IS = 48;; +let _ARM64_TLBI_RIPAS2LE1ISNXS = 49;; +let _ARM64_TLBI_RIPAS2LE1NXS = 50;; +let _ARM64_TLBI_RIPAS2LE1OS = 51;; +let _ARM64_TLBI_RIPAS2LE1OSNXS = 52;; +let _ARM64_TLBI_RPALOS = 53;; +let _ARM64_TLBI_RPALOSNXS = 54;; +let _ARM64_TLBI_RPAOS = 55;; +let _ARM64_TLBI_RPAOSNXS = 56;; +let _ARM64_TLBI_RVAAE1 = 57;; +let _ARM64_TLBI_RVAAE1IS = 58;; +let _ARM64_TLBI_RVAAE1ISNXS = 59;; +let _ARM64_TLBI_RVAAE1NXS = 60;; +let _ARM64_TLBI_RVAAE1OS = 61;; +let _ARM64_TLBI_RVAAE1OSNXS = 62;; +let _ARM64_TLBI_RVAALE1 = 63;; +let _ARM64_TLBI_RVAALE1IS = 64;; +let _ARM64_TLBI_RVAALE1ISNXS = 65;; +let _ARM64_TLBI_RVAALE1NXS = 66;; +let _ARM64_TLBI_RVAALE1OS = 67;; +let _ARM64_TLBI_RVAALE1OSNXS = 68;; +let _ARM64_TLBI_RVAE1 = 69;; +let _ARM64_TLBI_RVAE1IS = 70;; +let _ARM64_TLBI_RVAE1ISNXS = 71;; +let _ARM64_TLBI_RVAE1NXS = 72;; +let _ARM64_TLBI_RVAE1OS = 73;; +let _ARM64_TLBI_RVAE1OSNXS = 74;; +let _ARM64_TLBI_RVAE2 = 75;; +let _ARM64_TLBI_RVAE2IS = 76;; +let _ARM64_TLBI_RVAE2ISNXS = 77;; +let _ARM64_TLBI_RVAE2NXS = 78;; +let _ARM64_TLBI_RVAE2OS = 79;; +let _ARM64_TLBI_RVAE2OSNXS = 80;; +let _ARM64_TLBI_RVAE3 = 81;; +let _ARM64_TLBI_RVAE3IS = 82;; +let _ARM64_TLBI_RVAE3ISNXS = 83;; +let _ARM64_TLBI_RVAE3NXS = 84;; +let _ARM64_TLBI_RVAE3OS = 85;; +let _ARM64_TLBI_RVAE3OSNXS = 86;; +let _ARM64_TLBI_RVALE1 = 87;; +let _ARM64_TLBI_RVALE1IS = 88;; +let _ARM64_TLBI_RVALE1ISNXS = 89;; +let _ARM64_TLBI_RVALE1NXS = 90;; +let _ARM64_TLBI_RVALE1OS = 91;; +let _ARM64_TLBI_RVALE1OSNXS = 92;; +let _ARM64_TLBI_RVALE2 = 93;; +let _ARM64_TLBI_RVALE2IS = 94;; +let _ARM64_TLBI_RVALE2ISNXS = 95;; +let _ARM64_TLBI_RVALE2NXS = 96;; +let _ARM64_TLBI_RVALE2OS = 97;; +let _ARM64_TLBI_RVALE2OSNXS = 98;; +let _ARM64_TLBI_RVALE3 = 99;; +let _ARM64_TLBI_RVALE3IS = 100;; +let _ARM64_TLBI_RVALE3ISNXS = 101;; +let _ARM64_TLBI_RVALE3NXS = 102;; +let _ARM64_TLBI_RVALE3OS = 103;; +let _ARM64_TLBI_RVALE3OSNXS = 104;; +let _ARM64_TLBI_VAAE1 = 105;; +let _ARM64_TLBI_VAAE1IS = 106;; +let _ARM64_TLBI_VAAE1ISNXS = 107;; +let _ARM64_TLBI_VAAE1NXS = 108;; +let _ARM64_TLBI_VAAE1OS = 109;; +let _ARM64_TLBI_VAAE1OSNXS = 110;; +let _ARM64_TLBI_VAALE1 = 111;; +let _ARM64_TLBI_VAALE1IS = 112;; +let _ARM64_TLBI_VAALE1ISNXS = 113;; +let _ARM64_TLBI_VAALE1NXS = 114;; +let _ARM64_TLBI_VAALE1OS = 115;; +let _ARM64_TLBI_VAALE1OSNXS = 116;; +let _ARM64_TLBI_VAE1 = 117;; +let _ARM64_TLBI_VAE1IS = 118;; +let _ARM64_TLBI_VAE1ISNXS = 119;; +let _ARM64_TLBI_VAE1NXS = 120;; +let _ARM64_TLBI_VAE1OS = 121;; +let _ARM64_TLBI_VAE1OSNXS = 122;; +let _ARM64_TLBI_VAE2 = 123;; +let _ARM64_TLBI_VAE2IS = 124;; +let _ARM64_TLBI_VAE2ISNXS = 125;; +let _ARM64_TLBI_VAE2NXS = 126;; +let _ARM64_TLBI_VAE2OS = 127;; +let _ARM64_TLBI_VAE2OSNXS = 128;; +let _ARM64_TLBI_VAE3 = 129;; +let _ARM64_TLBI_VAE3IS = 130;; +let _ARM64_TLBI_VAE3ISNXS = 131;; +let _ARM64_TLBI_VAE3NXS = 132;; +let _ARM64_TLBI_VAE3OS = 133;; +let _ARM64_TLBI_VAE3OSNXS = 134;; +let _ARM64_TLBI_VALE1 = 135;; +let _ARM64_TLBI_VALE1IS = 136;; +let _ARM64_TLBI_VALE1ISNXS = 137;; +let _ARM64_TLBI_VALE1NXS = 138;; +let _ARM64_TLBI_VALE1OS = 139;; +let _ARM64_TLBI_VALE1OSNXS = 140;; +let _ARM64_TLBI_VALE2 = 141;; +let _ARM64_TLBI_VALE2IS = 142;; +let _ARM64_TLBI_VALE2ISNXS = 143;; +let _ARM64_TLBI_VALE2NXS = 144;; +let _ARM64_TLBI_VALE2OS = 145;; +let _ARM64_TLBI_VALE2OSNXS = 146;; +let _ARM64_TLBI_VALE3 = 147;; +let _ARM64_TLBI_VALE3IS = 148;; +let _ARM64_TLBI_VALE3ISNXS = 149;; +let _ARM64_TLBI_VALE3NXS = 150;; +let _ARM64_TLBI_VALE3OS = 151;; +let _ARM64_TLBI_VALE3OSNXS = 152;; +let _ARM64_TLBI_VMALLE1 = 153;; +let _ARM64_TLBI_VMALLE1IS = 154;; +let _ARM64_TLBI_VMALLE1ISNXS = 155;; +let _ARM64_TLBI_VMALLE1NXS = 156;; +let _ARM64_TLBI_VMALLE1OS = 157;; +let _ARM64_TLBI_VMALLE1OSNXS = 158;; +let _ARM64_TLBI_VMALLS12E1 = 159;; +let _ARM64_TLBI_VMALLS12E1IS = 160;; +let _ARM64_TLBI_VMALLS12E1ISNXS = 161;; +let _ARM64_TLBI_VMALLS12E1NXS = 162;; +let _ARM64_TLBI_VMALLS12E1OS = 163;; +let _ARM64_TLBI_VMALLS12E1OSNXS = 164;; +let _ARM64_AT_S1E1R = 165;; +let _ARM64_AT_S1E2R = 166;; +let _ARM64_AT_S1E3R = 167;; +let _ARM64_AT_S1E1W = 168;; +let _ARM64_AT_S1E2W = 169;; +let _ARM64_AT_S1E3W = 170;; +let _ARM64_AT_S1E0R = 171;; +let _ARM64_AT_S1E0W = 172;; +let _ARM64_AT_S12E1R = 173;; +let _ARM64_AT_S12E1W = 174;; +let _ARM64_AT_S12E0R = 175;; +let _ARM64_AT_S12E0W = 176;; +let _ARM64_AT_S1E1RP = 177;; +let _ARM64_AT_S1E1WP = 178;; +let _ARM64_DC_CGDSW = 179;; +let _ARM64_DC_CGDVAC = 180;; +let _ARM64_DC_CGDVADP = 181;; +let _ARM64_DC_CGDVAP = 182;; +let _ARM64_DC_CGSW = 183;; +let _ARM64_DC_CGVAC = 184;; +let _ARM64_DC_CGVADP = 185;; +let _ARM64_DC_CGVAP = 186;; +let _ARM64_DC_CIGDSW = 187;; +let _ARM64_DC_CIGDVAC = 188;; +let _ARM64_DC_CIGSW = 189;; +let _ARM64_DC_CIGVAC = 190;; +let _ARM64_DC_CISW = 191;; +let _ARM64_DC_CIVAC = 192;; +let _ARM64_DC_CSW = 193;; +let _ARM64_DC_CVAC = 194;; +let _ARM64_DC_CVADP = 195;; +let _ARM64_DC_CVAP = 196;; +let _ARM64_DC_CVAU = 197;; +let _ARM64_DC_GVA = 198;; +let _ARM64_DC_GZVA = 199;; +let _ARM64_DC_IGDSW = 200;; +let _ARM64_DC_IGDVAC = 201;; +let _ARM64_DC_IGSW = 202;; +let _ARM64_DC_IGVAC = 203;; +let _ARM64_DC_ISW = 204;; +let _ARM64_DC_IVAC = 205;; +let _ARM64_DC_ZVA = 206;; +let _ARM64_IC_IALLUIS = 207;; +let _ARM64_IC_IALLU = 208;; +let _ARM64_IC_IVAU = 209;; -let _ARM64_TLBI_INVALID = 0;; -let _ARM64_TLBI_IPAS2E1IS = 1;; -let _ARM64_TLBI_IPAS2LE1IS = 2;; -let _ARM64_TLBI_VMALLE1IS = 3;; -let _ARM64_TLBI_ALLE2IS = 4;; -let _ARM64_TLBI_ALLE3IS = 5;; -let _ARM64_TLBI_VAE1IS = 6;; -let _ARM64_TLBI_VAE2IS = 7;; -let _ARM64_TLBI_VAE3IS = 8;; -let _ARM64_TLBI_ASIDE1IS = 9;; -let _ARM64_TLBI_VAAE1IS = 10;; -let _ARM64_TLBI_ALLE1IS = 11;; -let _ARM64_TLBI_VALE1IS = 12;; -let _ARM64_TLBI_VALE2IS = 13;; -let _ARM64_TLBI_VALE3IS = 14;; -let _ARM64_TLBI_VMALLS12E1IS = 15;; -let _ARM64_TLBI_VAALE1IS = 16;; -let _ARM64_TLBI_IPAS2E1 = 17;; -let _ARM64_TLBI_IPAS2LE1 = 18;; -let _ARM64_TLBI_VMALLE1 = 19;; -let _ARM64_TLBI_ALLE2 = 20;; -let _ARM64_TLBI_ALLE3 = 21;; -let _ARM64_TLBI_VAE1 = 22;; -let _ARM64_TLBI_VAE2 = 23;; -let _ARM64_TLBI_VAE3 = 24;; -let _ARM64_TLBI_ASIDE1 = 25;; -let _ARM64_TLBI_VAAE1 = 26;; -let _ARM64_TLBI_ALLE1 = 27;; -let _ARM64_TLBI_VALE1 = 28;; -let _ARM64_TLBI_VALE2 = 29;; -let _ARM64_TLBI_VALE3 = 30;; -let _ARM64_TLBI_VMALLS12E1 = 31;; -let _ARM64_TLBI_VAALE1 = 32;; -let _ARM64_TLBI_VMALLE1OS = 33;; -let _ARM64_TLBI_VAE1OS = 34;; -let _ARM64_TLBI_ASIDE1OS = 35;; -let _ARM64_TLBI_VAAE1OS = 36;; -let _ARM64_TLBI_VALE1OS = 37;; -let _ARM64_TLBI_VAALE1OS = 38;; -let _ARM64_TLBI_IPAS2E1OS = 39;; -let _ARM64_TLBI_IPAS2LE1OS = 40;; -let _ARM64_TLBI_VAE2OS = 41;; -let _ARM64_TLBI_VALE2OS = 42;; -let _ARM64_TLBI_VMALLS12E1OS = 43;; -let _ARM64_TLBI_VAE3OS = 44;; -let _ARM64_TLBI_VALE3OS = 45;; -let _ARM64_TLBI_ALLE2OS = 46;; -let _ARM64_TLBI_ALLE1OS = 47;; -let _ARM64_TLBI_ALLE3OS = 48;; -let _ARM64_TLBI_RVAE1 = 49;; -let _ARM64_TLBI_RVAAE1 = 50;; -let _ARM64_TLBI_RVALE1 = 51;; -let _ARM64_TLBI_RVAALE1 = 52;; -let _ARM64_TLBI_RVAE1IS = 53;; -let _ARM64_TLBI_RVAAE1IS = 54;; -let _ARM64_TLBI_RVALE1IS = 55;; -let _ARM64_TLBI_RVAALE1IS = 56;; -let _ARM64_TLBI_RVAE1OS = 57;; -let _ARM64_TLBI_RVAAE1OS = 58;; -let _ARM64_TLBI_RVALE1OS = 59;; -let _ARM64_TLBI_RVAALE1OS = 60;; -let _ARM64_TLBI_RIPAS2E1IS = 61;; -let _ARM64_TLBI_RIPAS2LE1IS = 62;; -let _ARM64_TLBI_RIPAS2E1 = 63;; -let _ARM64_TLBI_RIPAS2LE1 = 64;; -let _ARM64_TLBI_RIPAS2E1OS = 65;; -let _ARM64_TLBI_RIPAS2LE1OS = 66;; -let _ARM64_TLBI_RVAE2 = 67;; -let _ARM64_TLBI_RVALE2 = 68;; -let _ARM64_TLBI_RVAE2IS = 69;; -let _ARM64_TLBI_RVALE2IS = 70;; -let _ARM64_TLBI_RVAE2OS = 71;; -let _ARM64_TLBI_RVALE2OS = 72;; -let _ARM64_TLBI_RVAE3 = 73;; -let _ARM64_TLBI_RVALE3 = 74;; -let _ARM64_TLBI_RVAE3IS = 75;; -let _ARM64_TLBI_RVALE3IS = 76;; -let _ARM64_TLBI_RVAE3OS = 77;; -let _ARM64_TLBI_RVALE3OS = 78;; -let _ARM64_AT_S1E1R = 79;; -let _ARM64_AT_S1E2R = 80;; -let _ARM64_AT_S1E3R = 81;; -let _ARM64_AT_S1E1W = 82;; -let _ARM64_AT_S1E2W = 83;; -let _ARM64_AT_S1E3W = 84;; -let _ARM64_AT_S1E0R = 85;; -let _ARM64_AT_S1E0W = 86;; -let _ARM64_AT_S12E1R = 87;; -let _ARM64_AT_S12E1W = 88;; -let _ARM64_AT_S12E0R = 89;; -let _ARM64_AT_S12E0W = 90;; -let _ARM64_AT_S1E1RP = 91;; -let _ARM64_AT_S1E1WP = 92;; -let _ARM64_DC_ZVA = 93;; -let _ARM64_DC_IVAC = 94;; -let _ARM64_DC_ISW = 95;; -let _ARM64_DC_CVAC = 96;; -let _ARM64_DC_CSW = 97;; -let _ARM64_DC_CVAU = 98;; -let _ARM64_DC_CIVAC = 99;; -let _ARM64_DC_CISW = 100;; -let _ARM64_DC_CVAP = 101;; -let _ARM64_IC_INVALID = 102;; -let _ARM64_IC_IALLUIS = 103;; -let _ARM64_IC_IALLU = 104;; -let _ARM64_IC_IVAU = 105;; +let _ARM64_SVCR_INVALID = 0;; +let _ARM64_SVCR_SVCRSM = 0x1;; +let _ARM64_SVCR_SVCRSMZA = 0x3;; +let _ARM64_SVCR_SVCRZA = 0x2;; let _ARM64_PRFM_INVALID = 0;; let _ARM64_PRFM_PLDL1KEEP = 0x00+1;; @@ -958,310 +1335,343 @@ let _ARM64_REG_FP = 2;; let _ARM64_REG_LR = 3;; let _ARM64_REG_NZCV = 4;; let _ARM64_REG_SP = 5;; -let _ARM64_REG_WSP = 6;; -let _ARM64_REG_WZR = 7;; -let _ARM64_REG_XZR = 8;; -let _ARM64_REG_B0 = 9;; -let _ARM64_REG_B1 = 10;; -let _ARM64_REG_B2 = 11;; -let _ARM64_REG_B3 = 12;; -let _ARM64_REG_B4 = 13;; -let _ARM64_REG_B5 = 14;; -let _ARM64_REG_B6 = 15;; -let _ARM64_REG_B7 = 16;; -let _ARM64_REG_B8 = 17;; -let _ARM64_REG_B9 = 18;; -let _ARM64_REG_B10 = 19;; -let _ARM64_REG_B11 = 20;; -let _ARM64_REG_B12 = 21;; -let _ARM64_REG_B13 = 22;; -let _ARM64_REG_B14 = 23;; -let _ARM64_REG_B15 = 24;; -let _ARM64_REG_B16 = 25;; -let _ARM64_REG_B17 = 26;; -let _ARM64_REG_B18 = 27;; -let _ARM64_REG_B19 = 28;; -let _ARM64_REG_B20 = 29;; -let _ARM64_REG_B21 = 30;; -let _ARM64_REG_B22 = 31;; -let _ARM64_REG_B23 = 32;; -let _ARM64_REG_B24 = 33;; -let _ARM64_REG_B25 = 34;; -let _ARM64_REG_B26 = 35;; -let _ARM64_REG_B27 = 36;; -let _ARM64_REG_B28 = 37;; -let _ARM64_REG_B29 = 38;; -let _ARM64_REG_B30 = 39;; -let _ARM64_REG_B31 = 40;; -let _ARM64_REG_D0 = 41;; -let _ARM64_REG_D1 = 42;; -let _ARM64_REG_D2 = 43;; -let _ARM64_REG_D3 = 44;; -let _ARM64_REG_D4 = 45;; -let _ARM64_REG_D5 = 46;; -let _ARM64_REG_D6 = 47;; -let _ARM64_REG_D7 = 48;; -let _ARM64_REG_D8 = 49;; -let _ARM64_REG_D9 = 50;; -let _ARM64_REG_D10 = 51;; -let _ARM64_REG_D11 = 52;; -let _ARM64_REG_D12 = 53;; -let _ARM64_REG_D13 = 54;; -let _ARM64_REG_D14 = 55;; -let _ARM64_REG_D15 = 56;; -let _ARM64_REG_D16 = 57;; -let _ARM64_REG_D17 = 58;; -let _ARM64_REG_D18 = 59;; -let _ARM64_REG_D19 = 60;; -let _ARM64_REG_D20 = 61;; -let _ARM64_REG_D21 = 62;; -let _ARM64_REG_D22 = 63;; -let _ARM64_REG_D23 = 64;; -let _ARM64_REG_D24 = 65;; -let _ARM64_REG_D25 = 66;; -let _ARM64_REG_D26 = 67;; -let _ARM64_REG_D27 = 68;; -let _ARM64_REG_D28 = 69;; -let _ARM64_REG_D29 = 70;; -let _ARM64_REG_D30 = 71;; -let _ARM64_REG_D31 = 72;; -let _ARM64_REG_H0 = 73;; -let _ARM64_REG_H1 = 74;; -let _ARM64_REG_H2 = 75;; -let _ARM64_REG_H3 = 76;; -let _ARM64_REG_H4 = 77;; -let _ARM64_REG_H5 = 78;; -let _ARM64_REG_H6 = 79;; -let _ARM64_REG_H7 = 80;; -let _ARM64_REG_H8 = 81;; -let _ARM64_REG_H9 = 82;; -let _ARM64_REG_H10 = 83;; -let _ARM64_REG_H11 = 84;; -let _ARM64_REG_H12 = 85;; -let _ARM64_REG_H13 = 86;; -let _ARM64_REG_H14 = 87;; -let _ARM64_REG_H15 = 88;; -let _ARM64_REG_H16 = 89;; -let _ARM64_REG_H17 = 90;; -let _ARM64_REG_H18 = 91;; -let _ARM64_REG_H19 = 92;; -let _ARM64_REG_H20 = 93;; -let _ARM64_REG_H21 = 94;; -let _ARM64_REG_H22 = 95;; -let _ARM64_REG_H23 = 96;; -let _ARM64_REG_H24 = 97;; -let _ARM64_REG_H25 = 98;; -let _ARM64_REG_H26 = 99;; -let _ARM64_REG_H27 = 100;; -let _ARM64_REG_H28 = 101;; -let _ARM64_REG_H29 = 102;; -let _ARM64_REG_H30 = 103;; -let _ARM64_REG_H31 = 104;; -let _ARM64_REG_P0 = 105;; -let _ARM64_REG_P1 = 106;; -let _ARM64_REG_P2 = 107;; -let _ARM64_REG_P3 = 108;; -let _ARM64_REG_P4 = 109;; -let _ARM64_REG_P5 = 110;; -let _ARM64_REG_P6 = 111;; -let _ARM64_REG_P7 = 112;; -let _ARM64_REG_P8 = 113;; -let _ARM64_REG_P9 = 114;; -let _ARM64_REG_P10 = 115;; -let _ARM64_REG_P11 = 116;; -let _ARM64_REG_P12 = 117;; -let _ARM64_REG_P13 = 118;; -let _ARM64_REG_P14 = 119;; -let _ARM64_REG_P15 = 120;; -let _ARM64_REG_Q0 = 121;; -let _ARM64_REG_Q1 = 122;; -let _ARM64_REG_Q2 = 123;; -let _ARM64_REG_Q3 = 124;; -let _ARM64_REG_Q4 = 125;; -let _ARM64_REG_Q5 = 126;; -let _ARM64_REG_Q6 = 127;; -let _ARM64_REG_Q7 = 128;; -let _ARM64_REG_Q8 = 129;; -let _ARM64_REG_Q9 = 130;; -let _ARM64_REG_Q10 = 131;; -let _ARM64_REG_Q11 = 132;; -let _ARM64_REG_Q12 = 133;; -let _ARM64_REG_Q13 = 134;; -let _ARM64_REG_Q14 = 135;; -let _ARM64_REG_Q15 = 136;; -let _ARM64_REG_Q16 = 137;; -let _ARM64_REG_Q17 = 138;; -let _ARM64_REG_Q18 = 139;; -let _ARM64_REG_Q19 = 140;; -let _ARM64_REG_Q20 = 141;; -let _ARM64_REG_Q21 = 142;; -let _ARM64_REG_Q22 = 143;; -let _ARM64_REG_Q23 = 144;; -let _ARM64_REG_Q24 = 145;; -let _ARM64_REG_Q25 = 146;; -let _ARM64_REG_Q26 = 147;; -let _ARM64_REG_Q27 = 148;; -let _ARM64_REG_Q28 = 149;; -let _ARM64_REG_Q29 = 150;; -let _ARM64_REG_Q30 = 151;; -let _ARM64_REG_Q31 = 152;; -let _ARM64_REG_S0 = 153;; -let _ARM64_REG_S1 = 154;; -let _ARM64_REG_S2 = 155;; -let _ARM64_REG_S3 = 156;; -let _ARM64_REG_S4 = 157;; -let _ARM64_REG_S5 = 158;; -let _ARM64_REG_S6 = 159;; -let _ARM64_REG_S7 = 160;; -let _ARM64_REG_S8 = 161;; -let _ARM64_REG_S9 = 162;; -let _ARM64_REG_S10 = 163;; -let _ARM64_REG_S11 = 164;; -let _ARM64_REG_S12 = 165;; -let _ARM64_REG_S13 = 166;; -let _ARM64_REG_S14 = 167;; -let _ARM64_REG_S15 = 168;; -let _ARM64_REG_S16 = 169;; -let _ARM64_REG_S17 = 170;; -let _ARM64_REG_S18 = 171;; -let _ARM64_REG_S19 = 172;; -let _ARM64_REG_S20 = 173;; -let _ARM64_REG_S21 = 174;; -let _ARM64_REG_S22 = 175;; -let _ARM64_REG_S23 = 176;; -let _ARM64_REG_S24 = 177;; -let _ARM64_REG_S25 = 178;; -let _ARM64_REG_S26 = 179;; -let _ARM64_REG_S27 = 180;; -let _ARM64_REG_S28 = 181;; -let _ARM64_REG_S29 = 182;; -let _ARM64_REG_S30 = 183;; -let _ARM64_REG_S31 = 184;; -let _ARM64_REG_W0 = 185;; -let _ARM64_REG_W1 = 186;; -let _ARM64_REG_W2 = 187;; -let _ARM64_REG_W3 = 188;; -let _ARM64_REG_W4 = 189;; -let _ARM64_REG_W5 = 190;; -let _ARM64_REG_W6 = 191;; -let _ARM64_REG_W7 = 192;; -let _ARM64_REG_W8 = 193;; -let _ARM64_REG_W9 = 194;; -let _ARM64_REG_W10 = 195;; -let _ARM64_REG_W11 = 196;; -let _ARM64_REG_W12 = 197;; -let _ARM64_REG_W13 = 198;; -let _ARM64_REG_W14 = 199;; -let _ARM64_REG_W15 = 200;; -let _ARM64_REG_W16 = 201;; -let _ARM64_REG_W17 = 202;; -let _ARM64_REG_W18 = 203;; -let _ARM64_REG_W19 = 204;; -let _ARM64_REG_W20 = 205;; -let _ARM64_REG_W21 = 206;; -let _ARM64_REG_W22 = 207;; -let _ARM64_REG_W23 = 208;; -let _ARM64_REG_W24 = 209;; -let _ARM64_REG_W25 = 210;; -let _ARM64_REG_W26 = 211;; -let _ARM64_REG_W27 = 212;; -let _ARM64_REG_W28 = 213;; -let _ARM64_REG_W29 = 214;; -let _ARM64_REG_W30 = 215;; -let _ARM64_REG_X0 = 216;; -let _ARM64_REG_X1 = 217;; -let _ARM64_REG_X2 = 218;; -let _ARM64_REG_X3 = 219;; -let _ARM64_REG_X4 = 220;; -let _ARM64_REG_X5 = 221;; -let _ARM64_REG_X6 = 222;; -let _ARM64_REG_X7 = 223;; -let _ARM64_REG_X8 = 224;; -let _ARM64_REG_X9 = 225;; -let _ARM64_REG_X10 = 226;; -let _ARM64_REG_X11 = 227;; -let _ARM64_REG_X12 = 228;; -let _ARM64_REG_X13 = 229;; -let _ARM64_REG_X14 = 230;; -let _ARM64_REG_X15 = 231;; -let _ARM64_REG_X16 = 232;; -let _ARM64_REG_X17 = 233;; -let _ARM64_REG_X18 = 234;; -let _ARM64_REG_X19 = 235;; -let _ARM64_REG_X20 = 236;; -let _ARM64_REG_X21 = 237;; -let _ARM64_REG_X22 = 238;; -let _ARM64_REG_X23 = 239;; -let _ARM64_REG_X24 = 240;; -let _ARM64_REG_X25 = 241;; -let _ARM64_REG_X26 = 242;; -let _ARM64_REG_X27 = 243;; -let _ARM64_REG_X28 = 244;; -let _ARM64_REG_Z0 = 245;; -let _ARM64_REG_Z1 = 246;; -let _ARM64_REG_Z2 = 247;; -let _ARM64_REG_Z3 = 248;; -let _ARM64_REG_Z4 = 249;; -let _ARM64_REG_Z5 = 250;; -let _ARM64_REG_Z6 = 251;; -let _ARM64_REG_Z7 = 252;; -let _ARM64_REG_Z8 = 253;; -let _ARM64_REG_Z9 = 254;; -let _ARM64_REG_Z10 = 255;; -let _ARM64_REG_Z11 = 256;; -let _ARM64_REG_Z12 = 257;; -let _ARM64_REG_Z13 = 258;; -let _ARM64_REG_Z14 = 259;; -let _ARM64_REG_Z15 = 260;; -let _ARM64_REG_Z16 = 261;; -let _ARM64_REG_Z17 = 262;; -let _ARM64_REG_Z18 = 263;; -let _ARM64_REG_Z19 = 264;; -let _ARM64_REG_Z20 = 265;; -let _ARM64_REG_Z21 = 266;; -let _ARM64_REG_Z22 = 267;; -let _ARM64_REG_Z23 = 268;; -let _ARM64_REG_Z24 = 269;; -let _ARM64_REG_Z25 = 270;; -let _ARM64_REG_Z26 = 271;; -let _ARM64_REG_Z27 = 272;; -let _ARM64_REG_Z28 = 273;; -let _ARM64_REG_Z29 = 274;; -let _ARM64_REG_Z30 = 275;; -let _ARM64_REG_Z31 = 276;; -let _ARM64_REG_V0 = 277;; -let _ARM64_REG_V1 = 278;; -let _ARM64_REG_V2 = 279;; -let _ARM64_REG_V3 = 280;; -let _ARM64_REG_V4 = 281;; -let _ARM64_REG_V5 = 282;; -let _ARM64_REG_V6 = 283;; -let _ARM64_REG_V7 = 284;; -let _ARM64_REG_V8 = 285;; -let _ARM64_REG_V9 = 286;; -let _ARM64_REG_V10 = 287;; -let _ARM64_REG_V11 = 288;; -let _ARM64_REG_V12 = 289;; -let _ARM64_REG_V13 = 290;; -let _ARM64_REG_V14 = 291;; -let _ARM64_REG_V15 = 292;; -let _ARM64_REG_V16 = 293;; -let _ARM64_REG_V17 = 294;; -let _ARM64_REG_V18 = 295;; -let _ARM64_REG_V19 = 296;; -let _ARM64_REG_V20 = 297;; -let _ARM64_REG_V21 = 298;; -let _ARM64_REG_V22 = 299;; -let _ARM64_REG_V23 = 300;; -let _ARM64_REG_V24 = 301;; -let _ARM64_REG_V25 = 302;; -let _ARM64_REG_V26 = 303;; -let _ARM64_REG_V27 = 304;; -let _ARM64_REG_V28 = 305;; -let _ARM64_REG_V29 = 306;; -let _ARM64_REG_V30 = 307;; -let _ARM64_REG_V31 = 308;; -let _ARM64_REG_ENDING = 309;; +let _ARM64_REG_VG = 6;; +let _ARM64_REG_WSP = 7;; +let _ARM64_REG_WZR = 8;; +let _ARM64_REG_XZR = 9;; +let _ARM64_REG_ZA = 10;; +let _ARM64_REG_B0 = 11;; +let _ARM64_REG_B1 = 12;; +let _ARM64_REG_B2 = 13;; +let _ARM64_REG_B3 = 14;; +let _ARM64_REG_B4 = 15;; +let _ARM64_REG_B5 = 16;; +let _ARM64_REG_B6 = 17;; +let _ARM64_REG_B7 = 18;; +let _ARM64_REG_B8 = 19;; +let _ARM64_REG_B9 = 20;; +let _ARM64_REG_B10 = 21;; +let _ARM64_REG_B11 = 22;; +let _ARM64_REG_B12 = 23;; +let _ARM64_REG_B13 = 24;; +let _ARM64_REG_B14 = 25;; +let _ARM64_REG_B15 = 26;; +let _ARM64_REG_B16 = 27;; +let _ARM64_REG_B17 = 28;; +let _ARM64_REG_B18 = 29;; +let _ARM64_REG_B19 = 30;; +let _ARM64_REG_B20 = 31;; +let _ARM64_REG_B21 = 32;; +let _ARM64_REG_B22 = 33;; +let _ARM64_REG_B23 = 34;; +let _ARM64_REG_B24 = 35;; +let _ARM64_REG_B25 = 36;; +let _ARM64_REG_B26 = 37;; +let _ARM64_REG_B27 = 38;; +let _ARM64_REG_B28 = 39;; +let _ARM64_REG_B29 = 40;; +let _ARM64_REG_B30 = 41;; +let _ARM64_REG_B31 = 42;; +let _ARM64_REG_D0 = 43;; +let _ARM64_REG_D1 = 44;; +let _ARM64_REG_D2 = 45;; +let _ARM64_REG_D3 = 46;; +let _ARM64_REG_D4 = 47;; +let _ARM64_REG_D5 = 48;; +let _ARM64_REG_D6 = 49;; +let _ARM64_REG_D7 = 50;; +let _ARM64_REG_D8 = 51;; +let _ARM64_REG_D9 = 52;; +let _ARM64_REG_D10 = 53;; +let _ARM64_REG_D11 = 54;; +let _ARM64_REG_D12 = 55;; +let _ARM64_REG_D13 = 56;; +let _ARM64_REG_D14 = 57;; +let _ARM64_REG_D15 = 58;; +let _ARM64_REG_D16 = 59;; +let _ARM64_REG_D17 = 60;; +let _ARM64_REG_D18 = 61;; +let _ARM64_REG_D19 = 62;; +let _ARM64_REG_D20 = 63;; +let _ARM64_REG_D21 = 64;; +let _ARM64_REG_D22 = 65;; +let _ARM64_REG_D23 = 66;; +let _ARM64_REG_D24 = 67;; +let _ARM64_REG_D25 = 68;; +let _ARM64_REG_D26 = 69;; +let _ARM64_REG_D27 = 70;; +let _ARM64_REG_D28 = 71;; +let _ARM64_REG_D29 = 72;; +let _ARM64_REG_D30 = 73;; +let _ARM64_REG_D31 = 74;; +let _ARM64_REG_H0 = 75;; +let _ARM64_REG_H1 = 76;; +let _ARM64_REG_H2 = 77;; +let _ARM64_REG_H3 = 78;; +let _ARM64_REG_H4 = 79;; +let _ARM64_REG_H5 = 80;; +let _ARM64_REG_H6 = 81;; +let _ARM64_REG_H7 = 82;; +let _ARM64_REG_H8 = 83;; +let _ARM64_REG_H9 = 84;; +let _ARM64_REG_H10 = 85;; +let _ARM64_REG_H11 = 86;; +let _ARM64_REG_H12 = 87;; +let _ARM64_REG_H13 = 88;; +let _ARM64_REG_H14 = 89;; +let _ARM64_REG_H15 = 90;; +let _ARM64_REG_H16 = 91;; +let _ARM64_REG_H17 = 92;; +let _ARM64_REG_H18 = 93;; +let _ARM64_REG_H19 = 94;; +let _ARM64_REG_H20 = 95;; +let _ARM64_REG_H21 = 96;; +let _ARM64_REG_H22 = 97;; +let _ARM64_REG_H23 = 98;; +let _ARM64_REG_H24 = 99;; +let _ARM64_REG_H25 = 100;; +let _ARM64_REG_H26 = 101;; +let _ARM64_REG_H27 = 102;; +let _ARM64_REG_H28 = 103;; +let _ARM64_REG_H29 = 104;; +let _ARM64_REG_H30 = 105;; +let _ARM64_REG_H31 = 106;; +let _ARM64_REG_P0 = 107;; +let _ARM64_REG_P1 = 108;; +let _ARM64_REG_P2 = 109;; +let _ARM64_REG_P3 = 110;; +let _ARM64_REG_P4 = 111;; +let _ARM64_REG_P5 = 112;; +let _ARM64_REG_P6 = 113;; +let _ARM64_REG_P7 = 114;; +let _ARM64_REG_P8 = 115;; +let _ARM64_REG_P9 = 116;; +let _ARM64_REG_P10 = 117;; +let _ARM64_REG_P11 = 118;; +let _ARM64_REG_P12 = 119;; +let _ARM64_REG_P13 = 120;; +let _ARM64_REG_P14 = 121;; +let _ARM64_REG_P15 = 122;; +let _ARM64_REG_Q0 = 123;; +let _ARM64_REG_Q1 = 124;; +let _ARM64_REG_Q2 = 125;; +let _ARM64_REG_Q3 = 126;; +let _ARM64_REG_Q4 = 127;; +let _ARM64_REG_Q5 = 128;; +let _ARM64_REG_Q6 = 129;; +let _ARM64_REG_Q7 = 130;; +let _ARM64_REG_Q8 = 131;; +let _ARM64_REG_Q9 = 132;; +let _ARM64_REG_Q10 = 133;; +let _ARM64_REG_Q11 = 134;; +let _ARM64_REG_Q12 = 135;; +let _ARM64_REG_Q13 = 136;; +let _ARM64_REG_Q14 = 137;; +let _ARM64_REG_Q15 = 138;; +let _ARM64_REG_Q16 = 139;; +let _ARM64_REG_Q17 = 140;; +let _ARM64_REG_Q18 = 141;; +let _ARM64_REG_Q19 = 142;; +let _ARM64_REG_Q20 = 143;; +let _ARM64_REG_Q21 = 144;; +let _ARM64_REG_Q22 = 145;; +let _ARM64_REG_Q23 = 146;; +let _ARM64_REG_Q24 = 147;; +let _ARM64_REG_Q25 = 148;; +let _ARM64_REG_Q26 = 149;; +let _ARM64_REG_Q27 = 150;; +let _ARM64_REG_Q28 = 151;; +let _ARM64_REG_Q29 = 152;; +let _ARM64_REG_Q30 = 153;; +let _ARM64_REG_Q31 = 154;; +let _ARM64_REG_S0 = 155;; +let _ARM64_REG_S1 = 156;; +let _ARM64_REG_S2 = 157;; +let _ARM64_REG_S3 = 158;; +let _ARM64_REG_S4 = 159;; +let _ARM64_REG_S5 = 160;; +let _ARM64_REG_S6 = 161;; +let _ARM64_REG_S7 = 162;; +let _ARM64_REG_S8 = 163;; +let _ARM64_REG_S9 = 164;; +let _ARM64_REG_S10 = 165;; +let _ARM64_REG_S11 = 166;; +let _ARM64_REG_S12 = 167;; +let _ARM64_REG_S13 = 168;; +let _ARM64_REG_S14 = 169;; +let _ARM64_REG_S15 = 170;; +let _ARM64_REG_S16 = 171;; +let _ARM64_REG_S17 = 172;; +let _ARM64_REG_S18 = 173;; +let _ARM64_REG_S19 = 174;; +let _ARM64_REG_S20 = 175;; +let _ARM64_REG_S21 = 176;; +let _ARM64_REG_S22 = 177;; +let _ARM64_REG_S23 = 178;; +let _ARM64_REG_S24 = 179;; +let _ARM64_REG_S25 = 180;; +let _ARM64_REG_S26 = 181;; +let _ARM64_REG_S27 = 182;; +let _ARM64_REG_S28 = 183;; +let _ARM64_REG_S29 = 184;; +let _ARM64_REG_S30 = 185;; +let _ARM64_REG_S31 = 186;; +let _ARM64_REG_W0 = 187;; +let _ARM64_REG_W1 = 188;; +let _ARM64_REG_W2 = 189;; +let _ARM64_REG_W3 = 190;; +let _ARM64_REG_W4 = 191;; +let _ARM64_REG_W5 = 192;; +let _ARM64_REG_W6 = 193;; +let _ARM64_REG_W7 = 194;; +let _ARM64_REG_W8 = 195;; +let _ARM64_REG_W9 = 196;; +let _ARM64_REG_W10 = 197;; +let _ARM64_REG_W11 = 198;; +let _ARM64_REG_W12 = 199;; +let _ARM64_REG_W13 = 200;; +let _ARM64_REG_W14 = 201;; +let _ARM64_REG_W15 = 202;; +let _ARM64_REG_W16 = 203;; +let _ARM64_REG_W17 = 204;; +let _ARM64_REG_W18 = 205;; +let _ARM64_REG_W19 = 206;; +let _ARM64_REG_W20 = 207;; +let _ARM64_REG_W21 = 208;; +let _ARM64_REG_W22 = 209;; +let _ARM64_REG_W23 = 210;; +let _ARM64_REG_W24 = 211;; +let _ARM64_REG_W25 = 212;; +let _ARM64_REG_W26 = 213;; +let _ARM64_REG_W27 = 214;; +let _ARM64_REG_W28 = 215;; +let _ARM64_REG_W29 = 216;; +let _ARM64_REG_W30 = 217;; +let _ARM64_REG_X0 = 218;; +let _ARM64_REG_X1 = 219;; +let _ARM64_REG_X2 = 220;; +let _ARM64_REG_X3 = 221;; +let _ARM64_REG_X4 = 222;; +let _ARM64_REG_X5 = 223;; +let _ARM64_REG_X6 = 224;; +let _ARM64_REG_X7 = 225;; +let _ARM64_REG_X8 = 226;; +let _ARM64_REG_X9 = 227;; +let _ARM64_REG_X10 = 228;; +let _ARM64_REG_X11 = 229;; +let _ARM64_REG_X12 = 230;; +let _ARM64_REG_X13 = 231;; +let _ARM64_REG_X14 = 232;; +let _ARM64_REG_X15 = 233;; +let _ARM64_REG_X16 = 234;; +let _ARM64_REG_X17 = 235;; +let _ARM64_REG_X18 = 236;; +let _ARM64_REG_X19 = 237;; +let _ARM64_REG_X20 = 238;; +let _ARM64_REG_X21 = 239;; +let _ARM64_REG_X22 = 240;; +let _ARM64_REG_X23 = 241;; +let _ARM64_REG_X24 = 242;; +let _ARM64_REG_X25 = 243;; +let _ARM64_REG_X26 = 244;; +let _ARM64_REG_X27 = 245;; +let _ARM64_REG_X28 = 246;; +let _ARM64_REG_Z0 = 247;; +let _ARM64_REG_Z1 = 248;; +let _ARM64_REG_Z2 = 249;; +let _ARM64_REG_Z3 = 250;; +let _ARM64_REG_Z4 = 251;; +let _ARM64_REG_Z5 = 252;; +let _ARM64_REG_Z6 = 253;; +let _ARM64_REG_Z7 = 254;; +let _ARM64_REG_Z8 = 255;; +let _ARM64_REG_Z9 = 256;; +let _ARM64_REG_Z10 = 257;; +let _ARM64_REG_Z11 = 258;; +let _ARM64_REG_Z12 = 259;; +let _ARM64_REG_Z13 = 260;; +let _ARM64_REG_Z14 = 261;; +let _ARM64_REG_Z15 = 262;; +let _ARM64_REG_Z16 = 263;; +let _ARM64_REG_Z17 = 264;; +let _ARM64_REG_Z18 = 265;; +let _ARM64_REG_Z19 = 266;; +let _ARM64_REG_Z20 = 267;; +let _ARM64_REG_Z21 = 268;; +let _ARM64_REG_Z22 = 269;; +let _ARM64_REG_Z23 = 270;; +let _ARM64_REG_Z24 = 271;; +let _ARM64_REG_Z25 = 272;; +let _ARM64_REG_Z26 = 273;; +let _ARM64_REG_Z27 = 274;; +let _ARM64_REG_Z28 = 275;; +let _ARM64_REG_Z29 = 276;; +let _ARM64_REG_Z30 = 277;; +let _ARM64_REG_Z31 = 278;; +let _ARM64_REG_ZAB0 = 279;; +let _ARM64_REG_ZAD0 = 280;; +let _ARM64_REG_ZAD1 = 281;; +let _ARM64_REG_ZAD2 = 282;; +let _ARM64_REG_ZAD3 = 283;; +let _ARM64_REG_ZAD4 = 284;; +let _ARM64_REG_ZAD5 = 285;; +let _ARM64_REG_ZAD6 = 286;; +let _ARM64_REG_ZAD7 = 287;; +let _ARM64_REG_ZAH0 = 288;; +let _ARM64_REG_ZAH1 = 289;; +let _ARM64_REG_ZAQ0 = 290;; +let _ARM64_REG_ZAQ1 = 291;; +let _ARM64_REG_ZAQ2 = 292;; +let _ARM64_REG_ZAQ3 = 293;; +let _ARM64_REG_ZAQ4 = 294;; +let _ARM64_REG_ZAQ5 = 295;; +let _ARM64_REG_ZAQ6 = 296;; +let _ARM64_REG_ZAQ7 = 297;; +let _ARM64_REG_ZAQ8 = 298;; +let _ARM64_REG_ZAQ9 = 299;; +let _ARM64_REG_ZAQ10 = 300;; +let _ARM64_REG_ZAQ11 = 301;; +let _ARM64_REG_ZAQ12 = 302;; +let _ARM64_REG_ZAQ13 = 303;; +let _ARM64_REG_ZAQ14 = 304;; +let _ARM64_REG_ZAQ15 = 305;; +let _ARM64_REG_ZAS0 = 306;; +let _ARM64_REG_ZAS1 = 307;; +let _ARM64_REG_ZAS2 = 308;; +let _ARM64_REG_ZAS3 = 309;; +let _ARM64_REG_V0 = 310;; +let _ARM64_REG_V1 = 311;; +let _ARM64_REG_V2 = 312;; +let _ARM64_REG_V3 = 313;; +let _ARM64_REG_V4 = 314;; +let _ARM64_REG_V5 = 315;; +let _ARM64_REG_V6 = 316;; +let _ARM64_REG_V7 = 317;; +let _ARM64_REG_V8 = 318;; +let _ARM64_REG_V9 = 319;; +let _ARM64_REG_V10 = 320;; +let _ARM64_REG_V11 = 321;; +let _ARM64_REG_V12 = 322;; +let _ARM64_REG_V13 = 323;; +let _ARM64_REG_V14 = 324;; +let _ARM64_REG_V15 = 325;; +let _ARM64_REG_V16 = 326;; +let _ARM64_REG_V17 = 327;; +let _ARM64_REG_V18 = 328;; +let _ARM64_REG_V19 = 329;; +let _ARM64_REG_V20 = 330;; +let _ARM64_REG_V21 = 331;; +let _ARM64_REG_V22 = 332;; +let _ARM64_REG_V23 = 333;; +let _ARM64_REG_V24 = 334;; +let _ARM64_REG_V25 = 335;; +let _ARM64_REG_V26 = 336;; +let _ARM64_REG_V27 = 337;; +let _ARM64_REG_V28 = 338;; +let _ARM64_REG_V29 = 339;; +let _ARM64_REG_V30 = 340;; +let _ARM64_REG_V31 = 341;; +let _ARM64_REG_ENDING = 342;; let _ARM64_REG_IP0 = _ARM64_REG_X16;; let _ARM64_REG_IP1 = _ARM64_REG_X17;; let _ARM64_REG_X29 = _ARM64_REG_FP;; @@ -1270,954 +1680,1293 @@ let _ARM64_REG_X30 = _ARM64_REG_LR;; let _ARM64_INS_INVALID = 0;; let _ARM64_INS_ABS = 1;; let _ARM64_INS_ADC = 2;; -let _ARM64_INS_ADCS = 3;; -let _ARM64_INS_ADD = 4;; -let _ARM64_INS_ADDHN = 5;; -let _ARM64_INS_ADDHN2 = 6;; -let _ARM64_INS_ADDP = 7;; -let _ARM64_INS_ADDPL = 8;; -let _ARM64_INS_ADDS = 9;; -let _ARM64_INS_ADDV = 10;; -let _ARM64_INS_ADDVL = 11;; -let _ARM64_INS_ADR = 12;; -let _ARM64_INS_ADRP = 13;; -let _ARM64_INS_AESD = 14;; -let _ARM64_INS_AESE = 15;; -let _ARM64_INS_AESIMC = 16;; -let _ARM64_INS_AESMC = 17;; -let _ARM64_INS_AND = 18;; -let _ARM64_INS_ANDS = 19;; -let _ARM64_INS_ANDV = 20;; -let _ARM64_INS_ASR = 21;; -let _ARM64_INS_ASRD = 22;; -let _ARM64_INS_ASRR = 23;; -let _ARM64_INS_ASRV = 24;; -let _ARM64_INS_AUTDA = 25;; -let _ARM64_INS_AUTDB = 26;; -let _ARM64_INS_AUTDZA = 27;; -let _ARM64_INS_AUTDZB = 28;; -let _ARM64_INS_AUTIA = 29;; -let _ARM64_INS_AUTIA1716 = 30;; -let _ARM64_INS_AUTIASP = 31;; -let _ARM64_INS_AUTIAZ = 32;; -let _ARM64_INS_AUTIB = 33;; -let _ARM64_INS_AUTIB1716 = 34;; -let _ARM64_INS_AUTIBSP = 35;; -let _ARM64_INS_AUTIBZ = 36;; -let _ARM64_INS_AUTIZA = 37;; -let _ARM64_INS_AUTIZB = 38;; -let _ARM64_INS_B = 39;; -let _ARM64_INS_BCAX = 40;; -let _ARM64_INS_BFM = 41;; -let _ARM64_INS_BIC = 42;; -let _ARM64_INS_BICS = 43;; -let _ARM64_INS_BIF = 44;; -let _ARM64_INS_BIT = 45;; -let _ARM64_INS_BL = 46;; -let _ARM64_INS_BLR = 47;; -let _ARM64_INS_BLRAA = 48;; -let _ARM64_INS_BLRAAZ = 49;; -let _ARM64_INS_BLRAB = 50;; -let _ARM64_INS_BLRABZ = 51;; -let _ARM64_INS_BR = 52;; -let _ARM64_INS_BRAA = 53;; -let _ARM64_INS_BRAAZ = 54;; -let _ARM64_INS_BRAB = 55;; -let _ARM64_INS_BRABZ = 56;; -let _ARM64_INS_BRK = 57;; -let _ARM64_INS_BRKA = 58;; -let _ARM64_INS_BRKAS = 59;; -let _ARM64_INS_BRKB = 60;; -let _ARM64_INS_BRKBS = 61;; -let _ARM64_INS_BRKN = 62;; -let _ARM64_INS_BRKNS = 63;; -let _ARM64_INS_BRKPA = 64;; -let _ARM64_INS_BRKPAS = 65;; -let _ARM64_INS_BRKPB = 66;; -let _ARM64_INS_BRKPBS = 67;; -let _ARM64_INS_BSL = 68;; -let _ARM64_INS_CAS = 69;; -let _ARM64_INS_CASA = 70;; -let _ARM64_INS_CASAB = 71;; -let _ARM64_INS_CASAH = 72;; -let _ARM64_INS_CASAL = 73;; -let _ARM64_INS_CASALB = 74;; -let _ARM64_INS_CASALH = 75;; -let _ARM64_INS_CASB = 76;; -let _ARM64_INS_CASH = 77;; -let _ARM64_INS_CASL = 78;; -let _ARM64_INS_CASLB = 79;; -let _ARM64_INS_CASLH = 80;; -let _ARM64_INS_CASP = 81;; -let _ARM64_INS_CASPA = 82;; -let _ARM64_INS_CASPAL = 83;; -let _ARM64_INS_CASPL = 84;; -let _ARM64_INS_CBNZ = 85;; -let _ARM64_INS_CBZ = 86;; -let _ARM64_INS_CCMN = 87;; -let _ARM64_INS_CCMP = 88;; -let _ARM64_INS_CFINV = 89;; -let _ARM64_INS_CINC = 90;; -let _ARM64_INS_CINV = 91;; -let _ARM64_INS_CLASTA = 92;; -let _ARM64_INS_CLASTB = 93;; -let _ARM64_INS_CLREX = 94;; -let _ARM64_INS_CLS = 95;; -let _ARM64_INS_CLZ = 96;; -let _ARM64_INS_CMEQ = 97;; -let _ARM64_INS_CMGE = 98;; -let _ARM64_INS_CMGT = 99;; -let _ARM64_INS_CMHI = 100;; -let _ARM64_INS_CMHS = 101;; -let _ARM64_INS_CMLE = 102;; -let _ARM64_INS_CMLO = 103;; -let _ARM64_INS_CMLS = 104;; -let _ARM64_INS_CMLT = 105;; -let _ARM64_INS_CMN = 106;; -let _ARM64_INS_CMP = 107;; -let _ARM64_INS_CMPEQ = 108;; -let _ARM64_INS_CMPGE = 109;; -let _ARM64_INS_CMPGT = 110;; -let _ARM64_INS_CMPHI = 111;; -let _ARM64_INS_CMPHS = 112;; -let _ARM64_INS_CMPLE = 113;; -let _ARM64_INS_CMPLO = 114;; -let _ARM64_INS_CMPLS = 115;; -let _ARM64_INS_CMPLT = 116;; -let _ARM64_INS_CMPNE = 117;; -let _ARM64_INS_CMTST = 118;; -let _ARM64_INS_CNEG = 119;; -let _ARM64_INS_CNOT = 120;; -let _ARM64_INS_CNT = 121;; -let _ARM64_INS_CNTB = 122;; -let _ARM64_INS_CNTD = 123;; -let _ARM64_INS_CNTH = 124;; -let _ARM64_INS_CNTP = 125;; -let _ARM64_INS_CNTW = 126;; -let _ARM64_INS_COMPACT = 127;; -let _ARM64_INS_CPY = 128;; -let _ARM64_INS_CRC32B = 129;; -let _ARM64_INS_CRC32CB = 130;; -let _ARM64_INS_CRC32CH = 131;; -let _ARM64_INS_CRC32CW = 132;; -let _ARM64_INS_CRC32CX = 133;; -let _ARM64_INS_CRC32H = 134;; -let _ARM64_INS_CRC32W = 135;; -let _ARM64_INS_CRC32X = 136;; -let _ARM64_INS_CSDB = 137;; -let _ARM64_INS_CSEL = 138;; -let _ARM64_INS_CSET = 139;; -let _ARM64_INS_CSETM = 140;; -let _ARM64_INS_CSINC = 141;; -let _ARM64_INS_CSINV = 142;; -let _ARM64_INS_CSNEG = 143;; -let _ARM64_INS_CTERMEQ = 144;; -let _ARM64_INS_CTERMNE = 145;; -let _ARM64_INS_DCPS1 = 146;; -let _ARM64_INS_DCPS2 = 147;; -let _ARM64_INS_DCPS3 = 148;; -let _ARM64_INS_DECB = 149;; -let _ARM64_INS_DECD = 150;; -let _ARM64_INS_DECH = 151;; -let _ARM64_INS_DECP = 152;; -let _ARM64_INS_DECW = 153;; -let _ARM64_INS_DMB = 154;; -let _ARM64_INS_DRPS = 155;; -let _ARM64_INS_DSB = 156;; -let _ARM64_INS_DUP = 157;; -let _ARM64_INS_DUPM = 158;; -let _ARM64_INS_EON = 159;; -let _ARM64_INS_EOR = 160;; -let _ARM64_INS_EOR3 = 161;; -let _ARM64_INS_EORS = 162;; -let _ARM64_INS_EORV = 163;; -let _ARM64_INS_ERET = 164;; -let _ARM64_INS_ERETAA = 165;; -let _ARM64_INS_ERETAB = 166;; -let _ARM64_INS_ESB = 167;; -let _ARM64_INS_EXT = 168;; -let _ARM64_INS_EXTR = 169;; -let _ARM64_INS_FABD = 170;; -let _ARM64_INS_FABS = 171;; -let _ARM64_INS_FACGE = 172;; -let _ARM64_INS_FACGT = 173;; -let _ARM64_INS_FACLE = 174;; -let _ARM64_INS_FACLT = 175;; -let _ARM64_INS_FADD = 176;; -let _ARM64_INS_FADDA = 177;; -let _ARM64_INS_FADDP = 178;; -let _ARM64_INS_FADDV = 179;; -let _ARM64_INS_FCADD = 180;; -let _ARM64_INS_FCCMP = 181;; -let _ARM64_INS_FCCMPE = 182;; -let _ARM64_INS_FCMEQ = 183;; -let _ARM64_INS_FCMGE = 184;; -let _ARM64_INS_FCMGT = 185;; -let _ARM64_INS_FCMLA = 186;; -let _ARM64_INS_FCMLE = 187;; -let _ARM64_INS_FCMLT = 188;; -let _ARM64_INS_FCMNE = 189;; -let _ARM64_INS_FCMP = 190;; -let _ARM64_INS_FCMPE = 191;; -let _ARM64_INS_FCMUO = 192;; -let _ARM64_INS_FCPY = 193;; -let _ARM64_INS_FCSEL = 194;; -let _ARM64_INS_FCVT = 195;; -let _ARM64_INS_FCVTAS = 196;; -let _ARM64_INS_FCVTAU = 197;; -let _ARM64_INS_FCVTL = 198;; -let _ARM64_INS_FCVTL2 = 199;; -let _ARM64_INS_FCVTMS = 200;; -let _ARM64_INS_FCVTMU = 201;; -let _ARM64_INS_FCVTN = 202;; -let _ARM64_INS_FCVTN2 = 203;; -let _ARM64_INS_FCVTNS = 204;; -let _ARM64_INS_FCVTNU = 205;; -let _ARM64_INS_FCVTPS = 206;; -let _ARM64_INS_FCVTPU = 207;; -let _ARM64_INS_FCVTXN = 208;; -let _ARM64_INS_FCVTXN2 = 209;; -let _ARM64_INS_FCVTZS = 210;; -let _ARM64_INS_FCVTZU = 211;; -let _ARM64_INS_FDIV = 212;; -let _ARM64_INS_FDIVR = 213;; -let _ARM64_INS_FDUP = 214;; -let _ARM64_INS_FEXPA = 215;; -let _ARM64_INS_FJCVTZS = 216;; -let _ARM64_INS_FMAD = 217;; -let _ARM64_INS_FMADD = 218;; -let _ARM64_INS_FMAX = 219;; -let _ARM64_INS_FMAXNM = 220;; -let _ARM64_INS_FMAXNMP = 221;; -let _ARM64_INS_FMAXNMV = 222;; -let _ARM64_INS_FMAXP = 223;; -let _ARM64_INS_FMAXV = 224;; -let _ARM64_INS_FMIN = 225;; -let _ARM64_INS_FMINNM = 226;; -let _ARM64_INS_FMINNMP = 227;; -let _ARM64_INS_FMINNMV = 228;; -let _ARM64_INS_FMINP = 229;; -let _ARM64_INS_FMINV = 230;; -let _ARM64_INS_FMLA = 231;; -let _ARM64_INS_FMLS = 232;; -let _ARM64_INS_FMOV = 233;; -let _ARM64_INS_FMSB = 234;; -let _ARM64_INS_FMSUB = 235;; -let _ARM64_INS_FMUL = 236;; -let _ARM64_INS_FMULX = 237;; -let _ARM64_INS_FNEG = 238;; -let _ARM64_INS_FNMAD = 239;; -let _ARM64_INS_FNMADD = 240;; -let _ARM64_INS_FNMLA = 241;; -let _ARM64_INS_FNMLS = 242;; -let _ARM64_INS_FNMSB = 243;; -let _ARM64_INS_FNMSUB = 244;; -let _ARM64_INS_FNMUL = 245;; -let _ARM64_INS_FRECPE = 246;; -let _ARM64_INS_FRECPS = 247;; -let _ARM64_INS_FRECPX = 248;; -let _ARM64_INS_FRINTA = 249;; -let _ARM64_INS_FRINTI = 250;; -let _ARM64_INS_FRINTM = 251;; -let _ARM64_INS_FRINTN = 252;; -let _ARM64_INS_FRINTP = 253;; -let _ARM64_INS_FRINTX = 254;; -let _ARM64_INS_FRINTZ = 255;; -let _ARM64_INS_FRSQRTE = 256;; -let _ARM64_INS_FRSQRTS = 257;; -let _ARM64_INS_FSCALE = 258;; -let _ARM64_INS_FSQRT = 259;; -let _ARM64_INS_FSUB = 260;; -let _ARM64_INS_FSUBR = 261;; -let _ARM64_INS_FTMAD = 262;; -let _ARM64_INS_FTSMUL = 263;; -let _ARM64_INS_FTSSEL = 264;; -let _ARM64_INS_HINT = 265;; -let _ARM64_INS_HLT = 266;; -let _ARM64_INS_HVC = 267;; -let _ARM64_INS_INCB = 268;; -let _ARM64_INS_INCD = 269;; -let _ARM64_INS_INCH = 270;; -let _ARM64_INS_INCP = 271;; -let _ARM64_INS_INCW = 272;; -let _ARM64_INS_INDEX = 273;; -let _ARM64_INS_INS = 274;; -let _ARM64_INS_INSR = 275;; -let _ARM64_INS_ISB = 276;; -let _ARM64_INS_LASTA = 277;; -let _ARM64_INS_LASTB = 278;; -let _ARM64_INS_LD1 = 279;; -let _ARM64_INS_LD1B = 280;; -let _ARM64_INS_LD1D = 281;; -let _ARM64_INS_LD1H = 282;; -let _ARM64_INS_LD1R = 283;; -let _ARM64_INS_LD1RB = 284;; -let _ARM64_INS_LD1RD = 285;; -let _ARM64_INS_LD1RH = 286;; -let _ARM64_INS_LD1RQB = 287;; -let _ARM64_INS_LD1RQD = 288;; -let _ARM64_INS_LD1RQH = 289;; -let _ARM64_INS_LD1RQW = 290;; -let _ARM64_INS_LD1RSB = 291;; -let _ARM64_INS_LD1RSH = 292;; -let _ARM64_INS_LD1RSW = 293;; -let _ARM64_INS_LD1RW = 294;; -let _ARM64_INS_LD1SB = 295;; -let _ARM64_INS_LD1SH = 296;; -let _ARM64_INS_LD1SW = 297;; -let _ARM64_INS_LD1W = 298;; -let _ARM64_INS_LD2 = 299;; -let _ARM64_INS_LD2B = 300;; -let _ARM64_INS_LD2D = 301;; -let _ARM64_INS_LD2H = 302;; -let _ARM64_INS_LD2R = 303;; -let _ARM64_INS_LD2W = 304;; -let _ARM64_INS_LD3 = 305;; -let _ARM64_INS_LD3B = 306;; -let _ARM64_INS_LD3D = 307;; -let _ARM64_INS_LD3H = 308;; -let _ARM64_INS_LD3R = 309;; -let _ARM64_INS_LD3W = 310;; -let _ARM64_INS_LD4 = 311;; -let _ARM64_INS_LD4B = 312;; -let _ARM64_INS_LD4D = 313;; -let _ARM64_INS_LD4H = 314;; -let _ARM64_INS_LD4R = 315;; -let _ARM64_INS_LD4W = 316;; -let _ARM64_INS_LDADD = 317;; -let _ARM64_INS_LDADDA = 318;; -let _ARM64_INS_LDADDAB = 319;; -let _ARM64_INS_LDADDAH = 320;; -let _ARM64_INS_LDADDAL = 321;; -let _ARM64_INS_LDADDALB = 322;; -let _ARM64_INS_LDADDALH = 323;; -let _ARM64_INS_LDADDB = 324;; -let _ARM64_INS_LDADDH = 325;; -let _ARM64_INS_LDADDL = 326;; -let _ARM64_INS_LDADDLB = 327;; -let _ARM64_INS_LDADDLH = 328;; -let _ARM64_INS_LDAPR = 329;; -let _ARM64_INS_LDAPRB = 330;; -let _ARM64_INS_LDAPRH = 331;; -let _ARM64_INS_LDAPUR = 332;; -let _ARM64_INS_LDAPURB = 333;; -let _ARM64_INS_LDAPURH = 334;; -let _ARM64_INS_LDAPURSB = 335;; -let _ARM64_INS_LDAPURSH = 336;; -let _ARM64_INS_LDAPURSW = 337;; -let _ARM64_INS_LDAR = 338;; -let _ARM64_INS_LDARB = 339;; -let _ARM64_INS_LDARH = 340;; -let _ARM64_INS_LDAXP = 341;; -let _ARM64_INS_LDAXR = 342;; -let _ARM64_INS_LDAXRB = 343;; -let _ARM64_INS_LDAXRH = 344;; -let _ARM64_INS_LDCLR = 345;; -let _ARM64_INS_LDCLRA = 346;; -let _ARM64_INS_LDCLRAB = 347;; -let _ARM64_INS_LDCLRAH = 348;; -let _ARM64_INS_LDCLRAL = 349;; -let _ARM64_INS_LDCLRALB = 350;; -let _ARM64_INS_LDCLRALH = 351;; -let _ARM64_INS_LDCLRB = 352;; -let _ARM64_INS_LDCLRH = 353;; -let _ARM64_INS_LDCLRL = 354;; -let _ARM64_INS_LDCLRLB = 355;; -let _ARM64_INS_LDCLRLH = 356;; -let _ARM64_INS_LDEOR = 357;; -let _ARM64_INS_LDEORA = 358;; -let _ARM64_INS_LDEORAB = 359;; -let _ARM64_INS_LDEORAH = 360;; -let _ARM64_INS_LDEORAL = 361;; -let _ARM64_INS_LDEORALB = 362;; -let _ARM64_INS_LDEORALH = 363;; -let _ARM64_INS_LDEORB = 364;; -let _ARM64_INS_LDEORH = 365;; -let _ARM64_INS_LDEORL = 366;; -let _ARM64_INS_LDEORLB = 367;; -let _ARM64_INS_LDEORLH = 368;; -let _ARM64_INS_LDFF1B = 369;; -let _ARM64_INS_LDFF1D = 370;; -let _ARM64_INS_LDFF1H = 371;; -let _ARM64_INS_LDFF1SB = 372;; -let _ARM64_INS_LDFF1SH = 373;; -let _ARM64_INS_LDFF1SW = 374;; -let _ARM64_INS_LDFF1W = 375;; -let _ARM64_INS_LDLAR = 376;; -let _ARM64_INS_LDLARB = 377;; -let _ARM64_INS_LDLARH = 378;; -let _ARM64_INS_LDNF1B = 379;; -let _ARM64_INS_LDNF1D = 380;; -let _ARM64_INS_LDNF1H = 381;; -let _ARM64_INS_LDNF1SB = 382;; -let _ARM64_INS_LDNF1SH = 383;; -let _ARM64_INS_LDNF1SW = 384;; -let _ARM64_INS_LDNF1W = 385;; -let _ARM64_INS_LDNP = 386;; -let _ARM64_INS_LDNT1B = 387;; -let _ARM64_INS_LDNT1D = 388;; -let _ARM64_INS_LDNT1H = 389;; -let _ARM64_INS_LDNT1W = 390;; -let _ARM64_INS_LDP = 391;; -let _ARM64_INS_LDPSW = 392;; -let _ARM64_INS_LDR = 393;; -let _ARM64_INS_LDRAA = 394;; -let _ARM64_INS_LDRAB = 395;; -let _ARM64_INS_LDRB = 396;; -let _ARM64_INS_LDRH = 397;; -let _ARM64_INS_LDRSB = 398;; -let _ARM64_INS_LDRSH = 399;; -let _ARM64_INS_LDRSW = 400;; -let _ARM64_INS_LDSET = 401;; -let _ARM64_INS_LDSETA = 402;; -let _ARM64_INS_LDSETAB = 403;; -let _ARM64_INS_LDSETAH = 404;; -let _ARM64_INS_LDSETAL = 405;; -let _ARM64_INS_LDSETALB = 406;; -let _ARM64_INS_LDSETALH = 407;; -let _ARM64_INS_LDSETB = 408;; -let _ARM64_INS_LDSETH = 409;; -let _ARM64_INS_LDSETL = 410;; -let _ARM64_INS_LDSETLB = 411;; -let _ARM64_INS_LDSETLH = 412;; -let _ARM64_INS_LDSMAX = 413;; -let _ARM64_INS_LDSMAXA = 414;; -let _ARM64_INS_LDSMAXAB = 415;; -let _ARM64_INS_LDSMAXAH = 416;; -let _ARM64_INS_LDSMAXAL = 417;; -let _ARM64_INS_LDSMAXALB = 418;; -let _ARM64_INS_LDSMAXALH = 419;; -let _ARM64_INS_LDSMAXB = 420;; -let _ARM64_INS_LDSMAXH = 421;; -let _ARM64_INS_LDSMAXL = 422;; -let _ARM64_INS_LDSMAXLB = 423;; -let _ARM64_INS_LDSMAXLH = 424;; -let _ARM64_INS_LDSMIN = 425;; -let _ARM64_INS_LDSMINA = 426;; -let _ARM64_INS_LDSMINAB = 427;; -let _ARM64_INS_LDSMINAH = 428;; -let _ARM64_INS_LDSMINAL = 429;; -let _ARM64_INS_LDSMINALB = 430;; -let _ARM64_INS_LDSMINALH = 431;; -let _ARM64_INS_LDSMINB = 432;; -let _ARM64_INS_LDSMINH = 433;; -let _ARM64_INS_LDSMINL = 434;; -let _ARM64_INS_LDSMINLB = 435;; -let _ARM64_INS_LDSMINLH = 436;; -let _ARM64_INS_LDTR = 437;; -let _ARM64_INS_LDTRB = 438;; -let _ARM64_INS_LDTRH = 439;; -let _ARM64_INS_LDTRSB = 440;; -let _ARM64_INS_LDTRSH = 441;; -let _ARM64_INS_LDTRSW = 442;; -let _ARM64_INS_LDUMAX = 443;; -let _ARM64_INS_LDUMAXA = 444;; -let _ARM64_INS_LDUMAXAB = 445;; -let _ARM64_INS_LDUMAXAH = 446;; -let _ARM64_INS_LDUMAXAL = 447;; -let _ARM64_INS_LDUMAXALB = 448;; -let _ARM64_INS_LDUMAXALH = 449;; -let _ARM64_INS_LDUMAXB = 450;; -let _ARM64_INS_LDUMAXH = 451;; -let _ARM64_INS_LDUMAXL = 452;; -let _ARM64_INS_LDUMAXLB = 453;; -let _ARM64_INS_LDUMAXLH = 454;; -let _ARM64_INS_LDUMIN = 455;; -let _ARM64_INS_LDUMINA = 456;; -let _ARM64_INS_LDUMINAB = 457;; -let _ARM64_INS_LDUMINAH = 458;; -let _ARM64_INS_LDUMINAL = 459;; -let _ARM64_INS_LDUMINALB = 460;; -let _ARM64_INS_LDUMINALH = 461;; -let _ARM64_INS_LDUMINB = 462;; -let _ARM64_INS_LDUMINH = 463;; -let _ARM64_INS_LDUMINL = 464;; -let _ARM64_INS_LDUMINLB = 465;; -let _ARM64_INS_LDUMINLH = 466;; -let _ARM64_INS_LDUR = 467;; -let _ARM64_INS_LDURB = 468;; -let _ARM64_INS_LDURH = 469;; -let _ARM64_INS_LDURSB = 470;; -let _ARM64_INS_LDURSH = 471;; -let _ARM64_INS_LDURSW = 472;; -let _ARM64_INS_LDXP = 473;; -let _ARM64_INS_LDXR = 474;; -let _ARM64_INS_LDXRB = 475;; -let _ARM64_INS_LDXRH = 476;; -let _ARM64_INS_LSL = 477;; -let _ARM64_INS_LSLR = 478;; -let _ARM64_INS_LSLV = 479;; -let _ARM64_INS_LSR = 480;; -let _ARM64_INS_LSRR = 481;; -let _ARM64_INS_LSRV = 482;; -let _ARM64_INS_MAD = 483;; -let _ARM64_INS_MADD = 484;; -let _ARM64_INS_MLA = 485;; -let _ARM64_INS_MLS = 486;; -let _ARM64_INS_MNEG = 487;; -let _ARM64_INS_MOV = 488;; -let _ARM64_INS_MOVI = 489;; -let _ARM64_INS_MOVK = 490;; -let _ARM64_INS_MOVN = 491;; -let _ARM64_INS_MOVPRFX = 492;; -let _ARM64_INS_MOVS = 493;; -let _ARM64_INS_MOVZ = 494;; -let _ARM64_INS_MRS = 495;; -let _ARM64_INS_MSB = 496;; -let _ARM64_INS_MSR = 497;; -let _ARM64_INS_MSUB = 498;; -let _ARM64_INS_MUL = 499;; -let _ARM64_INS_MVN = 500;; -let _ARM64_INS_MVNI = 501;; -let _ARM64_INS_NAND = 502;; -let _ARM64_INS_NANDS = 503;; -let _ARM64_INS_NEG = 504;; -let _ARM64_INS_NEGS = 505;; -let _ARM64_INS_NGC = 506;; -let _ARM64_INS_NGCS = 507;; -let _ARM64_INS_NOP = 508;; -let _ARM64_INS_NOR = 509;; -let _ARM64_INS_NORS = 510;; -let _ARM64_INS_NOT = 511;; -let _ARM64_INS_NOTS = 512;; -let _ARM64_INS_ORN = 513;; -let _ARM64_INS_ORNS = 514;; -let _ARM64_INS_ORR = 515;; -let _ARM64_INS_ORRS = 516;; -let _ARM64_INS_ORV = 517;; -let _ARM64_INS_PACDA = 518;; -let _ARM64_INS_PACDB = 519;; -let _ARM64_INS_PACDZA = 520;; -let _ARM64_INS_PACDZB = 521;; -let _ARM64_INS_PACGA = 522;; -let _ARM64_INS_PACIA = 523;; -let _ARM64_INS_PACIA1716 = 524;; -let _ARM64_INS_PACIASP = 525;; -let _ARM64_INS_PACIAZ = 526;; -let _ARM64_INS_PACIB = 527;; -let _ARM64_INS_PACIB1716 = 528;; -let _ARM64_INS_PACIBSP = 529;; -let _ARM64_INS_PACIBZ = 530;; -let _ARM64_INS_PACIZA = 531;; -let _ARM64_INS_PACIZB = 532;; -let _ARM64_INS_PFALSE = 533;; -let _ARM64_INS_PFIRST = 534;; -let _ARM64_INS_PMUL = 535;; -let _ARM64_INS_PMULL = 536;; -let _ARM64_INS_PMULL2 = 537;; -let _ARM64_INS_PNEXT = 538;; -let _ARM64_INS_PRFB = 539;; -let _ARM64_INS_PRFD = 540;; -let _ARM64_INS_PRFH = 541;; -let _ARM64_INS_PRFM = 542;; -let _ARM64_INS_PRFUM = 543;; -let _ARM64_INS_PRFW = 544;; -let _ARM64_INS_PSB = 545;; -let _ARM64_INS_PTEST = 546;; -let _ARM64_INS_PTRUE = 547;; -let _ARM64_INS_PTRUES = 548;; -let _ARM64_INS_PUNPKHI = 549;; -let _ARM64_INS_PUNPKLO = 550;; -let _ARM64_INS_RADDHN = 551;; -let _ARM64_INS_RADDHN2 = 552;; -let _ARM64_INS_RAX1 = 553;; -let _ARM64_INS_RBIT = 554;; -let _ARM64_INS_RDFFR = 555;; -let _ARM64_INS_RDFFRS = 556;; -let _ARM64_INS_RDVL = 557;; -let _ARM64_INS_RET = 558;; -let _ARM64_INS_RETAA = 559;; -let _ARM64_INS_RETAB = 560;; -let _ARM64_INS_REV = 561;; -let _ARM64_INS_REV16 = 562;; -let _ARM64_INS_REV32 = 563;; -let _ARM64_INS_REV64 = 564;; -let _ARM64_INS_REVB = 565;; -let _ARM64_INS_REVH = 566;; -let _ARM64_INS_REVW = 567;; -let _ARM64_INS_RMIF = 568;; -let _ARM64_INS_ROR = 569;; -let _ARM64_INS_RORV = 570;; -let _ARM64_INS_RSHRN = 571;; -let _ARM64_INS_RSHRN2 = 572;; -let _ARM64_INS_RSUBHN = 573;; -let _ARM64_INS_RSUBHN2 = 574;; -let _ARM64_INS_SABA = 575;; -let _ARM64_INS_SABAL = 576;; -let _ARM64_INS_SABAL2 = 577;; -let _ARM64_INS_SABD = 578;; -let _ARM64_INS_SABDL = 579;; -let _ARM64_INS_SABDL2 = 580;; -let _ARM64_INS_SADALP = 581;; -let _ARM64_INS_SADDL = 582;; -let _ARM64_INS_SADDL2 = 583;; -let _ARM64_INS_SADDLP = 584;; -let _ARM64_INS_SADDLV = 585;; -let _ARM64_INS_SADDV = 586;; -let _ARM64_INS_SADDW = 587;; -let _ARM64_INS_SADDW2 = 588;; -let _ARM64_INS_SBC = 589;; -let _ARM64_INS_SBCS = 590;; -let _ARM64_INS_SBFM = 591;; -let _ARM64_INS_SCVTF = 592;; -let _ARM64_INS_SDIV = 593;; -let _ARM64_INS_SDIVR = 594;; -let _ARM64_INS_SDOT = 595;; -let _ARM64_INS_SEL = 596;; -let _ARM64_INS_SETF16 = 597;; -let _ARM64_INS_SETF8 = 598;; -let _ARM64_INS_SETFFR = 599;; -let _ARM64_INS_SEV = 600;; -let _ARM64_INS_SEVL = 601;; -let _ARM64_INS_SHA1C = 602;; -let _ARM64_INS_SHA1H = 603;; -let _ARM64_INS_SHA1M = 604;; -let _ARM64_INS_SHA1P = 605;; -let _ARM64_INS_SHA1SU0 = 606;; -let _ARM64_INS_SHA1SU1 = 607;; -let _ARM64_INS_SHA256H = 608;; -let _ARM64_INS_SHA256H2 = 609;; -let _ARM64_INS_SHA256SU0 = 610;; -let _ARM64_INS_SHA256SU1 = 611;; -let _ARM64_INS_SHA512H = 612;; -let _ARM64_INS_SHA512H2 = 613;; -let _ARM64_INS_SHA512SU0 = 614;; -let _ARM64_INS_SHA512SU1 = 615;; -let _ARM64_INS_SHADD = 616;; -let _ARM64_INS_SHL = 617;; -let _ARM64_INS_SHLL = 618;; -let _ARM64_INS_SHLL2 = 619;; -let _ARM64_INS_SHRN = 620;; -let _ARM64_INS_SHRN2 = 621;; -let _ARM64_INS_SHSUB = 622;; -let _ARM64_INS_SLI = 623;; -let _ARM64_INS_SM3PARTW1 = 624;; -let _ARM64_INS_SM3PARTW2 = 625;; -let _ARM64_INS_SM3SS1 = 626;; -let _ARM64_INS_SM3TT1A = 627;; -let _ARM64_INS_SM3TT1B = 628;; -let _ARM64_INS_SM3TT2A = 629;; -let _ARM64_INS_SM3TT2B = 630;; -let _ARM64_INS_SM4E = 631;; -let _ARM64_INS_SM4EKEY = 632;; -let _ARM64_INS_SMADDL = 633;; -let _ARM64_INS_SMAX = 634;; -let _ARM64_INS_SMAXP = 635;; -let _ARM64_INS_SMAXV = 636;; -let _ARM64_INS_SMC = 637;; -let _ARM64_INS_SMIN = 638;; -let _ARM64_INS_SMINP = 639;; -let _ARM64_INS_SMINV = 640;; -let _ARM64_INS_SMLAL = 641;; -let _ARM64_INS_SMLAL2 = 642;; -let _ARM64_INS_SMLSL = 643;; -let _ARM64_INS_SMLSL2 = 644;; -let _ARM64_INS_SMNEGL = 645;; -let _ARM64_INS_SMOV = 646;; -let _ARM64_INS_SMSUBL = 647;; -let _ARM64_INS_SMULH = 648;; -let _ARM64_INS_SMULL = 649;; -let _ARM64_INS_SMULL2 = 650;; -let _ARM64_INS_SPLICE = 651;; -let _ARM64_INS_SQABS = 652;; -let _ARM64_INS_SQADD = 653;; -let _ARM64_INS_SQDECB = 654;; -let _ARM64_INS_SQDECD = 655;; -let _ARM64_INS_SQDECH = 656;; -let _ARM64_INS_SQDECP = 657;; -let _ARM64_INS_SQDECW = 658;; -let _ARM64_INS_SQDMLAL = 659;; -let _ARM64_INS_SQDMLAL2 = 660;; -let _ARM64_INS_SQDMLSL = 661;; -let _ARM64_INS_SQDMLSL2 = 662;; -let _ARM64_INS_SQDMULH = 663;; -let _ARM64_INS_SQDMULL = 664;; -let _ARM64_INS_SQDMULL2 = 665;; -let _ARM64_INS_SQINCB = 666;; -let _ARM64_INS_SQINCD = 667;; -let _ARM64_INS_SQINCH = 668;; -let _ARM64_INS_SQINCP = 669;; -let _ARM64_INS_SQINCW = 670;; -let _ARM64_INS_SQNEG = 671;; -let _ARM64_INS_SQRDMLAH = 672;; -let _ARM64_INS_SQRDMLSH = 673;; -let _ARM64_INS_SQRDMULH = 674;; -let _ARM64_INS_SQRSHL = 675;; -let _ARM64_INS_SQRSHRN = 676;; -let _ARM64_INS_SQRSHRN2 = 677;; -let _ARM64_INS_SQRSHRUN = 678;; -let _ARM64_INS_SQRSHRUN2 = 679;; -let _ARM64_INS_SQSHL = 680;; -let _ARM64_INS_SQSHLU = 681;; -let _ARM64_INS_SQSHRN = 682;; -let _ARM64_INS_SQSHRN2 = 683;; -let _ARM64_INS_SQSHRUN = 684;; -let _ARM64_INS_SQSHRUN2 = 685;; -let _ARM64_INS_SQSUB = 686;; -let _ARM64_INS_SQXTN = 687;; -let _ARM64_INS_SQXTN2 = 688;; -let _ARM64_INS_SQXTUN = 689;; -let _ARM64_INS_SQXTUN2 = 690;; -let _ARM64_INS_SRHADD = 691;; -let _ARM64_INS_SRI = 692;; -let _ARM64_INS_SRSHL = 693;; -let _ARM64_INS_SRSHR = 694;; -let _ARM64_INS_SRSRA = 695;; -let _ARM64_INS_SSHL = 696;; -let _ARM64_INS_SSHLL = 697;; -let _ARM64_INS_SSHLL2 = 698;; -let _ARM64_INS_SSHR = 699;; -let _ARM64_INS_SSRA = 700;; -let _ARM64_INS_SSUBL = 701;; -let _ARM64_INS_SSUBL2 = 702;; -let _ARM64_INS_SSUBW = 703;; -let _ARM64_INS_SSUBW2 = 704;; -let _ARM64_INS_ST1 = 705;; -let _ARM64_INS_ST1B = 706;; -let _ARM64_INS_ST1D = 707;; -let _ARM64_INS_ST1H = 708;; -let _ARM64_INS_ST1W = 709;; -let _ARM64_INS_ST2 = 710;; -let _ARM64_INS_ST2B = 711;; -let _ARM64_INS_ST2D = 712;; -let _ARM64_INS_ST2H = 713;; -let _ARM64_INS_ST2W = 714;; -let _ARM64_INS_ST3 = 715;; -let _ARM64_INS_ST3B = 716;; -let _ARM64_INS_ST3D = 717;; -let _ARM64_INS_ST3H = 718;; -let _ARM64_INS_ST3W = 719;; -let _ARM64_INS_ST4 = 720;; -let _ARM64_INS_ST4B = 721;; -let _ARM64_INS_ST4D = 722;; -let _ARM64_INS_ST4H = 723;; -let _ARM64_INS_ST4W = 724;; -let _ARM64_INS_STADD = 725;; -let _ARM64_INS_STADDB = 726;; -let _ARM64_INS_STADDH = 727;; -let _ARM64_INS_STADDL = 728;; -let _ARM64_INS_STADDLB = 729;; -let _ARM64_INS_STADDLH = 730;; -let _ARM64_INS_STCLR = 731;; -let _ARM64_INS_STCLRB = 732;; -let _ARM64_INS_STCLRH = 733;; -let _ARM64_INS_STCLRL = 734;; -let _ARM64_INS_STCLRLB = 735;; -let _ARM64_INS_STCLRLH = 736;; -let _ARM64_INS_STEOR = 737;; -let _ARM64_INS_STEORB = 738;; -let _ARM64_INS_STEORH = 739;; -let _ARM64_INS_STEORL = 740;; -let _ARM64_INS_STEORLB = 741;; -let _ARM64_INS_STEORLH = 742;; -let _ARM64_INS_STLLR = 743;; -let _ARM64_INS_STLLRB = 744;; -let _ARM64_INS_STLLRH = 745;; -let _ARM64_INS_STLR = 746;; -let _ARM64_INS_STLRB = 747;; -let _ARM64_INS_STLRH = 748;; -let _ARM64_INS_STLUR = 749;; -let _ARM64_INS_STLURB = 750;; -let _ARM64_INS_STLURH = 751;; -let _ARM64_INS_STLXP = 752;; -let _ARM64_INS_STLXR = 753;; -let _ARM64_INS_STLXRB = 754;; -let _ARM64_INS_STLXRH = 755;; -let _ARM64_INS_STNP = 756;; -let _ARM64_INS_STNT1B = 757;; -let _ARM64_INS_STNT1D = 758;; -let _ARM64_INS_STNT1H = 759;; -let _ARM64_INS_STNT1W = 760;; -let _ARM64_INS_STP = 761;; -let _ARM64_INS_STR = 762;; -let _ARM64_INS_STRB = 763;; -let _ARM64_INS_STRH = 764;; -let _ARM64_INS_STSET = 765;; -let _ARM64_INS_STSETB = 766;; -let _ARM64_INS_STSETH = 767;; -let _ARM64_INS_STSETL = 768;; -let _ARM64_INS_STSETLB = 769;; -let _ARM64_INS_STSETLH = 770;; -let _ARM64_INS_STSMAX = 771;; -let _ARM64_INS_STSMAXB = 772;; -let _ARM64_INS_STSMAXH = 773;; -let _ARM64_INS_STSMAXL = 774;; -let _ARM64_INS_STSMAXLB = 775;; -let _ARM64_INS_STSMAXLH = 776;; -let _ARM64_INS_STSMIN = 777;; -let _ARM64_INS_STSMINB = 778;; -let _ARM64_INS_STSMINH = 779;; -let _ARM64_INS_STSMINL = 780;; -let _ARM64_INS_STSMINLB = 781;; -let _ARM64_INS_STSMINLH = 782;; -let _ARM64_INS_STTR = 783;; -let _ARM64_INS_STTRB = 784;; -let _ARM64_INS_STTRH = 785;; -let _ARM64_INS_STUMAX = 786;; -let _ARM64_INS_STUMAXB = 787;; -let _ARM64_INS_STUMAXH = 788;; -let _ARM64_INS_STUMAXL = 789;; -let _ARM64_INS_STUMAXLB = 790;; -let _ARM64_INS_STUMAXLH = 791;; -let _ARM64_INS_STUMIN = 792;; -let _ARM64_INS_STUMINB = 793;; -let _ARM64_INS_STUMINH = 794;; -let _ARM64_INS_STUMINL = 795;; -let _ARM64_INS_STUMINLB = 796;; -let _ARM64_INS_STUMINLH = 797;; -let _ARM64_INS_STUR = 798;; -let _ARM64_INS_STURB = 799;; -let _ARM64_INS_STURH = 800;; -let _ARM64_INS_STXP = 801;; -let _ARM64_INS_STXR = 802;; -let _ARM64_INS_STXRB = 803;; -let _ARM64_INS_STXRH = 804;; -let _ARM64_INS_SUB = 805;; -let _ARM64_INS_SUBHN = 806;; -let _ARM64_INS_SUBHN2 = 807;; -let _ARM64_INS_SUBR = 808;; -let _ARM64_INS_SUBS = 809;; -let _ARM64_INS_SUNPKHI = 810;; -let _ARM64_INS_SUNPKLO = 811;; -let _ARM64_INS_SUQADD = 812;; -let _ARM64_INS_SVC = 813;; -let _ARM64_INS_SWP = 814;; -let _ARM64_INS_SWPA = 815;; -let _ARM64_INS_SWPAB = 816;; -let _ARM64_INS_SWPAH = 817;; -let _ARM64_INS_SWPAL = 818;; -let _ARM64_INS_SWPALB = 819;; -let _ARM64_INS_SWPALH = 820;; -let _ARM64_INS_SWPB = 821;; -let _ARM64_INS_SWPH = 822;; -let _ARM64_INS_SWPL = 823;; -let _ARM64_INS_SWPLB = 824;; -let _ARM64_INS_SWPLH = 825;; -let _ARM64_INS_SXTB = 826;; -let _ARM64_INS_SXTH = 827;; -let _ARM64_INS_SXTL = 828;; -let _ARM64_INS_SXTL2 = 829;; -let _ARM64_INS_SXTW = 830;; -let _ARM64_INS_SYS = 831;; -let _ARM64_INS_SYSL = 832;; -let _ARM64_INS_TBL = 833;; -let _ARM64_INS_TBNZ = 834;; -let _ARM64_INS_TBX = 835;; -let _ARM64_INS_TBZ = 836;; -let _ARM64_INS_TRN1 = 837;; -let _ARM64_INS_TRN2 = 838;; -let _ARM64_INS_TSB = 839;; -let _ARM64_INS_TST = 840;; -let _ARM64_INS_UABA = 841;; -let _ARM64_INS_UABAL = 842;; -let _ARM64_INS_UABAL2 = 843;; -let _ARM64_INS_UABD = 844;; -let _ARM64_INS_UABDL = 845;; -let _ARM64_INS_UABDL2 = 846;; -let _ARM64_INS_UADALP = 847;; -let _ARM64_INS_UADDL = 848;; -let _ARM64_INS_UADDL2 = 849;; -let _ARM64_INS_UADDLP = 850;; -let _ARM64_INS_UADDLV = 851;; -let _ARM64_INS_UADDV = 852;; -let _ARM64_INS_UADDW = 853;; -let _ARM64_INS_UADDW2 = 854;; -let _ARM64_INS_UBFM = 855;; -let _ARM64_INS_UCVTF = 856;; -let _ARM64_INS_UDIV = 857;; -let _ARM64_INS_UDIVR = 858;; -let _ARM64_INS_UDOT = 859;; -let _ARM64_INS_UHADD = 860;; -let _ARM64_INS_UHSUB = 861;; -let _ARM64_INS_UMADDL = 862;; -let _ARM64_INS_UMAX = 863;; -let _ARM64_INS_UMAXP = 864;; -let _ARM64_INS_UMAXV = 865;; -let _ARM64_INS_UMIN = 866;; -let _ARM64_INS_UMINP = 867;; -let _ARM64_INS_UMINV = 868;; -let _ARM64_INS_UMLAL = 869;; -let _ARM64_INS_UMLAL2 = 870;; -let _ARM64_INS_UMLSL = 871;; -let _ARM64_INS_UMLSL2 = 872;; -let _ARM64_INS_UMNEGL = 873;; -let _ARM64_INS_UMOV = 874;; -let _ARM64_INS_UMSUBL = 875;; -let _ARM64_INS_UMULH = 876;; -let _ARM64_INS_UMULL = 877;; -let _ARM64_INS_UMULL2 = 878;; -let _ARM64_INS_UQADD = 879;; -let _ARM64_INS_UQDECB = 880;; -let _ARM64_INS_UQDECD = 881;; -let _ARM64_INS_UQDECH = 882;; -let _ARM64_INS_UQDECP = 883;; -let _ARM64_INS_UQDECW = 884;; -let _ARM64_INS_UQINCB = 885;; -let _ARM64_INS_UQINCD = 886;; -let _ARM64_INS_UQINCH = 887;; -let _ARM64_INS_UQINCP = 888;; -let _ARM64_INS_UQINCW = 889;; -let _ARM64_INS_UQRSHL = 890;; -let _ARM64_INS_UQRSHRN = 891;; -let _ARM64_INS_UQRSHRN2 = 892;; -let _ARM64_INS_UQSHL = 893;; -let _ARM64_INS_UQSHRN = 894;; -let _ARM64_INS_UQSHRN2 = 895;; -let _ARM64_INS_UQSUB = 896;; -let _ARM64_INS_UQXTN = 897;; -let _ARM64_INS_UQXTN2 = 898;; -let _ARM64_INS_URECPE = 899;; -let _ARM64_INS_URHADD = 900;; -let _ARM64_INS_URSHL = 901;; -let _ARM64_INS_URSHR = 902;; -let _ARM64_INS_URSQRTE = 903;; -let _ARM64_INS_URSRA = 904;; -let _ARM64_INS_USHL = 905;; -let _ARM64_INS_USHLL = 906;; -let _ARM64_INS_USHLL2 = 907;; -let _ARM64_INS_USHR = 908;; -let _ARM64_INS_USQADD = 909;; -let _ARM64_INS_USRA = 910;; -let _ARM64_INS_USUBL = 911;; -let _ARM64_INS_USUBL2 = 912;; -let _ARM64_INS_USUBW = 913;; -let _ARM64_INS_USUBW2 = 914;; -let _ARM64_INS_UUNPKHI = 915;; -let _ARM64_INS_UUNPKLO = 916;; -let _ARM64_INS_UXTB = 917;; -let _ARM64_INS_UXTH = 918;; -let _ARM64_INS_UXTL = 919;; -let _ARM64_INS_UXTL2 = 920;; -let _ARM64_INS_UXTW = 921;; -let _ARM64_INS_UZP1 = 922;; -let _ARM64_INS_UZP2 = 923;; -let _ARM64_INS_WFE = 924;; -let _ARM64_INS_WFI = 925;; -let _ARM64_INS_WHILELE = 926;; -let _ARM64_INS_WHILELO = 927;; -let _ARM64_INS_WHILELS = 928;; -let _ARM64_INS_WHILELT = 929;; -let _ARM64_INS_WRFFR = 930;; -let _ARM64_INS_XAR = 931;; -let _ARM64_INS_XPACD = 932;; -let _ARM64_INS_XPACI = 933;; -let _ARM64_INS_XPACLRI = 934;; -let _ARM64_INS_XTN = 935;; -let _ARM64_INS_XTN2 = 936;; -let _ARM64_INS_YIELD = 937;; -let _ARM64_INS_ZIP1 = 938;; -let _ARM64_INS_ZIP2 = 939;; -let _ARM64_INS_SBFIZ = 940;; -let _ARM64_INS_UBFIZ = 941;; -let _ARM64_INS_SBFX = 942;; -let _ARM64_INS_UBFX = 943;; -let _ARM64_INS_BFI = 944;; -let _ARM64_INS_BFXIL = 945;; -let _ARM64_INS_IC = 946;; -let _ARM64_INS_DC = 947;; -let _ARM64_INS_AT = 948;; -let _ARM64_INS_TLBI = 949;; -let _ARM64_INS_ENDING = 950;; +let _ARM64_INS_ADCLB = 3;; +let _ARM64_INS_ADCLT = 4;; +let _ARM64_INS_ADCS = 5;; +let _ARM64_INS_ADD = 6;; +let _ARM64_INS_ADDG = 7;; +let _ARM64_INS_ADDHA = 8;; +let _ARM64_INS_ADDHN = 9;; +let _ARM64_INS_ADDHN2 = 10;; +let _ARM64_INS_ADDHNB = 11;; +let _ARM64_INS_ADDHNT = 12;; +let _ARM64_INS_ADDP = 13;; +let _ARM64_INS_ADDPL = 14;; +let _ARM64_INS_ADDS = 15;; +let _ARM64_INS_ADDV = 16;; +let _ARM64_INS_ADDVA = 17;; +let _ARM64_INS_ADDVL = 18;; +let _ARM64_INS_ADR = 19;; +let _ARM64_INS_ADRP = 20;; +let _ARM64_INS_AESD = 21;; +let _ARM64_INS_AESE = 22;; +let _ARM64_INS_AESIMC = 23;; +let _ARM64_INS_AESMC = 24;; +let _ARM64_INS_AND = 25;; +let _ARM64_INS_ANDS = 26;; +let _ARM64_INS_ANDV = 27;; +let _ARM64_INS_ASR = 28;; +let _ARM64_INS_ASRD = 29;; +let _ARM64_INS_ASRR = 30;; +let _ARM64_INS_ASRV = 31;; +let _ARM64_INS_AUTDA = 32;; +let _ARM64_INS_AUTDB = 33;; +let _ARM64_INS_AUTDZA = 34;; +let _ARM64_INS_AUTDZB = 35;; +let _ARM64_INS_AUTIA = 36;; +let _ARM64_INS_AUTIA1716 = 37;; +let _ARM64_INS_AUTIASP = 38;; +let _ARM64_INS_AUTIAZ = 39;; +let _ARM64_INS_AUTIB = 40;; +let _ARM64_INS_AUTIB1716 = 41;; +let _ARM64_INS_AUTIBSP = 42;; +let _ARM64_INS_AUTIBZ = 43;; +let _ARM64_INS_AUTIZA = 44;; +let _ARM64_INS_AUTIZB = 45;; +let _ARM64_INS_AXFLAG = 46;; +let _ARM64_INS_B = 47;; +let _ARM64_INS_BC = 48;; +let _ARM64_INS_BCAX = 49;; +let _ARM64_INS_BDEP = 50;; +let _ARM64_INS_BEXT = 51;; +let _ARM64_INS_BFCVT = 52;; +let _ARM64_INS_BFCVTN = 53;; +let _ARM64_INS_BFCVTN2 = 54;; +let _ARM64_INS_BFCVTNT = 55;; +let _ARM64_INS_BFDOT = 56;; +let _ARM64_INS_BFM = 57;; +let _ARM64_INS_BFMLALB = 58;; +let _ARM64_INS_BFMLALT = 59;; +let _ARM64_INS_BFMMLA = 60;; +let _ARM64_INS_BFMOPA = 61;; +let _ARM64_INS_BFMOPS = 62;; +let _ARM64_INS_BGRP = 63;; +let _ARM64_INS_BIC = 64;; +let _ARM64_INS_BICS = 65;; +let _ARM64_INS_BIF = 66;; +let _ARM64_INS_BIT = 67;; +let _ARM64_INS_BL = 68;; +let _ARM64_INS_BLR = 69;; +let _ARM64_INS_BLRAA = 70;; +let _ARM64_INS_BLRAAZ = 71;; +let _ARM64_INS_BLRAB = 72;; +let _ARM64_INS_BLRABZ = 73;; +let _ARM64_INS_BR = 74;; +let _ARM64_INS_BRAA = 75;; +let _ARM64_INS_BRAAZ = 76;; +let _ARM64_INS_BRAB = 77;; +let _ARM64_INS_BRABZ = 78;; +let _ARM64_INS_BRB = 79;; +let _ARM64_INS_BRK = 80;; +let _ARM64_INS_BRKA = 81;; +let _ARM64_INS_BRKAS = 82;; +let _ARM64_INS_BRKB = 83;; +let _ARM64_INS_BRKBS = 84;; +let _ARM64_INS_BRKN = 85;; +let _ARM64_INS_BRKNS = 86;; +let _ARM64_INS_BRKPA = 87;; +let _ARM64_INS_BRKPAS = 88;; +let _ARM64_INS_BRKPB = 89;; +let _ARM64_INS_BRKPBS = 90;; +let _ARM64_INS_BSL = 91;; +let _ARM64_INS_BSL1N = 92;; +let _ARM64_INS_BSL2N = 93;; +let _ARM64_INS_BTI = 94;; +let _ARM64_INS_CADD = 95;; +let _ARM64_INS_CAS = 96;; +let _ARM64_INS_CASA = 97;; +let _ARM64_INS_CASAB = 98;; +let _ARM64_INS_CASAH = 99;; +let _ARM64_INS_CASAL = 100;; +let _ARM64_INS_CASALB = 101;; +let _ARM64_INS_CASALH = 102;; +let _ARM64_INS_CASB = 103;; +let _ARM64_INS_CASH = 104;; +let _ARM64_INS_CASL = 105;; +let _ARM64_INS_CASLB = 106;; +let _ARM64_INS_CASLH = 107;; +let _ARM64_INS_CASP = 108;; +let _ARM64_INS_CASPA = 109;; +let _ARM64_INS_CASPAL = 110;; +let _ARM64_INS_CASPL = 111;; +let _ARM64_INS_CBNZ = 112;; +let _ARM64_INS_CBZ = 113;; +let _ARM64_INS_CCMN = 114;; +let _ARM64_INS_CCMP = 115;; +let _ARM64_INS_CDOT = 116;; +let _ARM64_INS_CFINV = 117;; +let _ARM64_INS_CINC = 118;; +let _ARM64_INS_CINV = 119;; +let _ARM64_INS_CLASTA = 120;; +let _ARM64_INS_CLASTB = 121;; +let _ARM64_INS_CLREX = 122;; +let _ARM64_INS_CLS = 123;; +let _ARM64_INS_CLZ = 124;; +let _ARM64_INS_CMEQ = 125;; +let _ARM64_INS_CMGE = 126;; +let _ARM64_INS_CMGT = 127;; +let _ARM64_INS_CMHI = 128;; +let _ARM64_INS_CMHS = 129;; +let _ARM64_INS_CMLA = 130;; +let _ARM64_INS_CMLE = 131;; +let _ARM64_INS_CMLO = 132;; +let _ARM64_INS_CMLS = 133;; +let _ARM64_INS_CMLT = 134;; +let _ARM64_INS_CMN = 135;; +let _ARM64_INS_CMP = 136;; +let _ARM64_INS_CMPEQ = 137;; +let _ARM64_INS_CMPGE = 138;; +let _ARM64_INS_CMPGT = 139;; +let _ARM64_INS_CMPHI = 140;; +let _ARM64_INS_CMPHS = 141;; +let _ARM64_INS_CMPLE = 142;; +let _ARM64_INS_CMPLO = 143;; +let _ARM64_INS_CMPLS = 144;; +let _ARM64_INS_CMPLT = 145;; +let _ARM64_INS_CMPNE = 146;; +let _ARM64_INS_CMPP = 147;; +let _ARM64_INS_CMTST = 148;; +let _ARM64_INS_CNEG = 149;; +let _ARM64_INS_CNOT = 150;; +let _ARM64_INS_CNT = 151;; +let _ARM64_INS_CNTB = 152;; +let _ARM64_INS_CNTD = 153;; +let _ARM64_INS_CNTH = 154;; +let _ARM64_INS_CNTP = 155;; +let _ARM64_INS_CNTW = 156;; +let _ARM64_INS_COMPACT = 157;; +let _ARM64_INS_CPY = 158;; +let _ARM64_INS_CPYE = 159;; +let _ARM64_INS_CPYEN = 160;; +let _ARM64_INS_CPYERN = 161;; +let _ARM64_INS_CPYERT = 162;; +let _ARM64_INS_CPYERTN = 163;; +let _ARM64_INS_CPYERTRN = 164;; +let _ARM64_INS_CPYERTWN = 165;; +let _ARM64_INS_CPYET = 166;; +let _ARM64_INS_CPYETN = 167;; +let _ARM64_INS_CPYETRN = 168;; +let _ARM64_INS_CPYETWN = 169;; +let _ARM64_INS_CPYEWN = 170;; +let _ARM64_INS_CPYEWT = 171;; +let _ARM64_INS_CPYEWTN = 172;; +let _ARM64_INS_CPYEWTRN = 173;; +let _ARM64_INS_CPYEWTWN = 174;; +let _ARM64_INS_CPYFE = 175;; +let _ARM64_INS_CPYFEN = 176;; +let _ARM64_INS_CPYFERN = 177;; +let _ARM64_INS_CPYFERT = 178;; +let _ARM64_INS_CPYFERTN = 179;; +let _ARM64_INS_CPYFERTRN = 180;; +let _ARM64_INS_CPYFERTWN = 181;; +let _ARM64_INS_CPYFET = 182;; +let _ARM64_INS_CPYFETN = 183;; +let _ARM64_INS_CPYFETRN = 184;; +let _ARM64_INS_CPYFETWN = 185;; +let _ARM64_INS_CPYFEWN = 186;; +let _ARM64_INS_CPYFEWT = 187;; +let _ARM64_INS_CPYFEWTN = 188;; +let _ARM64_INS_CPYFEWTRN = 189;; +let _ARM64_INS_CPYFEWTWN = 190;; +let _ARM64_INS_CPYFM = 191;; +let _ARM64_INS_CPYFMN = 192;; +let _ARM64_INS_CPYFMRN = 193;; +let _ARM64_INS_CPYFMRT = 194;; +let _ARM64_INS_CPYFMRTN = 195;; +let _ARM64_INS_CPYFMRTRN = 196;; +let _ARM64_INS_CPYFMRTWN = 197;; +let _ARM64_INS_CPYFMT = 198;; +let _ARM64_INS_CPYFMTN = 199;; +let _ARM64_INS_CPYFMTRN = 200;; +let _ARM64_INS_CPYFMTWN = 201;; +let _ARM64_INS_CPYFMWN = 202;; +let _ARM64_INS_CPYFMWT = 203;; +let _ARM64_INS_CPYFMWTN = 204;; +let _ARM64_INS_CPYFMWTRN = 205;; +let _ARM64_INS_CPYFMWTWN = 206;; +let _ARM64_INS_CPYFP = 207;; +let _ARM64_INS_CPYFPN = 208;; +let _ARM64_INS_CPYFPRN = 209;; +let _ARM64_INS_CPYFPRT = 210;; +let _ARM64_INS_CPYFPRTN = 211;; +let _ARM64_INS_CPYFPRTRN = 212;; +let _ARM64_INS_CPYFPRTWN = 213;; +let _ARM64_INS_CPYFPT = 214;; +let _ARM64_INS_CPYFPTN = 215;; +let _ARM64_INS_CPYFPTRN = 216;; +let _ARM64_INS_CPYFPTWN = 217;; +let _ARM64_INS_CPYFPWN = 218;; +let _ARM64_INS_CPYFPWT = 219;; +let _ARM64_INS_CPYFPWTN = 220;; +let _ARM64_INS_CPYFPWTRN = 221;; +let _ARM64_INS_CPYFPWTWN = 222;; +let _ARM64_INS_CPYM = 223;; +let _ARM64_INS_CPYMN = 224;; +let _ARM64_INS_CPYMRN = 225;; +let _ARM64_INS_CPYMRT = 226;; +let _ARM64_INS_CPYMRTN = 227;; +let _ARM64_INS_CPYMRTRN = 228;; +let _ARM64_INS_CPYMRTWN = 229;; +let _ARM64_INS_CPYMT = 230;; +let _ARM64_INS_CPYMTN = 231;; +let _ARM64_INS_CPYMTRN = 232;; +let _ARM64_INS_CPYMTWN = 233;; +let _ARM64_INS_CPYMWN = 234;; +let _ARM64_INS_CPYMWT = 235;; +let _ARM64_INS_CPYMWTN = 236;; +let _ARM64_INS_CPYMWTRN = 237;; +let _ARM64_INS_CPYMWTWN = 238;; +let _ARM64_INS_CPYP = 239;; +let _ARM64_INS_CPYPN = 240;; +let _ARM64_INS_CPYPRN = 241;; +let _ARM64_INS_CPYPRT = 242;; +let _ARM64_INS_CPYPRTN = 243;; +let _ARM64_INS_CPYPRTRN = 244;; +let _ARM64_INS_CPYPRTWN = 245;; +let _ARM64_INS_CPYPT = 246;; +let _ARM64_INS_CPYPTN = 247;; +let _ARM64_INS_CPYPTRN = 248;; +let _ARM64_INS_CPYPTWN = 249;; +let _ARM64_INS_CPYPWN = 250;; +let _ARM64_INS_CPYPWT = 251;; +let _ARM64_INS_CPYPWTN = 252;; +let _ARM64_INS_CPYPWTRN = 253;; +let _ARM64_INS_CPYPWTWN = 254;; +let _ARM64_INS_CRC32B = 255;; +let _ARM64_INS_CRC32CB = 256;; +let _ARM64_INS_CRC32CH = 257;; +let _ARM64_INS_CRC32CW = 258;; +let _ARM64_INS_CRC32CX = 259;; +let _ARM64_INS_CRC32H = 260;; +let _ARM64_INS_CRC32W = 261;; +let _ARM64_INS_CRC32X = 262;; +let _ARM64_INS_CSDB = 263;; +let _ARM64_INS_CSEL = 264;; +let _ARM64_INS_CSET = 265;; +let _ARM64_INS_CSETM = 266;; +let _ARM64_INS_CSINC = 267;; +let _ARM64_INS_CSINV = 268;; +let _ARM64_INS_CSNEG = 269;; +let _ARM64_INS_CTERMEQ = 270;; +let _ARM64_INS_CTERMNE = 271;; +let _ARM64_INS_DCPS1 = 272;; +let _ARM64_INS_DCPS2 = 273;; +let _ARM64_INS_DCPS3 = 274;; +let _ARM64_INS_DECB = 275;; +let _ARM64_INS_DECD = 276;; +let _ARM64_INS_DECH = 277;; +let _ARM64_INS_DECP = 278;; +let _ARM64_INS_DECW = 279;; +let _ARM64_INS_DFB = 280;; +let _ARM64_INS_DGH = 281;; +let _ARM64_INS_DMB = 282;; +let _ARM64_INS_DRPS = 283;; +let _ARM64_INS_DSB = 284;; +let _ARM64_INS_DUP = 285;; +let _ARM64_INS_DUPM = 286;; +let _ARM64_INS_EON = 287;; +let _ARM64_INS_EOR = 288;; +let _ARM64_INS_EOR3 = 289;; +let _ARM64_INS_EORBT = 290;; +let _ARM64_INS_EORS = 291;; +let _ARM64_INS_EORTB = 292;; +let _ARM64_INS_EORV = 293;; +let _ARM64_INS_ERET = 294;; +let _ARM64_INS_ERETAA = 295;; +let _ARM64_INS_ERETAB = 296;; +let _ARM64_INS_ESB = 297;; +let _ARM64_INS_EXT = 298;; +let _ARM64_INS_EXTR = 299;; +let _ARM64_INS_FABD = 300;; +let _ARM64_INS_FABS = 301;; +let _ARM64_INS_FACGE = 302;; +let _ARM64_INS_FACGT = 303;; +let _ARM64_INS_FACLE = 304;; +let _ARM64_INS_FACLT = 305;; +let _ARM64_INS_FADD = 306;; +let _ARM64_INS_FADDA = 307;; +let _ARM64_INS_FADDP = 308;; +let _ARM64_INS_FADDV = 309;; +let _ARM64_INS_FCADD = 310;; +let _ARM64_INS_FCCMP = 311;; +let _ARM64_INS_FCCMPE = 312;; +let _ARM64_INS_FCMEQ = 313;; +let _ARM64_INS_FCMGE = 314;; +let _ARM64_INS_FCMGT = 315;; +let _ARM64_INS_FCMLA = 316;; +let _ARM64_INS_FCMLE = 317;; +let _ARM64_INS_FCMLT = 318;; +let _ARM64_INS_FCMNE = 319;; +let _ARM64_INS_FCMP = 320;; +let _ARM64_INS_FCMPE = 321;; +let _ARM64_INS_FCMUO = 322;; +let _ARM64_INS_FCPY = 323;; +let _ARM64_INS_FCSEL = 324;; +let _ARM64_INS_FCVT = 325;; +let _ARM64_INS_FCVTAS = 326;; +let _ARM64_INS_FCVTAU = 327;; +let _ARM64_INS_FCVTL = 328;; +let _ARM64_INS_FCVTL2 = 329;; +let _ARM64_INS_FCVTLT = 330;; +let _ARM64_INS_FCVTMS = 331;; +let _ARM64_INS_FCVTMU = 332;; +let _ARM64_INS_FCVTN = 333;; +let _ARM64_INS_FCVTN2 = 334;; +let _ARM64_INS_FCVTNS = 335;; +let _ARM64_INS_FCVTNT = 336;; +let _ARM64_INS_FCVTNU = 337;; +let _ARM64_INS_FCVTPS = 338;; +let _ARM64_INS_FCVTPU = 339;; +let _ARM64_INS_FCVTX = 340;; +let _ARM64_INS_FCVTXN = 341;; +let _ARM64_INS_FCVTXN2 = 342;; +let _ARM64_INS_FCVTXNT = 343;; +let _ARM64_INS_FCVTZS = 344;; +let _ARM64_INS_FCVTZU = 345;; +let _ARM64_INS_FDIV = 346;; +let _ARM64_INS_FDIVR = 347;; +let _ARM64_INS_FDUP = 348;; +let _ARM64_INS_FEXPA = 349;; +let _ARM64_INS_FJCVTZS = 350;; +let _ARM64_INS_FLOGB = 351;; +let _ARM64_INS_FMAD = 352;; +let _ARM64_INS_FMADD = 353;; +let _ARM64_INS_FMAX = 354;; +let _ARM64_INS_FMAXNM = 355;; +let _ARM64_INS_FMAXNMP = 356;; +let _ARM64_INS_FMAXNMV = 357;; +let _ARM64_INS_FMAXP = 358;; +let _ARM64_INS_FMAXV = 359;; +let _ARM64_INS_FMIN = 360;; +let _ARM64_INS_FMINNM = 361;; +let _ARM64_INS_FMINNMP = 362;; +let _ARM64_INS_FMINNMV = 363;; +let _ARM64_INS_FMINP = 364;; +let _ARM64_INS_FMINV = 365;; +let _ARM64_INS_FMLA = 366;; +let _ARM64_INS_FMLAL = 367;; +let _ARM64_INS_FMLAL2 = 368;; +let _ARM64_INS_FMLALB = 369;; +let _ARM64_INS_FMLALT = 370;; +let _ARM64_INS_FMLS = 371;; +let _ARM64_INS_FMLSL = 372;; +let _ARM64_INS_FMLSL2 = 373;; +let _ARM64_INS_FMLSLB = 374;; +let _ARM64_INS_FMLSLT = 375;; +let _ARM64_INS_FMMLA = 376;; +let _ARM64_INS_FMOPA = 377;; +let _ARM64_INS_FMOPS = 378;; +let _ARM64_INS_FMOV = 379;; +let _ARM64_INS_FMSB = 380;; +let _ARM64_INS_FMSUB = 381;; +let _ARM64_INS_FMUL = 382;; +let _ARM64_INS_FMULX = 383;; +let _ARM64_INS_FNEG = 384;; +let _ARM64_INS_FNMAD = 385;; +let _ARM64_INS_FNMADD = 386;; +let _ARM64_INS_FNMLA = 387;; +let _ARM64_INS_FNMLS = 388;; +let _ARM64_INS_FNMSB = 389;; +let _ARM64_INS_FNMSUB = 390;; +let _ARM64_INS_FNMUL = 391;; +let _ARM64_INS_FRECPE = 392;; +let _ARM64_INS_FRECPS = 393;; +let _ARM64_INS_FRECPX = 394;; +let _ARM64_INS_FRINT32X = 395;; +let _ARM64_INS_FRINT32Z = 396;; +let _ARM64_INS_FRINT64X = 397;; +let _ARM64_INS_FRINT64Z = 398;; +let _ARM64_INS_FRINTA = 399;; +let _ARM64_INS_FRINTI = 400;; +let _ARM64_INS_FRINTM = 401;; +let _ARM64_INS_FRINTN = 402;; +let _ARM64_INS_FRINTP = 403;; +let _ARM64_INS_FRINTX = 404;; +let _ARM64_INS_FRINTZ = 405;; +let _ARM64_INS_FRSQRTE = 406;; +let _ARM64_INS_FRSQRTS = 407;; +let _ARM64_INS_FSCALE = 408;; +let _ARM64_INS_FSQRT = 409;; +let _ARM64_INS_FSUB = 410;; +let _ARM64_INS_FSUBR = 411;; +let _ARM64_INS_FTMAD = 412;; +let _ARM64_INS_FTSMUL = 413;; +let _ARM64_INS_FTSSEL = 414;; +let _ARM64_INS_GMI = 415;; +let _ARM64_INS_HINT = 416;; +let _ARM64_INS_HISTCNT = 417;; +let _ARM64_INS_HISTSEG = 418;; +let _ARM64_INS_HLT = 419;; +let _ARM64_INS_HVC = 420;; +let _ARM64_INS_INCB = 421;; +let _ARM64_INS_INCD = 422;; +let _ARM64_INS_INCH = 423;; +let _ARM64_INS_INCP = 424;; +let _ARM64_INS_INCW = 425;; +let _ARM64_INS_INDEX = 426;; +let _ARM64_INS_INS = 427;; +let _ARM64_INS_INSR = 428;; +let _ARM64_INS_IRG = 429;; +let _ARM64_INS_ISB = 430;; +let _ARM64_INS_LASTA = 431;; +let _ARM64_INS_LASTB = 432;; +let _ARM64_INS_LD1 = 433;; +let _ARM64_INS_LD1B = 434;; +let _ARM64_INS_LD1D = 435;; +let _ARM64_INS_LD1H = 436;; +let _ARM64_INS_LD1Q = 437;; +let _ARM64_INS_LD1R = 438;; +let _ARM64_INS_LD1RB = 439;; +let _ARM64_INS_LD1RD = 440;; +let _ARM64_INS_LD1RH = 441;; +let _ARM64_INS_LD1ROB = 442;; +let _ARM64_INS_LD1ROD = 443;; +let _ARM64_INS_LD1ROH = 444;; +let _ARM64_INS_LD1ROW = 445;; +let _ARM64_INS_LD1RQB = 446;; +let _ARM64_INS_LD1RQD = 447;; +let _ARM64_INS_LD1RQH = 448;; +let _ARM64_INS_LD1RQW = 449;; +let _ARM64_INS_LD1RSB = 450;; +let _ARM64_INS_LD1RSH = 451;; +let _ARM64_INS_LD1RSW = 452;; +let _ARM64_INS_LD1RW = 453;; +let _ARM64_INS_LD1SB = 454;; +let _ARM64_INS_LD1SH = 455;; +let _ARM64_INS_LD1SW = 456;; +let _ARM64_INS_LD1W = 457;; +let _ARM64_INS_LD2 = 458;; +let _ARM64_INS_LD2B = 459;; +let _ARM64_INS_LD2D = 460;; +let _ARM64_INS_LD2H = 461;; +let _ARM64_INS_LD2R = 462;; +let _ARM64_INS_LD2W = 463;; +let _ARM64_INS_LD3 = 464;; +let _ARM64_INS_LD3B = 465;; +let _ARM64_INS_LD3D = 466;; +let _ARM64_INS_LD3H = 467;; +let _ARM64_INS_LD3R = 468;; +let _ARM64_INS_LD3W = 469;; +let _ARM64_INS_LD4 = 470;; +let _ARM64_INS_LD4B = 471;; +let _ARM64_INS_LD4D = 472;; +let _ARM64_INS_LD4H = 473;; +let _ARM64_INS_LD4R = 474;; +let _ARM64_INS_LD4W = 475;; +let _ARM64_INS_LD64B = 476;; +let _ARM64_INS_LDADD = 477;; +let _ARM64_INS_LDADDA = 478;; +let _ARM64_INS_LDADDAB = 479;; +let _ARM64_INS_LDADDAH = 480;; +let _ARM64_INS_LDADDAL = 481;; +let _ARM64_INS_LDADDALB = 482;; +let _ARM64_INS_LDADDALH = 483;; +let _ARM64_INS_LDADDB = 484;; +let _ARM64_INS_LDADDH = 485;; +let _ARM64_INS_LDADDL = 486;; +let _ARM64_INS_LDADDLB = 487;; +let _ARM64_INS_LDADDLH = 488;; +let _ARM64_INS_LDAPR = 489;; +let _ARM64_INS_LDAPRB = 490;; +let _ARM64_INS_LDAPRH = 491;; +let _ARM64_INS_LDAPUR = 492;; +let _ARM64_INS_LDAPURB = 493;; +let _ARM64_INS_LDAPURH = 494;; +let _ARM64_INS_LDAPURSB = 495;; +let _ARM64_INS_LDAPURSH = 496;; +let _ARM64_INS_LDAPURSW = 497;; +let _ARM64_INS_LDAR = 498;; +let _ARM64_INS_LDARB = 499;; +let _ARM64_INS_LDARH = 500;; +let _ARM64_INS_LDAXP = 501;; +let _ARM64_INS_LDAXR = 502;; +let _ARM64_INS_LDAXRB = 503;; +let _ARM64_INS_LDAXRH = 504;; +let _ARM64_INS_LDCLR = 505;; +let _ARM64_INS_LDCLRA = 506;; +let _ARM64_INS_LDCLRAB = 507;; +let _ARM64_INS_LDCLRAH = 508;; +let _ARM64_INS_LDCLRAL = 509;; +let _ARM64_INS_LDCLRALB = 510;; +let _ARM64_INS_LDCLRALH = 511;; +let _ARM64_INS_LDCLRB = 512;; +let _ARM64_INS_LDCLRH = 513;; +let _ARM64_INS_LDCLRL = 514;; +let _ARM64_INS_LDCLRLB = 515;; +let _ARM64_INS_LDCLRLH = 516;; +let _ARM64_INS_LDEOR = 517;; +let _ARM64_INS_LDEORA = 518;; +let _ARM64_INS_LDEORAB = 519;; +let _ARM64_INS_LDEORAH = 520;; +let _ARM64_INS_LDEORAL = 521;; +let _ARM64_INS_LDEORALB = 522;; +let _ARM64_INS_LDEORALH = 523;; +let _ARM64_INS_LDEORB = 524;; +let _ARM64_INS_LDEORH = 525;; +let _ARM64_INS_LDEORL = 526;; +let _ARM64_INS_LDEORLB = 527;; +let _ARM64_INS_LDEORLH = 528;; +let _ARM64_INS_LDFF1B = 529;; +let _ARM64_INS_LDFF1D = 530;; +let _ARM64_INS_LDFF1H = 531;; +let _ARM64_INS_LDFF1SB = 532;; +let _ARM64_INS_LDFF1SH = 533;; +let _ARM64_INS_LDFF1SW = 534;; +let _ARM64_INS_LDFF1W = 535;; +let _ARM64_INS_LDG = 536;; +let _ARM64_INS_LDGM = 537;; +let _ARM64_INS_LDLAR = 538;; +let _ARM64_INS_LDLARB = 539;; +let _ARM64_INS_LDLARH = 540;; +let _ARM64_INS_LDNF1B = 541;; +let _ARM64_INS_LDNF1D = 542;; +let _ARM64_INS_LDNF1H = 543;; +let _ARM64_INS_LDNF1SB = 544;; +let _ARM64_INS_LDNF1SH = 545;; +let _ARM64_INS_LDNF1SW = 546;; +let _ARM64_INS_LDNF1W = 547;; +let _ARM64_INS_LDNP = 548;; +let _ARM64_INS_LDNT1B = 549;; +let _ARM64_INS_LDNT1D = 550;; +let _ARM64_INS_LDNT1H = 551;; +let _ARM64_INS_LDNT1SB = 552;; +let _ARM64_INS_LDNT1SH = 553;; +let _ARM64_INS_LDNT1SW = 554;; +let _ARM64_INS_LDNT1W = 555;; +let _ARM64_INS_LDP = 556;; +let _ARM64_INS_LDPSW = 557;; +let _ARM64_INS_LDR = 558;; +let _ARM64_INS_LDRAA = 559;; +let _ARM64_INS_LDRAB = 560;; +let _ARM64_INS_LDRB = 561;; +let _ARM64_INS_LDRH = 562;; +let _ARM64_INS_LDRSB = 563;; +let _ARM64_INS_LDRSH = 564;; +let _ARM64_INS_LDRSW = 565;; +let _ARM64_INS_LDSET = 566;; +let _ARM64_INS_LDSETA = 567;; +let _ARM64_INS_LDSETAB = 568;; +let _ARM64_INS_LDSETAH = 569;; +let _ARM64_INS_LDSETAL = 570;; +let _ARM64_INS_LDSETALB = 571;; +let _ARM64_INS_LDSETALH = 572;; +let _ARM64_INS_LDSETB = 573;; +let _ARM64_INS_LDSETH = 574;; +let _ARM64_INS_LDSETL = 575;; +let _ARM64_INS_LDSETLB = 576;; +let _ARM64_INS_LDSETLH = 577;; +let _ARM64_INS_LDSMAX = 578;; +let _ARM64_INS_LDSMAXA = 579;; +let _ARM64_INS_LDSMAXAB = 580;; +let _ARM64_INS_LDSMAXAH = 581;; +let _ARM64_INS_LDSMAXAL = 582;; +let _ARM64_INS_LDSMAXALB = 583;; +let _ARM64_INS_LDSMAXALH = 584;; +let _ARM64_INS_LDSMAXB = 585;; +let _ARM64_INS_LDSMAXH = 586;; +let _ARM64_INS_LDSMAXL = 587;; +let _ARM64_INS_LDSMAXLB = 588;; +let _ARM64_INS_LDSMAXLH = 589;; +let _ARM64_INS_LDSMIN = 590;; +let _ARM64_INS_LDSMINA = 591;; +let _ARM64_INS_LDSMINAB = 592;; +let _ARM64_INS_LDSMINAH = 593;; +let _ARM64_INS_LDSMINAL = 594;; +let _ARM64_INS_LDSMINALB = 595;; +let _ARM64_INS_LDSMINALH = 596;; +let _ARM64_INS_LDSMINB = 597;; +let _ARM64_INS_LDSMINH = 598;; +let _ARM64_INS_LDSMINL = 599;; +let _ARM64_INS_LDSMINLB = 600;; +let _ARM64_INS_LDSMINLH = 601;; +let _ARM64_INS_LDTR = 602;; +let _ARM64_INS_LDTRB = 603;; +let _ARM64_INS_LDTRH = 604;; +let _ARM64_INS_LDTRSB = 605;; +let _ARM64_INS_LDTRSH = 606;; +let _ARM64_INS_LDTRSW = 607;; +let _ARM64_INS_LDUMAX = 608;; +let _ARM64_INS_LDUMAXA = 609;; +let _ARM64_INS_LDUMAXAB = 610;; +let _ARM64_INS_LDUMAXAH = 611;; +let _ARM64_INS_LDUMAXAL = 612;; +let _ARM64_INS_LDUMAXALB = 613;; +let _ARM64_INS_LDUMAXALH = 614;; +let _ARM64_INS_LDUMAXB = 615;; +let _ARM64_INS_LDUMAXH = 616;; +let _ARM64_INS_LDUMAXL = 617;; +let _ARM64_INS_LDUMAXLB = 618;; +let _ARM64_INS_LDUMAXLH = 619;; +let _ARM64_INS_LDUMIN = 620;; +let _ARM64_INS_LDUMINA = 621;; +let _ARM64_INS_LDUMINAB = 622;; +let _ARM64_INS_LDUMINAH = 623;; +let _ARM64_INS_LDUMINAL = 624;; +let _ARM64_INS_LDUMINALB = 625;; +let _ARM64_INS_LDUMINALH = 626;; +let _ARM64_INS_LDUMINB = 627;; +let _ARM64_INS_LDUMINH = 628;; +let _ARM64_INS_LDUMINL = 629;; +let _ARM64_INS_LDUMINLB = 630;; +let _ARM64_INS_LDUMINLH = 631;; +let _ARM64_INS_LDUR = 632;; +let _ARM64_INS_LDURB = 633;; +let _ARM64_INS_LDURH = 634;; +let _ARM64_INS_LDURSB = 635;; +let _ARM64_INS_LDURSH = 636;; +let _ARM64_INS_LDURSW = 637;; +let _ARM64_INS_LDXP = 638;; +let _ARM64_INS_LDXR = 639;; +let _ARM64_INS_LDXRB = 640;; +let _ARM64_INS_LDXRH = 641;; +let _ARM64_INS_LSL = 642;; +let _ARM64_INS_LSLR = 643;; +let _ARM64_INS_LSLV = 644;; +let _ARM64_INS_LSR = 645;; +let _ARM64_INS_LSRR = 646;; +let _ARM64_INS_LSRV = 647;; +let _ARM64_INS_MAD = 648;; +let _ARM64_INS_MADD = 649;; +let _ARM64_INS_MATCH = 650;; +let _ARM64_INS_MLA = 651;; +let _ARM64_INS_MLS = 652;; +let _ARM64_INS_MNEG = 653;; +let _ARM64_INS_MOV = 654;; +let _ARM64_INS_MOVA = 655;; +let _ARM64_INS_MOVI = 656;; +let _ARM64_INS_MOVK = 657;; +let _ARM64_INS_MOVN = 658;; +let _ARM64_INS_MOVPRFX = 659;; +let _ARM64_INS_MOVS = 660;; +let _ARM64_INS_MOVZ = 661;; +let _ARM64_INS_MRS = 662;; +let _ARM64_INS_MSB = 663;; +let _ARM64_INS_MSR = 664;; +let _ARM64_INS_MSUB = 665;; +let _ARM64_INS_MUL = 666;; +let _ARM64_INS_MVN = 667;; +let _ARM64_INS_MVNI = 668;; +let _ARM64_INS_NAND = 669;; +let _ARM64_INS_NANDS = 670;; +let _ARM64_INS_NBSL = 671;; +let _ARM64_INS_NEG = 672;; +let _ARM64_INS_NEGS = 673;; +let _ARM64_INS_NGC = 674;; +let _ARM64_INS_NGCS = 675;; +let _ARM64_INS_NMATCH = 676;; +let _ARM64_INS_NOP = 677;; +let _ARM64_INS_NOR = 678;; +let _ARM64_INS_NORS = 679;; +let _ARM64_INS_NOT = 680;; +let _ARM64_INS_NOTS = 681;; +let _ARM64_INS_ORN = 682;; +let _ARM64_INS_ORNS = 683;; +let _ARM64_INS_ORR = 684;; +let _ARM64_INS_ORRS = 685;; +let _ARM64_INS_ORV = 686;; +let _ARM64_INS_PACDA = 687;; +let _ARM64_INS_PACDB = 688;; +let _ARM64_INS_PACDZA = 689;; +let _ARM64_INS_PACDZB = 690;; +let _ARM64_INS_PACGA = 691;; +let _ARM64_INS_PACIA = 692;; +let _ARM64_INS_PACIA1716 = 693;; +let _ARM64_INS_PACIASP = 694;; +let _ARM64_INS_PACIAZ = 695;; +let _ARM64_INS_PACIB = 696;; +let _ARM64_INS_PACIB1716 = 697;; +let _ARM64_INS_PACIBSP = 698;; +let _ARM64_INS_PACIBZ = 699;; +let _ARM64_INS_PACIZA = 700;; +let _ARM64_INS_PACIZB = 701;; +let _ARM64_INS_PFALSE = 702;; +let _ARM64_INS_PFIRST = 703;; +let _ARM64_INS_PMUL = 704;; +let _ARM64_INS_PMULL = 705;; +let _ARM64_INS_PMULL2 = 706;; +let _ARM64_INS_PMULLB = 707;; +let _ARM64_INS_PMULLT = 708;; +let _ARM64_INS_PNEXT = 709;; +let _ARM64_INS_PRFB = 710;; +let _ARM64_INS_PRFD = 711;; +let _ARM64_INS_PRFH = 712;; +let _ARM64_INS_PRFM = 713;; +let _ARM64_INS_PRFUM = 714;; +let _ARM64_INS_PRFW = 715;; +let _ARM64_INS_PSB = 716;; +let _ARM64_INS_PSEL = 717;; +let _ARM64_INS_PSSBB = 718;; +let _ARM64_INS_PTEST = 719;; +let _ARM64_INS_PTRUE = 720;; +let _ARM64_INS_PTRUES = 721;; +let _ARM64_INS_PUNPKHI = 722;; +let _ARM64_INS_PUNPKLO = 723;; +let _ARM64_INS_RADDHN = 724;; +let _ARM64_INS_RADDHN2 = 725;; +let _ARM64_INS_RADDHNB = 726;; +let _ARM64_INS_RADDHNT = 727;; +let _ARM64_INS_RAX1 = 728;; +let _ARM64_INS_RBIT = 729;; +let _ARM64_INS_RDFFR = 730;; +let _ARM64_INS_RDFFRS = 731;; +let _ARM64_INS_RDVL = 732;; +let _ARM64_INS_RET = 733;; +let _ARM64_INS_RETAA = 734;; +let _ARM64_INS_RETAB = 735;; +let _ARM64_INS_REV = 736;; +let _ARM64_INS_REV16 = 737;; +let _ARM64_INS_REV32 = 738;; +let _ARM64_INS_REV64 = 739;; +let _ARM64_INS_REVB = 740;; +let _ARM64_INS_REVD = 741;; +let _ARM64_INS_REVH = 742;; +let _ARM64_INS_REVW = 743;; +let _ARM64_INS_RMIF = 744;; +let _ARM64_INS_ROR = 745;; +let _ARM64_INS_RORV = 746;; +let _ARM64_INS_RSHRN = 747;; +let _ARM64_INS_RSHRN2 = 748;; +let _ARM64_INS_RSHRNB = 749;; +let _ARM64_INS_RSHRNT = 750;; +let _ARM64_INS_RSUBHN = 751;; +let _ARM64_INS_RSUBHN2 = 752;; +let _ARM64_INS_RSUBHNB = 753;; +let _ARM64_INS_RSUBHNT = 754;; +let _ARM64_INS_SABA = 755;; +let _ARM64_INS_SABAL = 756;; +let _ARM64_INS_SABAL2 = 757;; +let _ARM64_INS_SABALB = 758;; +let _ARM64_INS_SABALT = 759;; +let _ARM64_INS_SABD = 760;; +let _ARM64_INS_SABDL = 761;; +let _ARM64_INS_SABDL2 = 762;; +let _ARM64_INS_SABDLB = 763;; +let _ARM64_INS_SABDLT = 764;; +let _ARM64_INS_SADALP = 765;; +let _ARM64_INS_SADDL = 766;; +let _ARM64_INS_SADDL2 = 767;; +let _ARM64_INS_SADDLB = 768;; +let _ARM64_INS_SADDLBT = 769;; +let _ARM64_INS_SADDLP = 770;; +let _ARM64_INS_SADDLT = 771;; +let _ARM64_INS_SADDLV = 772;; +let _ARM64_INS_SADDV = 773;; +let _ARM64_INS_SADDW = 774;; +let _ARM64_INS_SADDW2 = 775;; +let _ARM64_INS_SADDWB = 776;; +let _ARM64_INS_SADDWT = 777;; +let _ARM64_INS_SB = 778;; +let _ARM64_INS_SBC = 779;; +let _ARM64_INS_SBCLB = 780;; +let _ARM64_INS_SBCLT = 781;; +let _ARM64_INS_SBCS = 782;; +let _ARM64_INS_SBFM = 783;; +let _ARM64_INS_SCLAMP = 784;; +let _ARM64_INS_SCVTF = 785;; +let _ARM64_INS_SDIV = 786;; +let _ARM64_INS_SDIVR = 787;; +let _ARM64_INS_SDOT = 788;; +let _ARM64_INS_SEL = 789;; +let _ARM64_INS_SETE = 790;; +let _ARM64_INS_SETEN = 791;; +let _ARM64_INS_SETET = 792;; +let _ARM64_INS_SETETN = 793;; +let _ARM64_INS_SETF16 = 794;; +let _ARM64_INS_SETF8 = 795;; +let _ARM64_INS_SETFFR = 796;; +let _ARM64_INS_SETGE = 797;; +let _ARM64_INS_SETGEN = 798;; +let _ARM64_INS_SETGET = 799;; +let _ARM64_INS_SETGETN = 800;; +let _ARM64_INS_SETGM = 801;; +let _ARM64_INS_SETGMN = 802;; +let _ARM64_INS_SETGMT = 803;; +let _ARM64_INS_SETGMTN = 804;; +let _ARM64_INS_SETGP = 805;; +let _ARM64_INS_SETGPN = 806;; +let _ARM64_INS_SETGPT = 807;; +let _ARM64_INS_SETGPTN = 808;; +let _ARM64_INS_SETM = 809;; +let _ARM64_INS_SETMN = 810;; +let _ARM64_INS_SETMT = 811;; +let _ARM64_INS_SETMTN = 812;; +let _ARM64_INS_SETP = 813;; +let _ARM64_INS_SETPN = 814;; +let _ARM64_INS_SETPT = 815;; +let _ARM64_INS_SETPTN = 816;; +let _ARM64_INS_SEV = 817;; +let _ARM64_INS_SEVL = 818;; +let _ARM64_INS_SHA1C = 819;; +let _ARM64_INS_SHA1H = 820;; +let _ARM64_INS_SHA1M = 821;; +let _ARM64_INS_SHA1P = 822;; +let _ARM64_INS_SHA1SU0 = 823;; +let _ARM64_INS_SHA1SU1 = 824;; +let _ARM64_INS_SHA256H = 825;; +let _ARM64_INS_SHA256H2 = 826;; +let _ARM64_INS_SHA256SU0 = 827;; +let _ARM64_INS_SHA256SU1 = 828;; +let _ARM64_INS_SHA512H = 829;; +let _ARM64_INS_SHA512H2 = 830;; +let _ARM64_INS_SHA512SU0 = 831;; +let _ARM64_INS_SHA512SU1 = 832;; +let _ARM64_INS_SHADD = 833;; +let _ARM64_INS_SHL = 834;; +let _ARM64_INS_SHLL = 835;; +let _ARM64_INS_SHLL2 = 836;; +let _ARM64_INS_SHRN = 837;; +let _ARM64_INS_SHRN2 = 838;; +let _ARM64_INS_SHRNB = 839;; +let _ARM64_INS_SHRNT = 840;; +let _ARM64_INS_SHSUB = 841;; +let _ARM64_INS_SHSUBR = 842;; +let _ARM64_INS_SLI = 843;; +let _ARM64_INS_SM3PARTW1 = 844;; +let _ARM64_INS_SM3PARTW2 = 845;; +let _ARM64_INS_SM3SS1 = 846;; +let _ARM64_INS_SM3TT1A = 847;; +let _ARM64_INS_SM3TT1B = 848;; +let _ARM64_INS_SM3TT2A = 849;; +let _ARM64_INS_SM3TT2B = 850;; +let _ARM64_INS_SM4E = 851;; +let _ARM64_INS_SM4EKEY = 852;; +let _ARM64_INS_SMADDL = 853;; +let _ARM64_INS_SMAX = 854;; +let _ARM64_INS_SMAXP = 855;; +let _ARM64_INS_SMAXV = 856;; +let _ARM64_INS_SMC = 857;; +let _ARM64_INS_SMIN = 858;; +let _ARM64_INS_SMINP = 859;; +let _ARM64_INS_SMINV = 860;; +let _ARM64_INS_SMLAL = 861;; +let _ARM64_INS_SMLAL2 = 862;; +let _ARM64_INS_SMLALB = 863;; +let _ARM64_INS_SMLALT = 864;; +let _ARM64_INS_SMLSL = 865;; +let _ARM64_INS_SMLSL2 = 866;; +let _ARM64_INS_SMLSLB = 867;; +let _ARM64_INS_SMLSLT = 868;; +let _ARM64_INS_SMMLA = 869;; +let _ARM64_INS_SMNEGL = 870;; +let _ARM64_INS_SMOPA = 871;; +let _ARM64_INS_SMOPS = 872;; +let _ARM64_INS_SMOV = 873;; +let _ARM64_INS_SMSTART = 874;; +let _ARM64_INS_SMSTOP = 875;; +let _ARM64_INS_SMSUBL = 876;; +let _ARM64_INS_SMULH = 877;; +let _ARM64_INS_SMULL = 878;; +let _ARM64_INS_SMULL2 = 879;; +let _ARM64_INS_SMULLB = 880;; +let _ARM64_INS_SMULLT = 881;; +let _ARM64_INS_SPLICE = 882;; +let _ARM64_INS_SQABS = 883;; +let _ARM64_INS_SQADD = 884;; +let _ARM64_INS_SQCADD = 885;; +let _ARM64_INS_SQDECB = 886;; +let _ARM64_INS_SQDECD = 887;; +let _ARM64_INS_SQDECH = 888;; +let _ARM64_INS_SQDECP = 889;; +let _ARM64_INS_SQDECW = 890;; +let _ARM64_INS_SQDMLAL = 891;; +let _ARM64_INS_SQDMLAL2 = 892;; +let _ARM64_INS_SQDMLALB = 893;; +let _ARM64_INS_SQDMLALBT = 894;; +let _ARM64_INS_SQDMLALT = 895;; +let _ARM64_INS_SQDMLSL = 896;; +let _ARM64_INS_SQDMLSL2 = 897;; +let _ARM64_INS_SQDMLSLB = 898;; +let _ARM64_INS_SQDMLSLBT = 899;; +let _ARM64_INS_SQDMLSLT = 900;; +let _ARM64_INS_SQDMULH = 901;; +let _ARM64_INS_SQDMULL = 902;; +let _ARM64_INS_SQDMULL2 = 903;; +let _ARM64_INS_SQDMULLB = 904;; +let _ARM64_INS_SQDMULLT = 905;; +let _ARM64_INS_SQINCB = 906;; +let _ARM64_INS_SQINCD = 907;; +let _ARM64_INS_SQINCH = 908;; +let _ARM64_INS_SQINCP = 909;; +let _ARM64_INS_SQINCW = 910;; +let _ARM64_INS_SQNEG = 911;; +let _ARM64_INS_SQRDCMLAH = 912;; +let _ARM64_INS_SQRDMLAH = 913;; +let _ARM64_INS_SQRDMLSH = 914;; +let _ARM64_INS_SQRDMULH = 915;; +let _ARM64_INS_SQRSHL = 916;; +let _ARM64_INS_SQRSHLR = 917;; +let _ARM64_INS_SQRSHRN = 918;; +let _ARM64_INS_SQRSHRN2 = 919;; +let _ARM64_INS_SQRSHRNB = 920;; +let _ARM64_INS_SQRSHRNT = 921;; +let _ARM64_INS_SQRSHRUN = 922;; +let _ARM64_INS_SQRSHRUN2 = 923;; +let _ARM64_INS_SQRSHRUNB = 924;; +let _ARM64_INS_SQRSHRUNT = 925;; +let _ARM64_INS_SQSHL = 926;; +let _ARM64_INS_SQSHLR = 927;; +let _ARM64_INS_SQSHLU = 928;; +let _ARM64_INS_SQSHRN = 929;; +let _ARM64_INS_SQSHRN2 = 930;; +let _ARM64_INS_SQSHRNB = 931;; +let _ARM64_INS_SQSHRNT = 932;; +let _ARM64_INS_SQSHRUN = 933;; +let _ARM64_INS_SQSHRUN2 = 934;; +let _ARM64_INS_SQSHRUNB = 935;; +let _ARM64_INS_SQSHRUNT = 936;; +let _ARM64_INS_SQSUB = 937;; +let _ARM64_INS_SQSUBR = 938;; +let _ARM64_INS_SQXTN = 939;; +let _ARM64_INS_SQXTN2 = 940;; +let _ARM64_INS_SQXTNB = 941;; +let _ARM64_INS_SQXTNT = 942;; +let _ARM64_INS_SQXTUN = 943;; +let _ARM64_INS_SQXTUN2 = 944;; +let _ARM64_INS_SQXTUNB = 945;; +let _ARM64_INS_SQXTUNT = 946;; +let _ARM64_INS_SRHADD = 947;; +let _ARM64_INS_SRI = 948;; +let _ARM64_INS_SRSHL = 949;; +let _ARM64_INS_SRSHLR = 950;; +let _ARM64_INS_SRSHR = 951;; +let _ARM64_INS_SRSRA = 952;; +let _ARM64_INS_SSBB = 953;; +let _ARM64_INS_SSHL = 954;; +let _ARM64_INS_SSHLL = 955;; +let _ARM64_INS_SSHLL2 = 956;; +let _ARM64_INS_SSHLLB = 957;; +let _ARM64_INS_SSHLLT = 958;; +let _ARM64_INS_SSHR = 959;; +let _ARM64_INS_SSRA = 960;; +let _ARM64_INS_SSUBL = 961;; +let _ARM64_INS_SSUBL2 = 962;; +let _ARM64_INS_SSUBLB = 963;; +let _ARM64_INS_SSUBLBT = 964;; +let _ARM64_INS_SSUBLT = 965;; +let _ARM64_INS_SSUBLTB = 966;; +let _ARM64_INS_SSUBW = 967;; +let _ARM64_INS_SSUBW2 = 968;; +let _ARM64_INS_SSUBWB = 969;; +let _ARM64_INS_SSUBWT = 970;; +let _ARM64_INS_ST1 = 971;; +let _ARM64_INS_ST1B = 972;; +let _ARM64_INS_ST1D = 973;; +let _ARM64_INS_ST1H = 974;; +let _ARM64_INS_ST1Q = 975;; +let _ARM64_INS_ST1W = 976;; +let _ARM64_INS_ST2 = 977;; +let _ARM64_INS_ST2B = 978;; +let _ARM64_INS_ST2D = 979;; +let _ARM64_INS_ST2G = 980;; +let _ARM64_INS_ST2H = 981;; +let _ARM64_INS_ST2W = 982;; +let _ARM64_INS_ST3 = 983;; +let _ARM64_INS_ST3B = 984;; +let _ARM64_INS_ST3D = 985;; +let _ARM64_INS_ST3H = 986;; +let _ARM64_INS_ST3W = 987;; +let _ARM64_INS_ST4 = 988;; +let _ARM64_INS_ST4B = 989;; +let _ARM64_INS_ST4D = 990;; +let _ARM64_INS_ST4H = 991;; +let _ARM64_INS_ST4W = 992;; +let _ARM64_INS_ST64B = 993;; +let _ARM64_INS_ST64BV = 994;; +let _ARM64_INS_ST64BV0 = 995;; +let _ARM64_INS_STADD = 996;; +let _ARM64_INS_STADDB = 997;; +let _ARM64_INS_STADDH = 998;; +let _ARM64_INS_STADDL = 999;; +let _ARM64_INS_STADDLB = 1000;; +let _ARM64_INS_STADDLH = 1001;; +let _ARM64_INS_STCLR = 1002;; +let _ARM64_INS_STCLRB = 1003;; +let _ARM64_INS_STCLRH = 1004;; +let _ARM64_INS_STCLRL = 1005;; +let _ARM64_INS_STCLRLB = 1006;; +let _ARM64_INS_STCLRLH = 1007;; +let _ARM64_INS_STEOR = 1008;; +let _ARM64_INS_STEORB = 1009;; +let _ARM64_INS_STEORH = 1010;; +let _ARM64_INS_STEORL = 1011;; +let _ARM64_INS_STEORLB = 1012;; +let _ARM64_INS_STEORLH = 1013;; +let _ARM64_INS_STG = 1014;; +let _ARM64_INS_STGM = 1015;; +let _ARM64_INS_STGP = 1016;; +let _ARM64_INS_STLLR = 1017;; +let _ARM64_INS_STLLRB = 1018;; +let _ARM64_INS_STLLRH = 1019;; +let _ARM64_INS_STLR = 1020;; +let _ARM64_INS_STLRB = 1021;; +let _ARM64_INS_STLRH = 1022;; +let _ARM64_INS_STLUR = 1023;; +let _ARM64_INS_STLURB = 1024;; +let _ARM64_INS_STLURH = 1025;; +let _ARM64_INS_STLXP = 1026;; +let _ARM64_INS_STLXR = 1027;; +let _ARM64_INS_STLXRB = 1028;; +let _ARM64_INS_STLXRH = 1029;; +let _ARM64_INS_STNP = 1030;; +let _ARM64_INS_STNT1B = 1031;; +let _ARM64_INS_STNT1D = 1032;; +let _ARM64_INS_STNT1H = 1033;; +let _ARM64_INS_STNT1W = 1034;; +let _ARM64_INS_STP = 1035;; +let _ARM64_INS_STR = 1036;; +let _ARM64_INS_STRB = 1037;; +let _ARM64_INS_STRH = 1038;; +let _ARM64_INS_STSET = 1039;; +let _ARM64_INS_STSETB = 1040;; +let _ARM64_INS_STSETH = 1041;; +let _ARM64_INS_STSETL = 1042;; +let _ARM64_INS_STSETLB = 1043;; +let _ARM64_INS_STSETLH = 1044;; +let _ARM64_INS_STSMAX = 1045;; +let _ARM64_INS_STSMAXB = 1046;; +let _ARM64_INS_STSMAXH = 1047;; +let _ARM64_INS_STSMAXL = 1048;; +let _ARM64_INS_STSMAXLB = 1049;; +let _ARM64_INS_STSMAXLH = 1050;; +let _ARM64_INS_STSMIN = 1051;; +let _ARM64_INS_STSMINB = 1052;; +let _ARM64_INS_STSMINH = 1053;; +let _ARM64_INS_STSMINL = 1054;; +let _ARM64_INS_STSMINLB = 1055;; +let _ARM64_INS_STSMINLH = 1056;; +let _ARM64_INS_STTR = 1057;; +let _ARM64_INS_STTRB = 1058;; +let _ARM64_INS_STTRH = 1059;; +let _ARM64_INS_STUMAX = 1060;; +let _ARM64_INS_STUMAXB = 1061;; +let _ARM64_INS_STUMAXH = 1062;; +let _ARM64_INS_STUMAXL = 1063;; +let _ARM64_INS_STUMAXLB = 1064;; +let _ARM64_INS_STUMAXLH = 1065;; +let _ARM64_INS_STUMIN = 1066;; +let _ARM64_INS_STUMINB = 1067;; +let _ARM64_INS_STUMINH = 1068;; +let _ARM64_INS_STUMINL = 1069;; +let _ARM64_INS_STUMINLB = 1070;; +let _ARM64_INS_STUMINLH = 1071;; +let _ARM64_INS_STUR = 1072;; +let _ARM64_INS_STURB = 1073;; +let _ARM64_INS_STURH = 1074;; +let _ARM64_INS_STXP = 1075;; +let _ARM64_INS_STXR = 1076;; +let _ARM64_INS_STXRB = 1077;; +let _ARM64_INS_STXRH = 1078;; +let _ARM64_INS_STZ2G = 1079;; +let _ARM64_INS_STZG = 1080;; +let _ARM64_INS_STZGM = 1081;; +let _ARM64_INS_SUB = 1082;; +let _ARM64_INS_SUBG = 1083;; +let _ARM64_INS_SUBHN = 1084;; +let _ARM64_INS_SUBHN2 = 1085;; +let _ARM64_INS_SUBHNB = 1086;; +let _ARM64_INS_SUBHNT = 1087;; +let _ARM64_INS_SUBP = 1088;; +let _ARM64_INS_SUBPS = 1089;; +let _ARM64_INS_SUBR = 1090;; +let _ARM64_INS_SUBS = 1091;; +let _ARM64_INS_SUDOT = 1092;; +let _ARM64_INS_SUMOPA = 1093;; +let _ARM64_INS_SUMOPS = 1094;; +let _ARM64_INS_SUNPKHI = 1095;; +let _ARM64_INS_SUNPKLO = 1096;; +let _ARM64_INS_SUQADD = 1097;; +let _ARM64_INS_SVC = 1098;; +let _ARM64_INS_SWP = 1099;; +let _ARM64_INS_SWPA = 1100;; +let _ARM64_INS_SWPAB = 1101;; +let _ARM64_INS_SWPAH = 1102;; +let _ARM64_INS_SWPAL = 1103;; +let _ARM64_INS_SWPALB = 1104;; +let _ARM64_INS_SWPALH = 1105;; +let _ARM64_INS_SWPB = 1106;; +let _ARM64_INS_SWPH = 1107;; +let _ARM64_INS_SWPL = 1108;; +let _ARM64_INS_SWPLB = 1109;; +let _ARM64_INS_SWPLH = 1110;; +let _ARM64_INS_SXTB = 1111;; +let _ARM64_INS_SXTH = 1112;; +let _ARM64_INS_SXTL = 1113;; +let _ARM64_INS_SXTL2 = 1114;; +let _ARM64_INS_SXTW = 1115;; +let _ARM64_INS_SYS = 1116;; +let _ARM64_INS_SYSL = 1117;; +let _ARM64_INS_TBL = 1118;; +let _ARM64_INS_TBNZ = 1119;; +let _ARM64_INS_TBX = 1120;; +let _ARM64_INS_TBZ = 1121;; +let _ARM64_INS_TCANCEL = 1122;; +let _ARM64_INS_TCOMMIT = 1123;; +let _ARM64_INS_TRN1 = 1124;; +let _ARM64_INS_TRN2 = 1125;; +let _ARM64_INS_TSB = 1126;; +let _ARM64_INS_TST = 1127;; +let _ARM64_INS_TSTART = 1128;; +let _ARM64_INS_TTEST = 1129;; +let _ARM64_INS_UABA = 1130;; +let _ARM64_INS_UABAL = 1131;; +let _ARM64_INS_UABAL2 = 1132;; +let _ARM64_INS_UABALB = 1133;; +let _ARM64_INS_UABALT = 1134;; +let _ARM64_INS_UABD = 1135;; +let _ARM64_INS_UABDL = 1136;; +let _ARM64_INS_UABDL2 = 1137;; +let _ARM64_INS_UABDLB = 1138;; +let _ARM64_INS_UABDLT = 1139;; +let _ARM64_INS_UADALP = 1140;; +let _ARM64_INS_UADDL = 1141;; +let _ARM64_INS_UADDL2 = 1142;; +let _ARM64_INS_UADDLB = 1143;; +let _ARM64_INS_UADDLP = 1144;; +let _ARM64_INS_UADDLT = 1145;; +let _ARM64_INS_UADDLV = 1146;; +let _ARM64_INS_UADDV = 1147;; +let _ARM64_INS_UADDW = 1148;; +let _ARM64_INS_UADDW2 = 1149;; +let _ARM64_INS_UADDWB = 1150;; +let _ARM64_INS_UADDWT = 1151;; +let _ARM64_INS_UBFM = 1152;; +let _ARM64_INS_UCLAMP = 1153;; +let _ARM64_INS_UCVTF = 1154;; +let _ARM64_INS_UDF = 1155;; +let _ARM64_INS_UDIV = 1156;; +let _ARM64_INS_UDIVR = 1157;; +let _ARM64_INS_UDOT = 1158;; +let _ARM64_INS_UHADD = 1159;; +let _ARM64_INS_UHSUB = 1160;; +let _ARM64_INS_UHSUBR = 1161;; +let _ARM64_INS_UMADDL = 1162;; +let _ARM64_INS_UMAX = 1163;; +let _ARM64_INS_UMAXP = 1164;; +let _ARM64_INS_UMAXV = 1165;; +let _ARM64_INS_UMIN = 1166;; +let _ARM64_INS_UMINP = 1167;; +let _ARM64_INS_UMINV = 1168;; +let _ARM64_INS_UMLAL = 1169;; +let _ARM64_INS_UMLAL2 = 1170;; +let _ARM64_INS_UMLALB = 1171;; +let _ARM64_INS_UMLALT = 1172;; +let _ARM64_INS_UMLSL = 1173;; +let _ARM64_INS_UMLSL2 = 1174;; +let _ARM64_INS_UMLSLB = 1175;; +let _ARM64_INS_UMLSLT = 1176;; +let _ARM64_INS_UMMLA = 1177;; +let _ARM64_INS_UMNEGL = 1178;; +let _ARM64_INS_UMOPA = 1179;; +let _ARM64_INS_UMOPS = 1180;; +let _ARM64_INS_UMOV = 1181;; +let _ARM64_INS_UMSUBL = 1182;; +let _ARM64_INS_UMULH = 1183;; +let _ARM64_INS_UMULL = 1184;; +let _ARM64_INS_UMULL2 = 1185;; +let _ARM64_INS_UMULLB = 1186;; +let _ARM64_INS_UMULLT = 1187;; +let _ARM64_INS_UQADD = 1188;; +let _ARM64_INS_UQDECB = 1189;; +let _ARM64_INS_UQDECD = 1190;; +let _ARM64_INS_UQDECH = 1191;; +let _ARM64_INS_UQDECP = 1192;; +let _ARM64_INS_UQDECW = 1193;; +let _ARM64_INS_UQINCB = 1194;; +let _ARM64_INS_UQINCD = 1195;; +let _ARM64_INS_UQINCH = 1196;; +let _ARM64_INS_UQINCP = 1197;; +let _ARM64_INS_UQINCW = 1198;; +let _ARM64_INS_UQRSHL = 1199;; +let _ARM64_INS_UQRSHLR = 1200;; +let _ARM64_INS_UQRSHRN = 1201;; +let _ARM64_INS_UQRSHRN2 = 1202;; +let _ARM64_INS_UQRSHRNB = 1203;; +let _ARM64_INS_UQRSHRNT = 1204;; +let _ARM64_INS_UQSHL = 1205;; +let _ARM64_INS_UQSHLR = 1206;; +let _ARM64_INS_UQSHRN = 1207;; +let _ARM64_INS_UQSHRN2 = 1208;; +let _ARM64_INS_UQSHRNB = 1209;; +let _ARM64_INS_UQSHRNT = 1210;; +let _ARM64_INS_UQSUB = 1211;; +let _ARM64_INS_UQSUBR = 1212;; +let _ARM64_INS_UQXTN = 1213;; +let _ARM64_INS_UQXTN2 = 1214;; +let _ARM64_INS_UQXTNB = 1215;; +let _ARM64_INS_UQXTNT = 1216;; +let _ARM64_INS_URECPE = 1217;; +let _ARM64_INS_URHADD = 1218;; +let _ARM64_INS_URSHL = 1219;; +let _ARM64_INS_URSHLR = 1220;; +let _ARM64_INS_URSHR = 1221;; +let _ARM64_INS_URSQRTE = 1222;; +let _ARM64_INS_URSRA = 1223;; +let _ARM64_INS_USDOT = 1224;; +let _ARM64_INS_USHL = 1225;; +let _ARM64_INS_USHLL = 1226;; +let _ARM64_INS_USHLL2 = 1227;; +let _ARM64_INS_USHLLB = 1228;; +let _ARM64_INS_USHLLT = 1229;; +let _ARM64_INS_USHR = 1230;; +let _ARM64_INS_USMMLA = 1231;; +let _ARM64_INS_USMOPA = 1232;; +let _ARM64_INS_USMOPS = 1233;; +let _ARM64_INS_USQADD = 1234;; +let _ARM64_INS_USRA = 1235;; +let _ARM64_INS_USUBL = 1236;; +let _ARM64_INS_USUBL2 = 1237;; +let _ARM64_INS_USUBLB = 1238;; +let _ARM64_INS_USUBLT = 1239;; +let _ARM64_INS_USUBW = 1240;; +let _ARM64_INS_USUBW2 = 1241;; +let _ARM64_INS_USUBWB = 1242;; +let _ARM64_INS_USUBWT = 1243;; +let _ARM64_INS_UUNPKHI = 1244;; +let _ARM64_INS_UUNPKLO = 1245;; +let _ARM64_INS_UXTB = 1246;; +let _ARM64_INS_UXTH = 1247;; +let _ARM64_INS_UXTL = 1248;; +let _ARM64_INS_UXTL2 = 1249;; +let _ARM64_INS_UXTW = 1250;; +let _ARM64_INS_UZP1 = 1251;; +let _ARM64_INS_UZP2 = 1252;; +let _ARM64_INS_WFE = 1253;; +let _ARM64_INS_WFET = 1254;; +let _ARM64_INS_WFI = 1255;; +let _ARM64_INS_WFIT = 1256;; +let _ARM64_INS_WHILEGE = 1257;; +let _ARM64_INS_WHILEGT = 1258;; +let _ARM64_INS_WHILEHI = 1259;; +let _ARM64_INS_WHILEHS = 1260;; +let _ARM64_INS_WHILELE = 1261;; +let _ARM64_INS_WHILELO = 1262;; +let _ARM64_INS_WHILELS = 1263;; +let _ARM64_INS_WHILELT = 1264;; +let _ARM64_INS_WHILERW = 1265;; +let _ARM64_INS_WHILEWR = 1266;; +let _ARM64_INS_WRFFR = 1267;; +let _ARM64_INS_XAFLAG = 1268;; +let _ARM64_INS_XAR = 1269;; +let _ARM64_INS_XPACD = 1270;; +let _ARM64_INS_XPACI = 1271;; +let _ARM64_INS_XPACLRI = 1272;; +let _ARM64_INS_XTN = 1273;; +let _ARM64_INS_XTN2 = 1274;; +let _ARM64_INS_YIELD = 1275;; +let _ARM64_INS_ZERO = 1276;; +let _ARM64_INS_ZIP1 = 1277;; +let _ARM64_INS_ZIP2 = 1278;; +let _ARM64_INS_SBFIZ = 1279;; +let _ARM64_INS_UBFIZ = 1280;; +let _ARM64_INS_SBFX = 1281;; +let _ARM64_INS_UBFX = 1282;; +let _ARM64_INS_BFI = 1283;; +let _ARM64_INS_BFXIL = 1284;; +let _ARM64_INS_IC = 1285;; +let _ARM64_INS_DC = 1286;; +let _ARM64_INS_AT = 1287;; +let _ARM64_INS_TLBI = 1288;; +let _ARM64_INS_ENDING = 1289;; let _ARM64_GRP_INVALID = 0;; let _ARM64_GRP_JUMP = 1;; @@ -2241,7 +2990,18 @@ let _ARM64_GRP_SHA2 = 138;; let _ARM64_GRP_SHA3 = 139;; let _ARM64_GRP_SM4 = 140;; let _ARM64_GRP_SVE = 141;; -let _ARM64_GRP_V8_1A = 142;; -let _ARM64_GRP_V8_3A = 143;; -let _ARM64_GRP_V8_4A = 144;; -let _ARM64_GRP_ENDING = 145;; +let _ARM64_GRP_SVE2 = 142;; +let _ARM64_GRP_SVE2AES = 143;; +let _ARM64_GRP_SVE2BitPerm = 144;; +let _ARM64_GRP_SVE2SHA3 = 145;; +let _ARM64_GRP_SVE2SM4 = 146;; +let _ARM64_GRP_SME = 147;; +let _ARM64_GRP_SMEF64 = 148;; +let _ARM64_GRP_SMEI64 = 149;; +let _ARM64_GRP_MatMulFP32 = 150;; +let _ARM64_GRP_MatMulFP64 = 151;; +let _ARM64_GRP_MatMulInt8 = 152;; +let _ARM64_GRP_V8_1A = 153;; +let _ARM64_GRP_V8_3A = 154;; +let _ARM64_GRP_V8_4A = 155;; +let _ARM64_GRP_ENDING = 156;; From 47d315fd97242584685505515c866151875c4f9f Mon Sep 17 00:00:00 2001 From: kabeor Date: Mon, 21 Aug 2023 17:42:26 +0800 Subject: [PATCH 12/13] update capstone version --- bindings/python/capstone/__init__.py | 2 +- include/capstone/capstone.h | 2 +- pkgconfig.mk | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bindings/python/capstone/__init__.py b/bindings/python/capstone/__init__.py index 22b26727b1..bda2fdb687 100755 --- a/bindings/python/capstone/__init__.py +++ b/bindings/python/capstone/__init__.py @@ -194,7 +194,7 @@ # Package version CS_VERSION_MAJOR = CS_API_MAJOR CS_VERSION_MINOR = CS_API_MINOR -CS_VERSION_EXTRA = 0 +CS_VERSION_EXTRA = 1 __version__ = "%u.%u.%u" %(CS_VERSION_MAJOR, CS_VERSION_MINOR, CS_VERSION_EXTRA) diff --git a/include/capstone/capstone.h b/include/capstone/capstone.h index d028fb574e..8ade68e70c 100644 --- a/include/capstone/capstone.h +++ b/include/capstone/capstone.h @@ -58,7 +58,7 @@ extern "C" { // Capstone package version #define CS_VERSION_MAJOR CS_API_MAJOR #define CS_VERSION_MINOR CS_API_MINOR -#define CS_VERSION_EXTRA 0 +#define CS_VERSION_EXTRA 1 /// Macro to create combined version which can be compared to /// result of cs_version() API. diff --git a/pkgconfig.mk b/pkgconfig.mk index 27b96ccdf0..94b2479f1e 100644 --- a/pkgconfig.mk +++ b/pkgconfig.mk @@ -6,7 +6,7 @@ PKG_MAJOR = 5 PKG_MINOR = 0 # version bugfix level. Example: PKG_EXTRA = 1 -PKG_EXTRA = 0 +PKG_EXTRA = 1 # version tag. Examples: rc1, b2, post1 - or just comment out for no tag -PKG_TAG = post1 +PKG_TAG = From 6a9346a2eec6f13644c016631c2964e1dc8d3a47 Mon Sep 17 00:00:00 2001 From: kabeor Date: Mon, 21 Aug 2023 17:44:56 +0800 Subject: [PATCH 13/13] update ChangeLog --- ChangeLog | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/ChangeLog b/ChangeLog index b06d27e0c5..31c7a54b32 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,27 @@ This file details the changelog of Capstone. +----------------------------- +Version 5.0.1: August 21th, 2023 + +## What's Changed +* Release V5.0 by @kabeor in https://github.com/capstone-engine/capstone/pull/2076 +* [ARM] Fix VFP feature check by @Rot127 in https://github.com/capstone-engine/capstone/pull/2090 +* Restore the ARM register naming from v4. by @gerph in https://github.com/capstone-engine/capstone/pull/2108 +* Use OS independent printf formatting. by @Rot127 in https://github.com/capstone-engine/capstone/pull/2109 +* Cherry-pick from next for v5.0.1 by @kabeor in https://github.com/capstone-engine/capstone/pull/2141 + * Add Python bindings for WASM by @peace-maker https://github.com/capstone-engine/capstone/pull/2095 + * Sync Python bindings for x86, m68k, and mos65xx by @peace-maker https://github.com/capstone-engine/capstone/pull/2100 + * Add Python bindings for SH by @peace-maker https://github.com/capstone-engine/capstone/pull/2096 + * Update Python binding constants by @peace-maker https://github.com/capstone-engine/capstone/pull/2097 + * Fixing TriCore disasm instructions by @bkoppelmann https://github.com/capstone-engine/capstone/pull/2088 + * allow absolute CMAKE_INSTALL_*DIR @chayleaf https://github.com/capstone-engine/capstone/pull/2134 + +## New Contributors +* @gerph made their first contribution in https://github.com/capstone-engine/capstone/pull/2108 +* @bkoppelmann made their first contribution in https://github.com/capstone-engine/capstone/pull/2088 +* @chayleaf made their first contribution in https://github.com/capstone-engine/capstone/pull/2134 + + ----------------------------- Version 5.0.0: July 5th, 2023