asmjit 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/asmjit.gemspec +1 -1
- data/ext/asmjit/asmjit/.editorconfig +10 -0
- data/ext/asmjit/asmjit/.github/FUNDING.yml +1 -0
- data/ext/asmjit/asmjit/.github/workflows/build-config.json +47 -0
- data/ext/asmjit/asmjit/.github/workflows/build.yml +156 -0
- data/ext/asmjit/asmjit/.gitignore +6 -0
- data/ext/asmjit/asmjit/CMakeLists.txt +611 -0
- data/ext/asmjit/asmjit/LICENSE.md +17 -0
- data/ext/asmjit/asmjit/README.md +69 -0
- data/ext/asmjit/asmjit/src/asmjit/a64.h +62 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64archtraits_p.h +81 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64assembler.cpp +5115 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64assembler.h +72 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64builder.cpp +51 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64builder.h +57 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64compiler.cpp +60 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64compiler.h +247 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64emithelper.cpp +464 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64emithelper_p.h +50 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64emitter.h +1228 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64formatter.cpp +298 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64formatter_p.h +59 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64func.cpp +189 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64func_p.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64globals.h +1894 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instapi.cpp +278 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instapi_p.h +41 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb.cpp +1957 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb.h +74 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb_p.h +876 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64operand.cpp +85 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64operand.h +312 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64rapass.cpp +852 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64rapass_p.h +105 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/a64utils.h +179 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armformatter.cpp +143 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armformatter_p.h +44 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armglobals.h +21 -0
- data/ext/asmjit/asmjit/src/asmjit/arm/armoperand.h +621 -0
- data/ext/asmjit/asmjit/src/asmjit/arm.h +62 -0
- data/ext/asmjit/asmjit/src/asmjit/asmjit-scope-begin.h +17 -0
- data/ext/asmjit/asmjit/src/asmjit/asmjit-scope-end.h +9 -0
- data/ext/asmjit/asmjit/src/asmjit/asmjit.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/core/api-build_p.h +55 -0
- data/ext/asmjit/asmjit/src/asmjit/core/api-config.h +613 -0
- data/ext/asmjit/asmjit/src/asmjit/core/archcommons.h +229 -0
- data/ext/asmjit/asmjit/src/asmjit/core/archtraits.cpp +160 -0
- data/ext/asmjit/asmjit/src/asmjit/core/archtraits.h +290 -0
- data/ext/asmjit/asmjit/src/asmjit/core/assembler.cpp +406 -0
- data/ext/asmjit/asmjit/src/asmjit/core/assembler.h +129 -0
- data/ext/asmjit/asmjit/src/asmjit/core/builder.cpp +889 -0
- data/ext/asmjit/asmjit/src/asmjit/core/builder.h +1391 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codebuffer.h +113 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codeholder.cpp +1149 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codeholder.h +1035 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codewriter.cpp +175 -0
- data/ext/asmjit/asmjit/src/asmjit/core/codewriter_p.h +179 -0
- data/ext/asmjit/asmjit/src/asmjit/core/compiler.cpp +582 -0
- data/ext/asmjit/asmjit/src/asmjit/core/compiler.h +737 -0
- data/ext/asmjit/asmjit/src/asmjit/core/compilerdefs.h +173 -0
- data/ext/asmjit/asmjit/src/asmjit/core/constpool.cpp +363 -0
- data/ext/asmjit/asmjit/src/asmjit/core/constpool.h +250 -0
- data/ext/asmjit/asmjit/src/asmjit/core/cpuinfo.cpp +1162 -0
- data/ext/asmjit/asmjit/src/asmjit/core/cpuinfo.h +813 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emithelper.cpp +323 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emithelper_p.h +58 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitter.cpp +333 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitter.h +741 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitterutils.cpp +129 -0
- data/ext/asmjit/asmjit/src/asmjit/core/emitterutils_p.h +89 -0
- data/ext/asmjit/asmjit/src/asmjit/core/environment.cpp +46 -0
- data/ext/asmjit/asmjit/src/asmjit/core/environment.h +508 -0
- data/ext/asmjit/asmjit/src/asmjit/core/errorhandler.cpp +14 -0
- data/ext/asmjit/asmjit/src/asmjit/core/errorhandler.h +228 -0
- data/ext/asmjit/asmjit/src/asmjit/core/formatter.cpp +584 -0
- data/ext/asmjit/asmjit/src/asmjit/core/formatter.h +247 -0
- data/ext/asmjit/asmjit/src/asmjit/core/formatter_p.h +34 -0
- data/ext/asmjit/asmjit/src/asmjit/core/func.cpp +286 -0
- data/ext/asmjit/asmjit/src/asmjit/core/func.h +1445 -0
- data/ext/asmjit/asmjit/src/asmjit/core/funcargscontext.cpp +293 -0
- data/ext/asmjit/asmjit/src/asmjit/core/funcargscontext_p.h +199 -0
- data/ext/asmjit/asmjit/src/asmjit/core/globals.cpp +133 -0
- data/ext/asmjit/asmjit/src/asmjit/core/globals.h +393 -0
- data/ext/asmjit/asmjit/src/asmjit/core/inst.cpp +113 -0
- data/ext/asmjit/asmjit/src/asmjit/core/inst.h +772 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitallocator.cpp +1242 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitallocator.h +261 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitruntime.cpp +80 -0
- data/ext/asmjit/asmjit/src/asmjit/core/jitruntime.h +89 -0
- data/ext/asmjit/asmjit/src/asmjit/core/logger.cpp +69 -0
- data/ext/asmjit/asmjit/src/asmjit/core/logger.h +198 -0
- data/ext/asmjit/asmjit/src/asmjit/core/misc_p.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/core/operand.cpp +132 -0
- data/ext/asmjit/asmjit/src/asmjit/core/operand.h +1611 -0
- data/ext/asmjit/asmjit/src/asmjit/core/osutils.cpp +84 -0
- data/ext/asmjit/asmjit/src/asmjit/core/osutils.h +61 -0
- data/ext/asmjit/asmjit/src/asmjit/core/osutils_p.h +68 -0
- data/ext/asmjit/asmjit/src/asmjit/core/raassignment_p.h +418 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rabuilders_p.h +612 -0
- data/ext/asmjit/asmjit/src/asmjit/core/radefs_p.h +1204 -0
- data/ext/asmjit/asmjit/src/asmjit/core/ralocal.cpp +1166 -0
- data/ext/asmjit/asmjit/src/asmjit/core/ralocal_p.h +254 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rapass.cpp +1969 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rapass_p.h +1183 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rastack.cpp +184 -0
- data/ext/asmjit/asmjit/src/asmjit/core/rastack_p.h +171 -0
- data/ext/asmjit/asmjit/src/asmjit/core/string.cpp +559 -0
- data/ext/asmjit/asmjit/src/asmjit/core/string.h +372 -0
- data/ext/asmjit/asmjit/src/asmjit/core/support.cpp +494 -0
- data/ext/asmjit/asmjit/src/asmjit/core/support.h +1773 -0
- data/ext/asmjit/asmjit/src/asmjit/core/target.cpp +14 -0
- data/ext/asmjit/asmjit/src/asmjit/core/target.h +53 -0
- data/ext/asmjit/asmjit/src/asmjit/core/type.cpp +74 -0
- data/ext/asmjit/asmjit/src/asmjit/core/type.h +419 -0
- data/ext/asmjit/asmjit/src/asmjit/core/virtmem.cpp +722 -0
- data/ext/asmjit/asmjit/src/asmjit/core/virtmem.h +242 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zone.cpp +353 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zone.h +615 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonehash.cpp +309 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonehash.h +186 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonelist.cpp +163 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonelist.h +209 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonestack.cpp +176 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonestack.h +239 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonestring.h +120 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonetree.cpp +99 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonetree.h +380 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonevector.cpp +356 -0
- data/ext/asmjit/asmjit/src/asmjit/core/zonevector.h +690 -0
- data/ext/asmjit/asmjit/src/asmjit/core.h +1861 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86archtraits_p.h +148 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86assembler.cpp +5110 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86assembler.h +685 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86builder.cpp +52 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86builder.h +351 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86compiler.cpp +61 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86compiler.h +721 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86emithelper.cpp +619 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86emithelper_p.h +60 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86emitter.h +4315 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86formatter.cpp +944 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86formatter_p.h +58 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86func.cpp +503 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86func_p.h +33 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86globals.h +2169 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instapi.cpp +1732 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instapi_p.h +41 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb.cpp +4427 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb.h +563 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb_p.h +311 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86opcode_p.h +436 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86operand.cpp +231 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86operand.h +1085 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86rapass.cpp +1509 -0
- data/ext/asmjit/asmjit/src/asmjit/x86/x86rapass_p.h +94 -0
- data/ext/asmjit/asmjit/src/asmjit/x86.h +93 -0
- data/ext/asmjit/asmjit/src/asmjit.natvis +245 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler.cpp +84 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler.h +85 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler_a64.cpp +4006 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler_x64.cpp +17833 -0
- data/ext/asmjit/asmjit/test/asmjit_test_assembler_x86.cpp +8300 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler.cpp +253 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler.h +73 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler_a64.cpp +690 -0
- data/ext/asmjit/asmjit/test/asmjit_test_compiler_x86.cpp +4317 -0
- data/ext/asmjit/asmjit/test/asmjit_test_emitters.cpp +197 -0
- data/ext/asmjit/asmjit/test/asmjit_test_instinfo.cpp +181 -0
- data/ext/asmjit/asmjit/test/asmjit_test_misc.h +257 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf.cpp +62 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf.h +61 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf_a64.cpp +699 -0
- data/ext/asmjit/asmjit/test/asmjit_test_perf_x86.cpp +5032 -0
- data/ext/asmjit/asmjit/test/asmjit_test_unit.cpp +172 -0
- data/ext/asmjit/asmjit/test/asmjit_test_x86_sections.cpp +172 -0
- data/ext/asmjit/asmjit/test/asmjitutils.h +38 -0
- data/ext/asmjit/asmjit/test/broken.cpp +312 -0
- data/ext/asmjit/asmjit/test/broken.h +148 -0
- data/ext/asmjit/asmjit/test/cmdline.h +61 -0
- data/ext/asmjit/asmjit/test/performancetimer.h +41 -0
- data/ext/asmjit/asmjit/tools/configure-makefiles.sh +13 -0
- data/ext/asmjit/asmjit/tools/configure-ninja.sh +13 -0
- data/ext/asmjit/asmjit/tools/configure-sanitizers.sh +13 -0
- data/ext/asmjit/asmjit/tools/configure-vs2019-x64.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-vs2019-x86.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-vs2022-x64.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-vs2022-x86.bat +2 -0
- data/ext/asmjit/asmjit/tools/configure-xcode.sh +8 -0
- data/ext/asmjit/asmjit/tools/enumgen.js +417 -0
- data/ext/asmjit/asmjit/tools/enumgen.sh +3 -0
- data/ext/asmjit/asmjit/tools/tablegen-arm.js +365 -0
- data/ext/asmjit/asmjit/tools/tablegen-arm.sh +3 -0
- data/ext/asmjit/asmjit/tools/tablegen-x86.js +2638 -0
- data/ext/asmjit/asmjit/tools/tablegen-x86.sh +3 -0
- data/ext/asmjit/asmjit/tools/tablegen.js +947 -0
- data/ext/asmjit/asmjit/tools/tablegen.sh +4 -0
- data/ext/asmjit/asmjit.cc +18 -0
- data/lib/asmjit/version.rb +1 -1
- metadata +197 -2
@@ -0,0 +1,1894 @@
|
|
1
|
+
// This file is part of AsmJit project <https://asmjit.com>
|
2
|
+
//
|
3
|
+
// See asmjit.h or LICENSE.md for license and copyright information
|
4
|
+
// SPDX-License-Identifier: Zlib
|
5
|
+
|
6
|
+
#ifndef ASMJIT_ARM_A64GLOBALS_H_INCLUDED
|
7
|
+
#define ASMJIT_ARM_A64GLOBALS_H_INCLUDED
|
8
|
+
|
9
|
+
#include "../arm/armglobals.h"
|
10
|
+
|
11
|
+
//! \namespace asmjit::a64
|
12
|
+
//! \ingroup asmjit_a64
|
13
|
+
//!
|
14
|
+
//! AArch64 backend.
|
15
|
+
|
16
|
+
ASMJIT_BEGIN_SUB_NAMESPACE(a64)
|
17
|
+
|
18
|
+
// a64 uses everything from arm namespace and adds into it.
|
19
|
+
using namespace arm;
|
20
|
+
|
21
|
+
//! \addtogroup asmjit_a64
|
22
|
+
//! \{
|
23
|
+
|
24
|
+
//! AArch64 instruction.
|
25
|
+
//!
|
26
|
+
//! \note Only used to hold ARM-specific enumerations and static functions.
|
27
|
+
struct Inst {
|
28
|
+
//! Instruction id.
|
29
|
+
enum Id : uint32_t {
|
30
|
+
// ${InstId:Begin}
|
31
|
+
kIdNone = 0, //!< Instruction ''.
|
32
|
+
kIdAdc, //!< Instruction 'adc'.
|
33
|
+
kIdAdcs, //!< Instruction 'adcs'.
|
34
|
+
kIdAdd, //!< Instruction 'add'.
|
35
|
+
kIdAddg, //!< Instruction 'addg'.
|
36
|
+
kIdAdds, //!< Instruction 'adds'.
|
37
|
+
kIdAdr, //!< Instruction 'adr'.
|
38
|
+
kIdAdrp, //!< Instruction 'adrp'.
|
39
|
+
kIdAnd, //!< Instruction 'and'.
|
40
|
+
kIdAnds, //!< Instruction 'ands'.
|
41
|
+
kIdAsr, //!< Instruction 'asr'.
|
42
|
+
kIdAsrv, //!< Instruction 'asrv'.
|
43
|
+
kIdAt, //!< Instruction 'at'.
|
44
|
+
kIdAutda, //!< Instruction 'autda'.
|
45
|
+
kIdAutdza, //!< Instruction 'autdza'.
|
46
|
+
kIdAutdb, //!< Instruction 'autdb'.
|
47
|
+
kIdAutdzb, //!< Instruction 'autdzb'.
|
48
|
+
kIdAutia, //!< Instruction 'autia'.
|
49
|
+
kIdAutia1716, //!< Instruction 'autia1716'.
|
50
|
+
kIdAutiasp, //!< Instruction 'autiasp'.
|
51
|
+
kIdAutiaz, //!< Instruction 'autiaz'.
|
52
|
+
kIdAutib, //!< Instruction 'autib'.
|
53
|
+
kIdAutib1716, //!< Instruction 'autib1716'.
|
54
|
+
kIdAutibsp, //!< Instruction 'autibsp'.
|
55
|
+
kIdAutibz, //!< Instruction 'autibz'.
|
56
|
+
kIdAutiza, //!< Instruction 'autiza'.
|
57
|
+
kIdAutizb, //!< Instruction 'autizb'.
|
58
|
+
kIdAxflag, //!< Instruction 'axflag'.
|
59
|
+
kIdB, //!< Instruction 'b'.
|
60
|
+
kIdBfc, //!< Instruction 'bfc'.
|
61
|
+
kIdBfi, //!< Instruction 'bfi'.
|
62
|
+
kIdBfm, //!< Instruction 'bfm'.
|
63
|
+
kIdBfxil, //!< Instruction 'bfxil'.
|
64
|
+
kIdBic, //!< Instruction 'bic'.
|
65
|
+
kIdBics, //!< Instruction 'bics'.
|
66
|
+
kIdBl, //!< Instruction 'bl'.
|
67
|
+
kIdBlr, //!< Instruction 'blr'.
|
68
|
+
kIdBr, //!< Instruction 'br'.
|
69
|
+
kIdBrk, //!< Instruction 'brk'.
|
70
|
+
kIdCas, //!< Instruction 'cas'.
|
71
|
+
kIdCasa, //!< Instruction 'casa'.
|
72
|
+
kIdCasab, //!< Instruction 'casab'.
|
73
|
+
kIdCasah, //!< Instruction 'casah'.
|
74
|
+
kIdCasal, //!< Instruction 'casal'.
|
75
|
+
kIdCasalb, //!< Instruction 'casalb'.
|
76
|
+
kIdCasalh, //!< Instruction 'casalh'.
|
77
|
+
kIdCasb, //!< Instruction 'casb'.
|
78
|
+
kIdCash, //!< Instruction 'cash'.
|
79
|
+
kIdCasl, //!< Instruction 'casl'.
|
80
|
+
kIdCaslb, //!< Instruction 'caslb'.
|
81
|
+
kIdCaslh, //!< Instruction 'caslh'.
|
82
|
+
kIdCasp, //!< Instruction 'casp'.
|
83
|
+
kIdCaspa, //!< Instruction 'caspa'.
|
84
|
+
kIdCaspal, //!< Instruction 'caspal'.
|
85
|
+
kIdCaspl, //!< Instruction 'caspl'.
|
86
|
+
kIdCbnz, //!< Instruction 'cbnz'.
|
87
|
+
kIdCbz, //!< Instruction 'cbz'.
|
88
|
+
kIdCcmn, //!< Instruction 'ccmn'.
|
89
|
+
kIdCcmp, //!< Instruction 'ccmp'.
|
90
|
+
kIdCfinv, //!< Instruction 'cfinv'.
|
91
|
+
kIdCinc, //!< Instruction 'cinc'.
|
92
|
+
kIdCinv, //!< Instruction 'cinv'.
|
93
|
+
kIdClrex, //!< Instruction 'clrex'.
|
94
|
+
kIdCls, //!< Instruction 'cls'.
|
95
|
+
kIdClz, //!< Instruction 'clz'.
|
96
|
+
kIdCmn, //!< Instruction 'cmn'.
|
97
|
+
kIdCmp, //!< Instruction 'cmp'.
|
98
|
+
kIdCmpp, //!< Instruction 'cmpp'.
|
99
|
+
kIdCneg, //!< Instruction 'cneg'.
|
100
|
+
kIdCrc32b, //!< Instruction 'crc32b'.
|
101
|
+
kIdCrc32cb, //!< Instruction 'crc32cb'.
|
102
|
+
kIdCrc32ch, //!< Instruction 'crc32ch'.
|
103
|
+
kIdCrc32cw, //!< Instruction 'crc32cw'.
|
104
|
+
kIdCrc32cx, //!< Instruction 'crc32cx'.
|
105
|
+
kIdCrc32h, //!< Instruction 'crc32h'.
|
106
|
+
kIdCrc32w, //!< Instruction 'crc32w'.
|
107
|
+
kIdCrc32x, //!< Instruction 'crc32x'.
|
108
|
+
kIdCsdb, //!< Instruction 'csdb'.
|
109
|
+
kIdCsel, //!< Instruction 'csel'.
|
110
|
+
kIdCset, //!< Instruction 'cset'.
|
111
|
+
kIdCsetm, //!< Instruction 'csetm'.
|
112
|
+
kIdCsinc, //!< Instruction 'csinc'.
|
113
|
+
kIdCsinv, //!< Instruction 'csinv'.
|
114
|
+
kIdCsneg, //!< Instruction 'csneg'.
|
115
|
+
kIdDc, //!< Instruction 'dc'.
|
116
|
+
kIdDcps1, //!< Instruction 'dcps1'.
|
117
|
+
kIdDcps2, //!< Instruction 'dcps2'.
|
118
|
+
kIdDcps3, //!< Instruction 'dcps3'.
|
119
|
+
kIdDgh, //!< Instruction 'dgh'.
|
120
|
+
kIdDmb, //!< Instruction 'dmb'.
|
121
|
+
kIdDrps, //!< Instruction 'drps'.
|
122
|
+
kIdDsb, //!< Instruction 'dsb'.
|
123
|
+
kIdEon, //!< Instruction 'eon'.
|
124
|
+
kIdEor, //!< Instruction 'eor'.
|
125
|
+
kIdEsb, //!< Instruction 'esb'.
|
126
|
+
kIdExtr, //!< Instruction 'extr'.
|
127
|
+
kIdEret, //!< Instruction 'eret'.
|
128
|
+
kIdGmi, //!< Instruction 'gmi'.
|
129
|
+
kIdHint, //!< Instruction 'hint'.
|
130
|
+
kIdHlt, //!< Instruction 'hlt'.
|
131
|
+
kIdHvc, //!< Instruction 'hvc'.
|
132
|
+
kIdIc, //!< Instruction 'ic'.
|
133
|
+
kIdIsb, //!< Instruction 'isb'.
|
134
|
+
kIdLdadd, //!< Instruction 'ldadd'.
|
135
|
+
kIdLdadda, //!< Instruction 'ldadda'.
|
136
|
+
kIdLdaddab, //!< Instruction 'ldaddab'.
|
137
|
+
kIdLdaddah, //!< Instruction 'ldaddah'.
|
138
|
+
kIdLdaddal, //!< Instruction 'ldaddal'.
|
139
|
+
kIdLdaddalb, //!< Instruction 'ldaddalb'.
|
140
|
+
kIdLdaddalh, //!< Instruction 'ldaddalh'.
|
141
|
+
kIdLdaddb, //!< Instruction 'ldaddb'.
|
142
|
+
kIdLdaddh, //!< Instruction 'ldaddh'.
|
143
|
+
kIdLdaddl, //!< Instruction 'ldaddl'.
|
144
|
+
kIdLdaddlb, //!< Instruction 'ldaddlb'.
|
145
|
+
kIdLdaddlh, //!< Instruction 'ldaddlh'.
|
146
|
+
kIdLdar, //!< Instruction 'ldar'.
|
147
|
+
kIdLdarb, //!< Instruction 'ldarb'.
|
148
|
+
kIdLdarh, //!< Instruction 'ldarh'.
|
149
|
+
kIdLdaxp, //!< Instruction 'ldaxp'.
|
150
|
+
kIdLdaxr, //!< Instruction 'ldaxr'.
|
151
|
+
kIdLdaxrb, //!< Instruction 'ldaxrb'.
|
152
|
+
kIdLdaxrh, //!< Instruction 'ldaxrh'.
|
153
|
+
kIdLdclr, //!< Instruction 'ldclr'.
|
154
|
+
kIdLdclra, //!< Instruction 'ldclra'.
|
155
|
+
kIdLdclrab, //!< Instruction 'ldclrab'.
|
156
|
+
kIdLdclrah, //!< Instruction 'ldclrah'.
|
157
|
+
kIdLdclral, //!< Instruction 'ldclral'.
|
158
|
+
kIdLdclralb, //!< Instruction 'ldclralb'.
|
159
|
+
kIdLdclralh, //!< Instruction 'ldclralh'.
|
160
|
+
kIdLdclrb, //!< Instruction 'ldclrb'.
|
161
|
+
kIdLdclrh, //!< Instruction 'ldclrh'.
|
162
|
+
kIdLdclrl, //!< Instruction 'ldclrl'.
|
163
|
+
kIdLdclrlb, //!< Instruction 'ldclrlb'.
|
164
|
+
kIdLdclrlh, //!< Instruction 'ldclrlh'.
|
165
|
+
kIdLdeor, //!< Instruction 'ldeor'.
|
166
|
+
kIdLdeora, //!< Instruction 'ldeora'.
|
167
|
+
kIdLdeorab, //!< Instruction 'ldeorab'.
|
168
|
+
kIdLdeorah, //!< Instruction 'ldeorah'.
|
169
|
+
kIdLdeoral, //!< Instruction 'ldeoral'.
|
170
|
+
kIdLdeoralb, //!< Instruction 'ldeoralb'.
|
171
|
+
kIdLdeoralh, //!< Instruction 'ldeoralh'.
|
172
|
+
kIdLdeorb, //!< Instruction 'ldeorb'.
|
173
|
+
kIdLdeorh, //!< Instruction 'ldeorh'.
|
174
|
+
kIdLdeorl, //!< Instruction 'ldeorl'.
|
175
|
+
kIdLdeorlb, //!< Instruction 'ldeorlb'.
|
176
|
+
kIdLdeorlh, //!< Instruction 'ldeorlh'.
|
177
|
+
kIdLdg, //!< Instruction 'ldg'.
|
178
|
+
kIdLdgm, //!< Instruction 'ldgm'.
|
179
|
+
kIdLdlar, //!< Instruction 'ldlar'.
|
180
|
+
kIdLdlarb, //!< Instruction 'ldlarb'.
|
181
|
+
kIdLdlarh, //!< Instruction 'ldlarh'.
|
182
|
+
kIdLdnp, //!< Instruction 'ldnp'.
|
183
|
+
kIdLdp, //!< Instruction 'ldp'.
|
184
|
+
kIdLdpsw, //!< Instruction 'ldpsw'.
|
185
|
+
kIdLdr, //!< Instruction 'ldr'.
|
186
|
+
kIdLdraa, //!< Instruction 'ldraa'.
|
187
|
+
kIdLdrab, //!< Instruction 'ldrab'.
|
188
|
+
kIdLdrb, //!< Instruction 'ldrb'.
|
189
|
+
kIdLdrh, //!< Instruction 'ldrh'.
|
190
|
+
kIdLdrsb, //!< Instruction 'ldrsb'.
|
191
|
+
kIdLdrsh, //!< Instruction 'ldrsh'.
|
192
|
+
kIdLdrsw, //!< Instruction 'ldrsw'.
|
193
|
+
kIdLdset, //!< Instruction 'ldset'.
|
194
|
+
kIdLdseta, //!< Instruction 'ldseta'.
|
195
|
+
kIdLdsetab, //!< Instruction 'ldsetab'.
|
196
|
+
kIdLdsetah, //!< Instruction 'ldsetah'.
|
197
|
+
kIdLdsetal, //!< Instruction 'ldsetal'.
|
198
|
+
kIdLdsetalb, //!< Instruction 'ldsetalb'.
|
199
|
+
kIdLdsetalh, //!< Instruction 'ldsetalh'.
|
200
|
+
kIdLdsetb, //!< Instruction 'ldsetb'.
|
201
|
+
kIdLdseth, //!< Instruction 'ldseth'.
|
202
|
+
kIdLdsetl, //!< Instruction 'ldsetl'.
|
203
|
+
kIdLdsetlb, //!< Instruction 'ldsetlb'.
|
204
|
+
kIdLdsetlh, //!< Instruction 'ldsetlh'.
|
205
|
+
kIdLdsmax, //!< Instruction 'ldsmax'.
|
206
|
+
kIdLdsmaxa, //!< Instruction 'ldsmaxa'.
|
207
|
+
kIdLdsmaxab, //!< Instruction 'ldsmaxab'.
|
208
|
+
kIdLdsmaxah, //!< Instruction 'ldsmaxah'.
|
209
|
+
kIdLdsmaxal, //!< Instruction 'ldsmaxal'.
|
210
|
+
kIdLdsmaxalb, //!< Instruction 'ldsmaxalb'.
|
211
|
+
kIdLdsmaxalh, //!< Instruction 'ldsmaxalh'.
|
212
|
+
kIdLdsmaxb, //!< Instruction 'ldsmaxb'.
|
213
|
+
kIdLdsmaxh, //!< Instruction 'ldsmaxh'.
|
214
|
+
kIdLdsmaxl, //!< Instruction 'ldsmaxl'.
|
215
|
+
kIdLdsmaxlb, //!< Instruction 'ldsmaxlb'.
|
216
|
+
kIdLdsmaxlh, //!< Instruction 'ldsmaxlh'.
|
217
|
+
kIdLdsmin, //!< Instruction 'ldsmin'.
|
218
|
+
kIdLdsmina, //!< Instruction 'ldsmina'.
|
219
|
+
kIdLdsminab, //!< Instruction 'ldsminab'.
|
220
|
+
kIdLdsminah, //!< Instruction 'ldsminah'.
|
221
|
+
kIdLdsminal, //!< Instruction 'ldsminal'.
|
222
|
+
kIdLdsminalb, //!< Instruction 'ldsminalb'.
|
223
|
+
kIdLdsminalh, //!< Instruction 'ldsminalh'.
|
224
|
+
kIdLdsminb, //!< Instruction 'ldsminb'.
|
225
|
+
kIdLdsminh, //!< Instruction 'ldsminh'.
|
226
|
+
kIdLdsminl, //!< Instruction 'ldsminl'.
|
227
|
+
kIdLdsminlb, //!< Instruction 'ldsminlb'.
|
228
|
+
kIdLdsminlh, //!< Instruction 'ldsminlh'.
|
229
|
+
kIdLdtr, //!< Instruction 'ldtr'.
|
230
|
+
kIdLdtrb, //!< Instruction 'ldtrb'.
|
231
|
+
kIdLdtrh, //!< Instruction 'ldtrh'.
|
232
|
+
kIdLdtrsb, //!< Instruction 'ldtrsb'.
|
233
|
+
kIdLdtrsh, //!< Instruction 'ldtrsh'.
|
234
|
+
kIdLdtrsw, //!< Instruction 'ldtrsw'.
|
235
|
+
kIdLdumax, //!< Instruction 'ldumax'.
|
236
|
+
kIdLdumaxa, //!< Instruction 'ldumaxa'.
|
237
|
+
kIdLdumaxab, //!< Instruction 'ldumaxab'.
|
238
|
+
kIdLdumaxah, //!< Instruction 'ldumaxah'.
|
239
|
+
kIdLdumaxal, //!< Instruction 'ldumaxal'.
|
240
|
+
kIdLdumaxalb, //!< Instruction 'ldumaxalb'.
|
241
|
+
kIdLdumaxalh, //!< Instruction 'ldumaxalh'.
|
242
|
+
kIdLdumaxb, //!< Instruction 'ldumaxb'.
|
243
|
+
kIdLdumaxh, //!< Instruction 'ldumaxh'.
|
244
|
+
kIdLdumaxl, //!< Instruction 'ldumaxl'.
|
245
|
+
kIdLdumaxlb, //!< Instruction 'ldumaxlb'.
|
246
|
+
kIdLdumaxlh, //!< Instruction 'ldumaxlh'.
|
247
|
+
kIdLdumin, //!< Instruction 'ldumin'.
|
248
|
+
kIdLdumina, //!< Instruction 'ldumina'.
|
249
|
+
kIdLduminab, //!< Instruction 'lduminab'.
|
250
|
+
kIdLduminah, //!< Instruction 'lduminah'.
|
251
|
+
kIdLduminal, //!< Instruction 'lduminal'.
|
252
|
+
kIdLduminalb, //!< Instruction 'lduminalb'.
|
253
|
+
kIdLduminalh, //!< Instruction 'lduminalh'.
|
254
|
+
kIdLduminb, //!< Instruction 'lduminb'.
|
255
|
+
kIdLduminh, //!< Instruction 'lduminh'.
|
256
|
+
kIdLduminl, //!< Instruction 'lduminl'.
|
257
|
+
kIdLduminlb, //!< Instruction 'lduminlb'.
|
258
|
+
kIdLduminlh, //!< Instruction 'lduminlh'.
|
259
|
+
kIdLdur, //!< Instruction 'ldur'.
|
260
|
+
kIdLdurb, //!< Instruction 'ldurb'.
|
261
|
+
kIdLdurh, //!< Instruction 'ldurh'.
|
262
|
+
kIdLdursb, //!< Instruction 'ldursb'.
|
263
|
+
kIdLdursh, //!< Instruction 'ldursh'.
|
264
|
+
kIdLdursw, //!< Instruction 'ldursw'.
|
265
|
+
kIdLdxp, //!< Instruction 'ldxp'.
|
266
|
+
kIdLdxr, //!< Instruction 'ldxr'.
|
267
|
+
kIdLdxrb, //!< Instruction 'ldxrb'.
|
268
|
+
kIdLdxrh, //!< Instruction 'ldxrh'.
|
269
|
+
kIdLsl, //!< Instruction 'lsl'.
|
270
|
+
kIdLslv, //!< Instruction 'lslv'.
|
271
|
+
kIdLsr, //!< Instruction 'lsr'.
|
272
|
+
kIdLsrv, //!< Instruction 'lsrv'.
|
273
|
+
kIdMadd, //!< Instruction 'madd'.
|
274
|
+
kIdMneg, //!< Instruction 'mneg'.
|
275
|
+
kIdMov, //!< Instruction 'mov'.
|
276
|
+
kIdMovk, //!< Instruction 'movk'.
|
277
|
+
kIdMovn, //!< Instruction 'movn'.
|
278
|
+
kIdMovz, //!< Instruction 'movz'.
|
279
|
+
kIdMrs, //!< Instruction 'mrs'.
|
280
|
+
kIdMsr, //!< Instruction 'msr'.
|
281
|
+
kIdMsub, //!< Instruction 'msub'.
|
282
|
+
kIdMul, //!< Instruction 'mul'.
|
283
|
+
kIdMvn, //!< Instruction 'mvn'.
|
284
|
+
kIdNeg, //!< Instruction 'neg'.
|
285
|
+
kIdNegs, //!< Instruction 'negs'.
|
286
|
+
kIdNgc, //!< Instruction 'ngc'.
|
287
|
+
kIdNgcs, //!< Instruction 'ngcs'.
|
288
|
+
kIdNop, //!< Instruction 'nop'.
|
289
|
+
kIdOrn, //!< Instruction 'orn'.
|
290
|
+
kIdOrr, //!< Instruction 'orr'.
|
291
|
+
kIdPacda, //!< Instruction 'pacda'.
|
292
|
+
kIdPacdb, //!< Instruction 'pacdb'.
|
293
|
+
kIdPacdza, //!< Instruction 'pacdza'.
|
294
|
+
kIdPacdzb, //!< Instruction 'pacdzb'.
|
295
|
+
kIdPacga, //!< Instruction 'pacga'.
|
296
|
+
kIdPssbb, //!< Instruction 'pssbb'.
|
297
|
+
kIdRbit, //!< Instruction 'rbit'.
|
298
|
+
kIdRet, //!< Instruction 'ret'.
|
299
|
+
kIdRev, //!< Instruction 'rev'.
|
300
|
+
kIdRev16, //!< Instruction 'rev16'.
|
301
|
+
kIdRev32, //!< Instruction 'rev32'.
|
302
|
+
kIdRev64, //!< Instruction 'rev64'.
|
303
|
+
kIdRor, //!< Instruction 'ror'.
|
304
|
+
kIdRorv, //!< Instruction 'rorv'.
|
305
|
+
kIdSbc, //!< Instruction 'sbc'.
|
306
|
+
kIdSbcs, //!< Instruction 'sbcs'.
|
307
|
+
kIdSbfiz, //!< Instruction 'sbfiz'.
|
308
|
+
kIdSbfm, //!< Instruction 'sbfm'.
|
309
|
+
kIdSbfx, //!< Instruction 'sbfx'.
|
310
|
+
kIdSdiv, //!< Instruction 'sdiv'.
|
311
|
+
kIdSetf8, //!< Instruction 'setf8'.
|
312
|
+
kIdSetf16, //!< Instruction 'setf16'.
|
313
|
+
kIdSev, //!< Instruction 'sev'.
|
314
|
+
kIdSevl, //!< Instruction 'sevl'.
|
315
|
+
kIdSmaddl, //!< Instruction 'smaddl'.
|
316
|
+
kIdSmc, //!< Instruction 'smc'.
|
317
|
+
kIdSmnegl, //!< Instruction 'smnegl'.
|
318
|
+
kIdSmsubl, //!< Instruction 'smsubl'.
|
319
|
+
kIdSmulh, //!< Instruction 'smulh'.
|
320
|
+
kIdSmull, //!< Instruction 'smull'.
|
321
|
+
kIdSsbb, //!< Instruction 'ssbb'.
|
322
|
+
kIdSt2g, //!< Instruction 'st2g'.
|
323
|
+
kIdStadd, //!< Instruction 'stadd'.
|
324
|
+
kIdStaddl, //!< Instruction 'staddl'.
|
325
|
+
kIdStaddb, //!< Instruction 'staddb'.
|
326
|
+
kIdStaddlb, //!< Instruction 'staddlb'.
|
327
|
+
kIdStaddh, //!< Instruction 'staddh'.
|
328
|
+
kIdStaddlh, //!< Instruction 'staddlh'.
|
329
|
+
kIdStclr, //!< Instruction 'stclr'.
|
330
|
+
kIdStclrl, //!< Instruction 'stclrl'.
|
331
|
+
kIdStclrb, //!< Instruction 'stclrb'.
|
332
|
+
kIdStclrlb, //!< Instruction 'stclrlb'.
|
333
|
+
kIdStclrh, //!< Instruction 'stclrh'.
|
334
|
+
kIdStclrlh, //!< Instruction 'stclrlh'.
|
335
|
+
kIdSteor, //!< Instruction 'steor'.
|
336
|
+
kIdSteorl, //!< Instruction 'steorl'.
|
337
|
+
kIdSteorb, //!< Instruction 'steorb'.
|
338
|
+
kIdSteorlb, //!< Instruction 'steorlb'.
|
339
|
+
kIdSteorh, //!< Instruction 'steorh'.
|
340
|
+
kIdSteorlh, //!< Instruction 'steorlh'.
|
341
|
+
kIdStg, //!< Instruction 'stg'.
|
342
|
+
kIdStgm, //!< Instruction 'stgm'.
|
343
|
+
kIdStgp, //!< Instruction 'stgp'.
|
344
|
+
kIdStllr, //!< Instruction 'stllr'.
|
345
|
+
kIdStllrb, //!< Instruction 'stllrb'.
|
346
|
+
kIdStllrh, //!< Instruction 'stllrh'.
|
347
|
+
kIdStlr, //!< Instruction 'stlr'.
|
348
|
+
kIdStlrb, //!< Instruction 'stlrb'.
|
349
|
+
kIdStlrh, //!< Instruction 'stlrh'.
|
350
|
+
kIdStlxp, //!< Instruction 'stlxp'.
|
351
|
+
kIdStlxr, //!< Instruction 'stlxr'.
|
352
|
+
kIdStlxrb, //!< Instruction 'stlxrb'.
|
353
|
+
kIdStlxrh, //!< Instruction 'stlxrh'.
|
354
|
+
kIdStnp, //!< Instruction 'stnp'.
|
355
|
+
kIdStp, //!< Instruction 'stp'.
|
356
|
+
kIdStr, //!< Instruction 'str'.
|
357
|
+
kIdStrb, //!< Instruction 'strb'.
|
358
|
+
kIdStrh, //!< Instruction 'strh'.
|
359
|
+
kIdStset, //!< Instruction 'stset'.
|
360
|
+
kIdStsetl, //!< Instruction 'stsetl'.
|
361
|
+
kIdStsetb, //!< Instruction 'stsetb'.
|
362
|
+
kIdStsetlb, //!< Instruction 'stsetlb'.
|
363
|
+
kIdStseth, //!< Instruction 'stseth'.
|
364
|
+
kIdStsetlh, //!< Instruction 'stsetlh'.
|
365
|
+
kIdStsmax, //!< Instruction 'stsmax'.
|
366
|
+
kIdStsmaxl, //!< Instruction 'stsmaxl'.
|
367
|
+
kIdStsmaxb, //!< Instruction 'stsmaxb'.
|
368
|
+
kIdStsmaxlb, //!< Instruction 'stsmaxlb'.
|
369
|
+
kIdStsmaxh, //!< Instruction 'stsmaxh'.
|
370
|
+
kIdStsmaxlh, //!< Instruction 'stsmaxlh'.
|
371
|
+
kIdStsmin, //!< Instruction 'stsmin'.
|
372
|
+
kIdStsminl, //!< Instruction 'stsminl'.
|
373
|
+
kIdStsminb, //!< Instruction 'stsminb'.
|
374
|
+
kIdStsminlb, //!< Instruction 'stsminlb'.
|
375
|
+
kIdStsminh, //!< Instruction 'stsminh'.
|
376
|
+
kIdStsminlh, //!< Instruction 'stsminlh'.
|
377
|
+
kIdSttr, //!< Instruction 'sttr'.
|
378
|
+
kIdSttrb, //!< Instruction 'sttrb'.
|
379
|
+
kIdSttrh, //!< Instruction 'sttrh'.
|
380
|
+
kIdStumax, //!< Instruction 'stumax'.
|
381
|
+
kIdStumaxl, //!< Instruction 'stumaxl'.
|
382
|
+
kIdStumaxb, //!< Instruction 'stumaxb'.
|
383
|
+
kIdStumaxlb, //!< Instruction 'stumaxlb'.
|
384
|
+
kIdStumaxh, //!< Instruction 'stumaxh'.
|
385
|
+
kIdStumaxlh, //!< Instruction 'stumaxlh'.
|
386
|
+
kIdStumin, //!< Instruction 'stumin'.
|
387
|
+
kIdStuminl, //!< Instruction 'stuminl'.
|
388
|
+
kIdStuminb, //!< Instruction 'stuminb'.
|
389
|
+
kIdStuminlb, //!< Instruction 'stuminlb'.
|
390
|
+
kIdStuminh, //!< Instruction 'stuminh'.
|
391
|
+
kIdStuminlh, //!< Instruction 'stuminlh'.
|
392
|
+
kIdStur, //!< Instruction 'stur'.
|
393
|
+
kIdSturb, //!< Instruction 'sturb'.
|
394
|
+
kIdSturh, //!< Instruction 'sturh'.
|
395
|
+
kIdStxp, //!< Instruction 'stxp'.
|
396
|
+
kIdStxr, //!< Instruction 'stxr'.
|
397
|
+
kIdStxrb, //!< Instruction 'stxrb'.
|
398
|
+
kIdStxrh, //!< Instruction 'stxrh'.
|
399
|
+
kIdStz2g, //!< Instruction 'stz2g'.
|
400
|
+
kIdStzg, //!< Instruction 'stzg'.
|
401
|
+
kIdStzgm, //!< Instruction 'stzgm'.
|
402
|
+
kIdSub, //!< Instruction 'sub'.
|
403
|
+
kIdSubg, //!< Instruction 'subg'.
|
404
|
+
kIdSubp, //!< Instruction 'subp'.
|
405
|
+
kIdSubps, //!< Instruction 'subps'.
|
406
|
+
kIdSubs, //!< Instruction 'subs'.
|
407
|
+
kIdSvc, //!< Instruction 'svc'.
|
408
|
+
kIdSwp, //!< Instruction 'swp'.
|
409
|
+
kIdSwpa, //!< Instruction 'swpa'.
|
410
|
+
kIdSwpab, //!< Instruction 'swpab'.
|
411
|
+
kIdSwpah, //!< Instruction 'swpah'.
|
412
|
+
kIdSwpal, //!< Instruction 'swpal'.
|
413
|
+
kIdSwpalb, //!< Instruction 'swpalb'.
|
414
|
+
kIdSwpalh, //!< Instruction 'swpalh'.
|
415
|
+
kIdSwpb, //!< Instruction 'swpb'.
|
416
|
+
kIdSwph, //!< Instruction 'swph'.
|
417
|
+
kIdSwpl, //!< Instruction 'swpl'.
|
418
|
+
kIdSwplb, //!< Instruction 'swplb'.
|
419
|
+
kIdSwplh, //!< Instruction 'swplh'.
|
420
|
+
kIdSxtb, //!< Instruction 'sxtb'.
|
421
|
+
kIdSxth, //!< Instruction 'sxth'.
|
422
|
+
kIdSxtw, //!< Instruction 'sxtw'.
|
423
|
+
kIdSys, //!< Instruction 'sys'.
|
424
|
+
kIdTlbi, //!< Instruction 'tlbi'.
|
425
|
+
kIdTst, //!< Instruction 'tst'.
|
426
|
+
kIdTbnz, //!< Instruction 'tbnz'.
|
427
|
+
kIdTbz, //!< Instruction 'tbz'.
|
428
|
+
kIdUbfiz, //!< Instruction 'ubfiz'.
|
429
|
+
kIdUbfm, //!< Instruction 'ubfm'.
|
430
|
+
kIdUbfx, //!< Instruction 'ubfx'.
|
431
|
+
kIdUdf, //!< Instruction 'udf'.
|
432
|
+
kIdUdiv, //!< Instruction 'udiv'.
|
433
|
+
kIdUmaddl, //!< Instruction 'umaddl'.
|
434
|
+
kIdUmnegl, //!< Instruction 'umnegl'.
|
435
|
+
kIdUmull, //!< Instruction 'umull'.
|
436
|
+
kIdUmulh, //!< Instruction 'umulh'.
|
437
|
+
kIdUmsubl, //!< Instruction 'umsubl'.
|
438
|
+
kIdUxtb, //!< Instruction 'uxtb'.
|
439
|
+
kIdUxth, //!< Instruction 'uxth'.
|
440
|
+
kIdWfe, //!< Instruction 'wfe'.
|
441
|
+
kIdWfi, //!< Instruction 'wfi'.
|
442
|
+
kIdXaflag, //!< Instruction 'xaflag'.
|
443
|
+
kIdXpacd, //!< Instruction 'xpacd'.
|
444
|
+
kIdXpaci, //!< Instruction 'xpaci'.
|
445
|
+
kIdXpaclri, //!< Instruction 'xpaclri'.
|
446
|
+
kIdYield, //!< Instruction 'yield'.
|
447
|
+
kIdAbs_v, //!< Instruction 'abs' {ASIMD}.
|
448
|
+
kIdAdd_v, //!< Instruction 'add' {ASIMD}.
|
449
|
+
kIdAddhn_v, //!< Instruction 'addhn' {ASIMD}.
|
450
|
+
kIdAddhn2_v, //!< Instruction 'addhn2' {ASIMD}.
|
451
|
+
kIdAddp_v, //!< Instruction 'addp' {ASIMD}.
|
452
|
+
kIdAddv_v, //!< Instruction 'addv' {ASIMD}.
|
453
|
+
kIdAesd_v, //!< Instruction 'aesd' {ASIMD}.
|
454
|
+
kIdAese_v, //!< Instruction 'aese' {ASIMD}.
|
455
|
+
kIdAesimc_v, //!< Instruction 'aesimc' {ASIMD}.
|
456
|
+
kIdAesmc_v, //!< Instruction 'aesmc' {ASIMD}.
|
457
|
+
kIdAnd_v, //!< Instruction 'and' {ASIMD}.
|
458
|
+
kIdBcax_v, //!< Instruction 'bcax' {ASIMD}.
|
459
|
+
kIdBfcvt_v, //!< Instruction 'bfcvt' {ASIMD}.
|
460
|
+
kIdBfcvtn_v, //!< Instruction 'bfcvtn' {ASIMD}.
|
461
|
+
kIdBfcvtn2_v, //!< Instruction 'bfcvtn2' {ASIMD}.
|
462
|
+
kIdBfdot_v, //!< Instruction 'bfdot' {ASIMD}.
|
463
|
+
kIdBfmlalb_v, //!< Instruction 'bfmlalb' {ASIMD}.
|
464
|
+
kIdBfmlalt_v, //!< Instruction 'bfmlalt' {ASIMD}.
|
465
|
+
kIdBfmmla_v, //!< Instruction 'bfmmla' {ASIMD}.
|
466
|
+
kIdBic_v, //!< Instruction 'bic' {ASIMD}.
|
467
|
+
kIdBif_v, //!< Instruction 'bif' {ASIMD}.
|
468
|
+
kIdBit_v, //!< Instruction 'bit' {ASIMD}.
|
469
|
+
kIdBsl_v, //!< Instruction 'bsl' {ASIMD}.
|
470
|
+
kIdCls_v, //!< Instruction 'cls' {ASIMD}.
|
471
|
+
kIdClz_v, //!< Instruction 'clz' {ASIMD}.
|
472
|
+
kIdCmeq_v, //!< Instruction 'cmeq' {ASIMD}.
|
473
|
+
kIdCmge_v, //!< Instruction 'cmge' {ASIMD}.
|
474
|
+
kIdCmgt_v, //!< Instruction 'cmgt' {ASIMD}.
|
475
|
+
kIdCmhi_v, //!< Instruction 'cmhi' {ASIMD}.
|
476
|
+
kIdCmhs_v, //!< Instruction 'cmhs' {ASIMD}.
|
477
|
+
kIdCmle_v, //!< Instruction 'cmle' {ASIMD}.
|
478
|
+
kIdCmlt_v, //!< Instruction 'cmlt' {ASIMD}.
|
479
|
+
kIdCmtst_v, //!< Instruction 'cmtst' {ASIMD}.
|
480
|
+
kIdCnt_v, //!< Instruction 'cnt' {ASIMD}.
|
481
|
+
kIdDup_v, //!< Instruction 'dup' {ASIMD}.
|
482
|
+
kIdEor_v, //!< Instruction 'eor' {ASIMD}.
|
483
|
+
kIdEor3_v, //!< Instruction 'eor3' {ASIMD}.
|
484
|
+
kIdExt_v, //!< Instruction 'ext' {ASIMD}.
|
485
|
+
kIdFabd_v, //!< Instruction 'fabd' {ASIMD}.
|
486
|
+
kIdFabs_v, //!< Instruction 'fabs' {ASIMD}.
|
487
|
+
kIdFacge_v, //!< Instruction 'facge' {ASIMD}.
|
488
|
+
kIdFacgt_v, //!< Instruction 'facgt' {ASIMD}.
|
489
|
+
kIdFadd_v, //!< Instruction 'fadd' {ASIMD}.
|
490
|
+
kIdFaddp_v, //!< Instruction 'faddp' {ASIMD}.
|
491
|
+
kIdFcadd_v, //!< Instruction 'fcadd' {ASIMD}.
|
492
|
+
kIdFccmp_v, //!< Instruction 'fccmp' {ASIMD}.
|
493
|
+
kIdFccmpe_v, //!< Instruction 'fccmpe' {ASIMD}.
|
494
|
+
kIdFcmeq_v, //!< Instruction 'fcmeq' {ASIMD}.
|
495
|
+
kIdFcmge_v, //!< Instruction 'fcmge' {ASIMD}.
|
496
|
+
kIdFcmgt_v, //!< Instruction 'fcmgt' {ASIMD}.
|
497
|
+
kIdFcmla_v, //!< Instruction 'fcmla' {ASIMD}.
|
498
|
+
kIdFcmle_v, //!< Instruction 'fcmle' {ASIMD}.
|
499
|
+
kIdFcmlt_v, //!< Instruction 'fcmlt' {ASIMD}.
|
500
|
+
kIdFcmp_v, //!< Instruction 'fcmp' {ASIMD}.
|
501
|
+
kIdFcmpe_v, //!< Instruction 'fcmpe' {ASIMD}.
|
502
|
+
kIdFcsel_v, //!< Instruction 'fcsel' {ASIMD}.
|
503
|
+
kIdFcvt_v, //!< Instruction 'fcvt' {ASIMD}.
|
504
|
+
kIdFcvtas_v, //!< Instruction 'fcvtas' {ASIMD}.
|
505
|
+
kIdFcvtau_v, //!< Instruction 'fcvtau' {ASIMD}.
|
506
|
+
kIdFcvtl_v, //!< Instruction 'fcvtl' {ASIMD}.
|
507
|
+
kIdFcvtl2_v, //!< Instruction 'fcvtl2' {ASIMD}.
|
508
|
+
kIdFcvtms_v, //!< Instruction 'fcvtms' {ASIMD}.
|
509
|
+
kIdFcvtmu_v, //!< Instruction 'fcvtmu' {ASIMD}.
|
510
|
+
kIdFcvtn_v, //!< Instruction 'fcvtn' {ASIMD}.
|
511
|
+
kIdFcvtn2_v, //!< Instruction 'fcvtn2' {ASIMD}.
|
512
|
+
kIdFcvtns_v, //!< Instruction 'fcvtns' {ASIMD}.
|
513
|
+
kIdFcvtnu_v, //!< Instruction 'fcvtnu' {ASIMD}.
|
514
|
+
kIdFcvtps_v, //!< Instruction 'fcvtps' {ASIMD}.
|
515
|
+
kIdFcvtpu_v, //!< Instruction 'fcvtpu' {ASIMD}.
|
516
|
+
kIdFcvtxn_v, //!< Instruction 'fcvtxn' {ASIMD}.
|
517
|
+
kIdFcvtxn2_v, //!< Instruction 'fcvtxn2' {ASIMD}.
|
518
|
+
kIdFcvtzs_v, //!< Instruction 'fcvtzs' {ASIMD}.
|
519
|
+
kIdFcvtzu_v, //!< Instruction 'fcvtzu' {ASIMD}.
|
520
|
+
kIdFdiv_v, //!< Instruction 'fdiv' {ASIMD}.
|
521
|
+
kIdFjcvtzs_v, //!< Instruction 'fjcvtzs' {ASIMD}.
|
522
|
+
kIdFmadd_v, //!< Instruction 'fmadd' {ASIMD}.
|
523
|
+
kIdFmax_v, //!< Instruction 'fmax' {ASIMD}.
|
524
|
+
kIdFmaxnm_v, //!< Instruction 'fmaxnm' {ASIMD}.
|
525
|
+
kIdFmaxnmp_v, //!< Instruction 'fmaxnmp' {ASIMD}.
|
526
|
+
kIdFmaxnmv_v, //!< Instruction 'fmaxnmv' {ASIMD}.
|
527
|
+
kIdFmaxp_v, //!< Instruction 'fmaxp' {ASIMD}.
|
528
|
+
kIdFmaxv_v, //!< Instruction 'fmaxv' {ASIMD}.
|
529
|
+
kIdFmin_v, //!< Instruction 'fmin' {ASIMD}.
|
530
|
+
kIdFminnm_v, //!< Instruction 'fminnm' {ASIMD}.
|
531
|
+
kIdFminnmp_v, //!< Instruction 'fminnmp' {ASIMD}.
|
532
|
+
kIdFminnmv_v, //!< Instruction 'fminnmv' {ASIMD}.
|
533
|
+
kIdFminp_v, //!< Instruction 'fminp' {ASIMD}.
|
534
|
+
kIdFminv_v, //!< Instruction 'fminv' {ASIMD}.
|
535
|
+
kIdFmla_v, //!< Instruction 'fmla' {ASIMD}.
|
536
|
+
kIdFmlal_v, //!< Instruction 'fmlal' {ASIMD}.
|
537
|
+
kIdFmlal2_v, //!< Instruction 'fmlal2' {ASIMD}.
|
538
|
+
kIdFmls_v, //!< Instruction 'fmls' {ASIMD}.
|
539
|
+
kIdFmlsl_v, //!< Instruction 'fmlsl' {ASIMD}.
|
540
|
+
kIdFmlsl2_v, //!< Instruction 'fmlsl2' {ASIMD}.
|
541
|
+
kIdFmov_v, //!< Instruction 'fmov' {ASIMD}.
|
542
|
+
kIdFmsub_v, //!< Instruction 'fmsub' {ASIMD}.
|
543
|
+
kIdFmul_v, //!< Instruction 'fmul' {ASIMD}.
|
544
|
+
kIdFmulx_v, //!< Instruction 'fmulx' {ASIMD}.
|
545
|
+
kIdFneg_v, //!< Instruction 'fneg' {ASIMD}.
|
546
|
+
kIdFnmadd_v, //!< Instruction 'fnmadd' {ASIMD}.
|
547
|
+
kIdFnmsub_v, //!< Instruction 'fnmsub' {ASIMD}.
|
548
|
+
kIdFnmul_v, //!< Instruction 'fnmul' {ASIMD}.
|
549
|
+
kIdFrecpe_v, //!< Instruction 'frecpe' {ASIMD}.
|
550
|
+
kIdFrecps_v, //!< Instruction 'frecps' {ASIMD}.
|
551
|
+
kIdFrecpx_v, //!< Instruction 'frecpx' {ASIMD}.
|
552
|
+
kIdFrint32x_v, //!< Instruction 'frint32x' {ASIMD}.
|
553
|
+
kIdFrint32z_v, //!< Instruction 'frint32z' {ASIMD}.
|
554
|
+
kIdFrint64x_v, //!< Instruction 'frint64x' {ASIMD}.
|
555
|
+
kIdFrint64z_v, //!< Instruction 'frint64z' {ASIMD}.
|
556
|
+
kIdFrinta_v, //!< Instruction 'frinta' {ASIMD}.
|
557
|
+
kIdFrinti_v, //!< Instruction 'frinti' {ASIMD}.
|
558
|
+
kIdFrintm_v, //!< Instruction 'frintm' {ASIMD}.
|
559
|
+
kIdFrintn_v, //!< Instruction 'frintn' {ASIMD}.
|
560
|
+
kIdFrintp_v, //!< Instruction 'frintp' {ASIMD}.
|
561
|
+
kIdFrintx_v, //!< Instruction 'frintx' {ASIMD}.
|
562
|
+
kIdFrintz_v, //!< Instruction 'frintz' {ASIMD}.
|
563
|
+
kIdFrsqrte_v, //!< Instruction 'frsqrte' {ASIMD}.
|
564
|
+
kIdFrsqrts_v, //!< Instruction 'frsqrts' {ASIMD}.
|
565
|
+
kIdFsqrt_v, //!< Instruction 'fsqrt' {ASIMD}.
|
566
|
+
kIdFsub_v, //!< Instruction 'fsub' {ASIMD}.
|
567
|
+
kIdIns_v, //!< Instruction 'ins' {ASIMD}.
|
568
|
+
kIdLd1_v, //!< Instruction 'ld1' {ASIMD}.
|
569
|
+
kIdLd1r_v, //!< Instruction 'ld1r' {ASIMD}.
|
570
|
+
kIdLd2_v, //!< Instruction 'ld2' {ASIMD}.
|
571
|
+
kIdLd2r_v, //!< Instruction 'ld2r' {ASIMD}.
|
572
|
+
kIdLd3_v, //!< Instruction 'ld3' {ASIMD}.
|
573
|
+
kIdLd3r_v, //!< Instruction 'ld3r' {ASIMD}.
|
574
|
+
kIdLd4_v, //!< Instruction 'ld4' {ASIMD}.
|
575
|
+
kIdLd4r_v, //!< Instruction 'ld4r' {ASIMD}.
|
576
|
+
kIdLdnp_v, //!< Instruction 'ldnp' {ASIMD}.
|
577
|
+
kIdLdp_v, //!< Instruction 'ldp' {ASIMD}.
|
578
|
+
kIdLdr_v, //!< Instruction 'ldr' {ASIMD}.
|
579
|
+
kIdLdur_v, //!< Instruction 'ldur' {ASIMD}.
|
580
|
+
kIdMla_v, //!< Instruction 'mla' {ASIMD}.
|
581
|
+
kIdMls_v, //!< Instruction 'mls' {ASIMD}.
|
582
|
+
kIdMov_v, //!< Instruction 'mov' {ASIMD}.
|
583
|
+
kIdMovi_v, //!< Instruction 'movi' {ASIMD}.
|
584
|
+
kIdMul_v, //!< Instruction 'mul' {ASIMD}.
|
585
|
+
kIdMvn_v, //!< Instruction 'mvn' {ASIMD}.
|
586
|
+
kIdMvni_v, //!< Instruction 'mvni' {ASIMD}.
|
587
|
+
kIdNeg_v, //!< Instruction 'neg' {ASIMD}.
|
588
|
+
kIdNot_v, //!< Instruction 'not' {ASIMD}.
|
589
|
+
kIdOrn_v, //!< Instruction 'orn' {ASIMD}.
|
590
|
+
kIdOrr_v, //!< Instruction 'orr' {ASIMD}.
|
591
|
+
kIdPmul_v, //!< Instruction 'pmul' {ASIMD}.
|
592
|
+
kIdPmull_v, //!< Instruction 'pmull' {ASIMD}.
|
593
|
+
kIdPmull2_v, //!< Instruction 'pmull2' {ASIMD}.
|
594
|
+
kIdRaddhn_v, //!< Instruction 'raddhn' {ASIMD}.
|
595
|
+
kIdRaddhn2_v, //!< Instruction 'raddhn2' {ASIMD}.
|
596
|
+
kIdRax1_v, //!< Instruction 'rax1' {ASIMD}.
|
597
|
+
kIdRbit_v, //!< Instruction 'rbit' {ASIMD}.
|
598
|
+
kIdRev16_v, //!< Instruction 'rev16' {ASIMD}.
|
599
|
+
kIdRev32_v, //!< Instruction 'rev32' {ASIMD}.
|
600
|
+
kIdRev64_v, //!< Instruction 'rev64' {ASIMD}.
|
601
|
+
kIdRshrn_v, //!< Instruction 'rshrn' {ASIMD}.
|
602
|
+
kIdRshrn2_v, //!< Instruction 'rshrn2' {ASIMD}.
|
603
|
+
kIdRsubhn_v, //!< Instruction 'rsubhn' {ASIMD}.
|
604
|
+
kIdRsubhn2_v, //!< Instruction 'rsubhn2' {ASIMD}.
|
605
|
+
kIdSaba_v, //!< Instruction 'saba' {ASIMD}.
|
606
|
+
kIdSabal_v, //!< Instruction 'sabal' {ASIMD}.
|
607
|
+
kIdSabal2_v, //!< Instruction 'sabal2' {ASIMD}.
|
608
|
+
kIdSabd_v, //!< Instruction 'sabd' {ASIMD}.
|
609
|
+
kIdSabdl_v, //!< Instruction 'sabdl' {ASIMD}.
|
610
|
+
kIdSabdl2_v, //!< Instruction 'sabdl2' {ASIMD}.
|
611
|
+
kIdSadalp_v, //!< Instruction 'sadalp' {ASIMD}.
|
612
|
+
kIdSaddl_v, //!< Instruction 'saddl' {ASIMD}.
|
613
|
+
kIdSaddl2_v, //!< Instruction 'saddl2' {ASIMD}.
|
614
|
+
kIdSaddlp_v, //!< Instruction 'saddlp' {ASIMD}.
|
615
|
+
kIdSaddlv_v, //!< Instruction 'saddlv' {ASIMD}.
|
616
|
+
kIdSaddw_v, //!< Instruction 'saddw' {ASIMD}.
|
617
|
+
kIdSaddw2_v, //!< Instruction 'saddw2' {ASIMD}.
|
618
|
+
kIdScvtf_v, //!< Instruction 'scvtf' {ASIMD}.
|
619
|
+
kIdSdot_v, //!< Instruction 'sdot' {ASIMD}.
|
620
|
+
kIdSha1c_v, //!< Instruction 'sha1c' {ASIMD}.
|
621
|
+
kIdSha1h_v, //!< Instruction 'sha1h' {ASIMD}.
|
622
|
+
kIdSha1m_v, //!< Instruction 'sha1m' {ASIMD}.
|
623
|
+
kIdSha1p_v, //!< Instruction 'sha1p' {ASIMD}.
|
624
|
+
kIdSha1su0_v, //!< Instruction 'sha1su0' {ASIMD}.
|
625
|
+
kIdSha1su1_v, //!< Instruction 'sha1su1' {ASIMD}.
|
626
|
+
kIdSha256h_v, //!< Instruction 'sha256h' {ASIMD}.
|
627
|
+
kIdSha256h2_v, //!< Instruction 'sha256h2' {ASIMD}.
|
628
|
+
kIdSha256su0_v, //!< Instruction 'sha256su0' {ASIMD}.
|
629
|
+
kIdSha256su1_v, //!< Instruction 'sha256su1' {ASIMD}.
|
630
|
+
kIdSha512h_v, //!< Instruction 'sha512h' {ASIMD}.
|
631
|
+
kIdSha512h2_v, //!< Instruction 'sha512h2' {ASIMD}.
|
632
|
+
kIdSha512su0_v, //!< Instruction 'sha512su0' {ASIMD}.
|
633
|
+
kIdSha512su1_v, //!< Instruction 'sha512su1' {ASIMD}.
|
634
|
+
kIdShadd_v, //!< Instruction 'shadd' {ASIMD}.
|
635
|
+
kIdShl_v, //!< Instruction 'shl' {ASIMD}.
|
636
|
+
kIdShll_v, //!< Instruction 'shll' {ASIMD}.
|
637
|
+
kIdShll2_v, //!< Instruction 'shll2' {ASIMD}.
|
638
|
+
kIdShrn_v, //!< Instruction 'shrn' {ASIMD}.
|
639
|
+
kIdShrn2_v, //!< Instruction 'shrn2' {ASIMD}.
|
640
|
+
kIdShsub_v, //!< Instruction 'shsub' {ASIMD}.
|
641
|
+
kIdSli_v, //!< Instruction 'sli' {ASIMD}.
|
642
|
+
kIdSm3partw1_v, //!< Instruction 'sm3partw1' {ASIMD}.
|
643
|
+
kIdSm3partw2_v, //!< Instruction 'sm3partw2' {ASIMD}.
|
644
|
+
kIdSm3ss1_v, //!< Instruction 'sm3ss1' {ASIMD}.
|
645
|
+
kIdSm3tt1a_v, //!< Instruction 'sm3tt1a' {ASIMD}.
|
646
|
+
kIdSm3tt1b_v, //!< Instruction 'sm3tt1b' {ASIMD}.
|
647
|
+
kIdSm3tt2a_v, //!< Instruction 'sm3tt2a' {ASIMD}.
|
648
|
+
kIdSm3tt2b_v, //!< Instruction 'sm3tt2b' {ASIMD}.
|
649
|
+
kIdSm4e_v, //!< Instruction 'sm4e' {ASIMD}.
|
650
|
+
kIdSm4ekey_v, //!< Instruction 'sm4ekey' {ASIMD}.
|
651
|
+
kIdSmax_v, //!< Instruction 'smax' {ASIMD}.
|
652
|
+
kIdSmaxp_v, //!< Instruction 'smaxp' {ASIMD}.
|
653
|
+
kIdSmaxv_v, //!< Instruction 'smaxv' {ASIMD}.
|
654
|
+
kIdSmin_v, //!< Instruction 'smin' {ASIMD}.
|
655
|
+
kIdSminp_v, //!< Instruction 'sminp' {ASIMD}.
|
656
|
+
kIdSminv_v, //!< Instruction 'sminv' {ASIMD}.
|
657
|
+
kIdSmlal_v, //!< Instruction 'smlal' {ASIMD}.
|
658
|
+
kIdSmlal2_v, //!< Instruction 'smlal2' {ASIMD}.
|
659
|
+
kIdSmlsl_v, //!< Instruction 'smlsl' {ASIMD}.
|
660
|
+
kIdSmlsl2_v, //!< Instruction 'smlsl2' {ASIMD}.
|
661
|
+
kIdSmmla_v, //!< Instruction 'smmla' {ASIMD}.
|
662
|
+
kIdSmov_v, //!< Instruction 'smov' {ASIMD}.
|
663
|
+
kIdSmull_v, //!< Instruction 'smull' {ASIMD}.
|
664
|
+
kIdSmull2_v, //!< Instruction 'smull2' {ASIMD}.
|
665
|
+
kIdSqabs_v, //!< Instruction 'sqabs' {ASIMD}.
|
666
|
+
kIdSqadd_v, //!< Instruction 'sqadd' {ASIMD}.
|
667
|
+
kIdSqdmlal_v, //!< Instruction 'sqdmlal' {ASIMD}.
|
668
|
+
kIdSqdmlal2_v, //!< Instruction 'sqdmlal2' {ASIMD}.
|
669
|
+
kIdSqdmlsl_v, //!< Instruction 'sqdmlsl' {ASIMD}.
|
670
|
+
kIdSqdmlsl2_v, //!< Instruction 'sqdmlsl2' {ASIMD}.
|
671
|
+
kIdSqdmulh_v, //!< Instruction 'sqdmulh' {ASIMD}.
|
672
|
+
kIdSqdmull_v, //!< Instruction 'sqdmull' {ASIMD}.
|
673
|
+
kIdSqdmull2_v, //!< Instruction 'sqdmull2' {ASIMD}.
|
674
|
+
kIdSqneg_v, //!< Instruction 'sqneg' {ASIMD}.
|
675
|
+
kIdSqrdmlah_v, //!< Instruction 'sqrdmlah' {ASIMD}.
|
676
|
+
kIdSqrdmlsh_v, //!< Instruction 'sqrdmlsh' {ASIMD}.
|
677
|
+
kIdSqrdmulh_v, //!< Instruction 'sqrdmulh' {ASIMD}.
|
678
|
+
kIdSqrshl_v, //!< Instruction 'sqrshl' {ASIMD}.
|
679
|
+
kIdSqrshrn_v, //!< Instruction 'sqrshrn' {ASIMD}.
|
680
|
+
kIdSqrshrn2_v, //!< Instruction 'sqrshrn2' {ASIMD}.
|
681
|
+
kIdSqrshrun_v, //!< Instruction 'sqrshrun' {ASIMD}.
|
682
|
+
kIdSqrshrun2_v, //!< Instruction 'sqrshrun2' {ASIMD}.
|
683
|
+
kIdSqshl_v, //!< Instruction 'sqshl' {ASIMD}.
|
684
|
+
kIdSqshlu_v, //!< Instruction 'sqshlu' {ASIMD}.
|
685
|
+
kIdSqshrn_v, //!< Instruction 'sqshrn' {ASIMD}.
|
686
|
+
kIdSqshrn2_v, //!< Instruction 'sqshrn2' {ASIMD}.
|
687
|
+
kIdSqshrun_v, //!< Instruction 'sqshrun' {ASIMD}.
|
688
|
+
kIdSqshrun2_v, //!< Instruction 'sqshrun2' {ASIMD}.
|
689
|
+
kIdSqsub_v, //!< Instruction 'sqsub' {ASIMD}.
|
690
|
+
kIdSqxtn_v, //!< Instruction 'sqxtn' {ASIMD}.
|
691
|
+
kIdSqxtn2_v, //!< Instruction 'sqxtn2' {ASIMD}.
|
692
|
+
kIdSqxtun_v, //!< Instruction 'sqxtun' {ASIMD}.
|
693
|
+
kIdSqxtun2_v, //!< Instruction 'sqxtun2' {ASIMD}.
|
694
|
+
kIdSrhadd_v, //!< Instruction 'srhadd' {ASIMD}.
|
695
|
+
kIdSri_v, //!< Instruction 'sri' {ASIMD}.
|
696
|
+
kIdSrshl_v, //!< Instruction 'srshl' {ASIMD}.
|
697
|
+
kIdSrshr_v, //!< Instruction 'srshr' {ASIMD}.
|
698
|
+
kIdSrsra_v, //!< Instruction 'srsra' {ASIMD}.
|
699
|
+
kIdSshl_v, //!< Instruction 'sshl' {ASIMD}.
|
700
|
+
kIdSshll_v, //!< Instruction 'sshll' {ASIMD}.
|
701
|
+
kIdSshll2_v, //!< Instruction 'sshll2' {ASIMD}.
|
702
|
+
kIdSshr_v, //!< Instruction 'sshr' {ASIMD}.
|
703
|
+
kIdSsra_v, //!< Instruction 'ssra' {ASIMD}.
|
704
|
+
kIdSsubl_v, //!< Instruction 'ssubl' {ASIMD}.
|
705
|
+
kIdSsubl2_v, //!< Instruction 'ssubl2' {ASIMD}.
|
706
|
+
kIdSsubw_v, //!< Instruction 'ssubw' {ASIMD}.
|
707
|
+
kIdSsubw2_v, //!< Instruction 'ssubw2' {ASIMD}.
|
708
|
+
kIdSt1_v, //!< Instruction 'st1' {ASIMD}.
|
709
|
+
kIdSt2_v, //!< Instruction 'st2' {ASIMD}.
|
710
|
+
kIdSt3_v, //!< Instruction 'st3' {ASIMD}.
|
711
|
+
kIdSt4_v, //!< Instruction 'st4' {ASIMD}.
|
712
|
+
kIdStnp_v, //!< Instruction 'stnp' {ASIMD}.
|
713
|
+
kIdStp_v, //!< Instruction 'stp' {ASIMD}.
|
714
|
+
kIdStr_v, //!< Instruction 'str' {ASIMD}.
|
715
|
+
kIdStur_v, //!< Instruction 'stur' {ASIMD}.
|
716
|
+
kIdSub_v, //!< Instruction 'sub' {ASIMD}.
|
717
|
+
kIdSubhn_v, //!< Instruction 'subhn' {ASIMD}.
|
718
|
+
kIdSubhn2_v, //!< Instruction 'subhn2' {ASIMD}.
|
719
|
+
kIdSudot_v, //!< Instruction 'sudot' {ASIMD}.
|
720
|
+
kIdSuqadd_v, //!< Instruction 'suqadd' {ASIMD}.
|
721
|
+
kIdSxtl_v, //!< Instruction 'sxtl' {ASIMD}.
|
722
|
+
kIdSxtl2_v, //!< Instruction 'sxtl2' {ASIMD}.
|
723
|
+
kIdTbl_v, //!< Instruction 'tbl' {ASIMD}.
|
724
|
+
kIdTbx_v, //!< Instruction 'tbx' {ASIMD}.
|
725
|
+
kIdTrn1_v, //!< Instruction 'trn1' {ASIMD}.
|
726
|
+
kIdTrn2_v, //!< Instruction 'trn2' {ASIMD}.
|
727
|
+
kIdUaba_v, //!< Instruction 'uaba' {ASIMD}.
|
728
|
+
kIdUabal_v, //!< Instruction 'uabal' {ASIMD}.
|
729
|
+
kIdUabal2_v, //!< Instruction 'uabal2' {ASIMD}.
|
730
|
+
kIdUabd_v, //!< Instruction 'uabd' {ASIMD}.
|
731
|
+
kIdUabdl_v, //!< Instruction 'uabdl' {ASIMD}.
|
732
|
+
kIdUabdl2_v, //!< Instruction 'uabdl2' {ASIMD}.
|
733
|
+
kIdUadalp_v, //!< Instruction 'uadalp' {ASIMD}.
|
734
|
+
kIdUaddl_v, //!< Instruction 'uaddl' {ASIMD}.
|
735
|
+
kIdUaddl2_v, //!< Instruction 'uaddl2' {ASIMD}.
|
736
|
+
kIdUaddlp_v, //!< Instruction 'uaddlp' {ASIMD}.
|
737
|
+
kIdUaddlv_v, //!< Instruction 'uaddlv' {ASIMD}.
|
738
|
+
kIdUaddw_v, //!< Instruction 'uaddw' {ASIMD}.
|
739
|
+
kIdUaddw2_v, //!< Instruction 'uaddw2' {ASIMD}.
|
740
|
+
kIdUcvtf_v, //!< Instruction 'ucvtf' {ASIMD}.
|
741
|
+
kIdUdot_v, //!< Instruction 'udot' {ASIMD}.
|
742
|
+
kIdUhadd_v, //!< Instruction 'uhadd' {ASIMD}.
|
743
|
+
kIdUhsub_v, //!< Instruction 'uhsub' {ASIMD}.
|
744
|
+
kIdUmax_v, //!< Instruction 'umax' {ASIMD}.
|
745
|
+
kIdUmaxp_v, //!< Instruction 'umaxp' {ASIMD}.
|
746
|
+
kIdUmaxv_v, //!< Instruction 'umaxv' {ASIMD}.
|
747
|
+
kIdUmin_v, //!< Instruction 'umin' {ASIMD}.
|
748
|
+
kIdUminp_v, //!< Instruction 'uminp' {ASIMD}.
|
749
|
+
kIdUminv_v, //!< Instruction 'uminv' {ASIMD}.
|
750
|
+
kIdUmlal_v, //!< Instruction 'umlal' {ASIMD}.
|
751
|
+
kIdUmlal2_v, //!< Instruction 'umlal2' {ASIMD}.
|
752
|
+
kIdUmlsl_v, //!< Instruction 'umlsl' {ASIMD}.
|
753
|
+
kIdUmlsl2_v, //!< Instruction 'umlsl2' {ASIMD}.
|
754
|
+
kIdUmmla_v, //!< Instruction 'ummla' {ASIMD}.
|
755
|
+
kIdUmov_v, //!< Instruction 'umov' {ASIMD}.
|
756
|
+
kIdUmull_v, //!< Instruction 'umull' {ASIMD}.
|
757
|
+
kIdUmull2_v, //!< Instruction 'umull2' {ASIMD}.
|
758
|
+
kIdUqadd_v, //!< Instruction 'uqadd' {ASIMD}.
|
759
|
+
kIdUqrshl_v, //!< Instruction 'uqrshl' {ASIMD}.
|
760
|
+
kIdUqrshrn_v, //!< Instruction 'uqrshrn' {ASIMD}.
|
761
|
+
kIdUqrshrn2_v, //!< Instruction 'uqrshrn2' {ASIMD}.
|
762
|
+
kIdUqshl_v, //!< Instruction 'uqshl' {ASIMD}.
|
763
|
+
kIdUqshrn_v, //!< Instruction 'uqshrn' {ASIMD}.
|
764
|
+
kIdUqshrn2_v, //!< Instruction 'uqshrn2' {ASIMD}.
|
765
|
+
kIdUqsub_v, //!< Instruction 'uqsub' {ASIMD}.
|
766
|
+
kIdUqxtn_v, //!< Instruction 'uqxtn' {ASIMD}.
|
767
|
+
kIdUqxtn2_v, //!< Instruction 'uqxtn2' {ASIMD}.
|
768
|
+
kIdUrecpe_v, //!< Instruction 'urecpe' {ASIMD}.
|
769
|
+
kIdUrhadd_v, //!< Instruction 'urhadd' {ASIMD}.
|
770
|
+
kIdUrshl_v, //!< Instruction 'urshl' {ASIMD}.
|
771
|
+
kIdUrshr_v, //!< Instruction 'urshr' {ASIMD}.
|
772
|
+
kIdUrsqrte_v, //!< Instruction 'ursqrte' {ASIMD}.
|
773
|
+
kIdUrsra_v, //!< Instruction 'ursra' {ASIMD}.
|
774
|
+
kIdUsdot_v, //!< Instruction 'usdot' {ASIMD}.
|
775
|
+
kIdUshl_v, //!< Instruction 'ushl' {ASIMD}.
|
776
|
+
kIdUshll_v, //!< Instruction 'ushll' {ASIMD}.
|
777
|
+
kIdUshll2_v, //!< Instruction 'ushll2' {ASIMD}.
|
778
|
+
kIdUshr_v, //!< Instruction 'ushr' {ASIMD}.
|
779
|
+
kIdUsmmla_v, //!< Instruction 'usmmla' {ASIMD}.
|
780
|
+
kIdUsqadd_v, //!< Instruction 'usqadd' {ASIMD}.
|
781
|
+
kIdUsra_v, //!< Instruction 'usra' {ASIMD}.
|
782
|
+
kIdUsubl_v, //!< Instruction 'usubl' {ASIMD}.
|
783
|
+
kIdUsubl2_v, //!< Instruction 'usubl2' {ASIMD}.
|
784
|
+
kIdUsubw_v, //!< Instruction 'usubw' {ASIMD}.
|
785
|
+
kIdUsubw2_v, //!< Instruction 'usubw2' {ASIMD}.
|
786
|
+
kIdUxtl_v, //!< Instruction 'uxtl' {ASIMD}.
|
787
|
+
kIdUxtl2_v, //!< Instruction 'uxtl2' {ASIMD}.
|
788
|
+
kIdUzp1_v, //!< Instruction 'uzp1' {ASIMD}.
|
789
|
+
kIdUzp2_v, //!< Instruction 'uzp2' {ASIMD}.
|
790
|
+
kIdXar_v, //!< Instruction 'xar' {ASIMD}.
|
791
|
+
kIdXtn_v, //!< Instruction 'xtn' {ASIMD}.
|
792
|
+
kIdXtn2_v, //!< Instruction 'xtn2' {ASIMD}.
|
793
|
+
kIdZip1_v, //!< Instruction 'zip1' {ASIMD}.
|
794
|
+
kIdZip2_v, //!< Instruction 'zip2' {ASIMD}.
|
795
|
+
_kIdCount
|
796
|
+
// ${InstId:End}
|
797
|
+
};
|
798
|
+
|
799
|
+
//! Tests whether the `instId` is defined (counts also Inst::kIdNone, which must be zero).
|
800
|
+
static inline bool isDefinedId(InstId instId) noexcept { return (instId & uint32_t(InstIdParts::kRealId)) < _kIdCount; }
|
801
|
+
};
|
802
|
+
|
803
|
+
namespace Predicate {
|
804
|
+
|
805
|
+
//! Address translate options (AT).
|
806
|
+
namespace AT {
|
807
|
+
static inline constexpr uint32_t encode(uint32_t op1, uint32_t cRn, uint32_t cRm, uint32_t op2) noexcept {
|
808
|
+
return (op1 << 11) | (cRn << 7) | (cRm << 3) | (op2 << 0);
|
809
|
+
}
|
810
|
+
|
811
|
+
enum Value : uint32_t {
|
812
|
+
kS1E1R = encode(0b000, 0b0111, 0b1000, 0b000),
|
813
|
+
kS1E2R = encode(0b100, 0b0111, 0b1000, 0b000),
|
814
|
+
kS1E3R = encode(0b110, 0b0111, 0b1000, 0b000),
|
815
|
+
kS1E1W = encode(0b000, 0b0111, 0b1000, 0b001),
|
816
|
+
kS1E2W = encode(0b100, 0b0111, 0b1000, 0b001),
|
817
|
+
kS1E3W = encode(0b110, 0b0111, 0b1000, 0b001),
|
818
|
+
kS1E0R = encode(0b000, 0b0111, 0b1000, 0b010),
|
819
|
+
kS1E0W = encode(0b000, 0b0111, 0b1000, 0b011),
|
820
|
+
kS12E1R = encode(0b100, 0b0111, 0b1000, 0b100),
|
821
|
+
kS12E1W = encode(0b100, 0b0111, 0b1000, 0b101),
|
822
|
+
kS12E0R = encode(0b100, 0b0111, 0b1000, 0b110),
|
823
|
+
kS12E0W = encode(0b100, 0b0111, 0b1000, 0b111),
|
824
|
+
kS1E1RP = encode(0b000, 0b0111, 0b1001, 0b000),
|
825
|
+
kS1E1WP = encode(0b000, 0b0111, 0b1001, 0b001)
|
826
|
+
};
|
827
|
+
}
|
828
|
+
|
829
|
+
//! Data barrier options (DMB/DSB).
|
830
|
+
namespace DB {
|
831
|
+
//! Data barrier immediate values.
|
832
|
+
enum Value : uint32_t {
|
833
|
+
//! Waits only for loads to complete, and only applies to the outer shareable domain.
|
834
|
+
kOSHLD = 0x01u,
|
835
|
+
//! Waits only for stores to complete, and only applies to the outer shareable domain.
|
836
|
+
kOSHST = 0x02u,
|
837
|
+
//! Only applies to the outer shareable domain.
|
838
|
+
kOSH = 0x03u,
|
839
|
+
|
840
|
+
//! Waits only for loads to complete and only applies out to the point of unification.
|
841
|
+
kNSHLD = 0x05u,
|
842
|
+
//! Waits only for stores to complete and only applies out to the point of unification.
|
843
|
+
kNSHST = 0x06u,
|
844
|
+
//! Only applies out to the point of unification.
|
845
|
+
kNSH = 0x07u,
|
846
|
+
|
847
|
+
//! Waits only for loads to complete, and only applies to the inner shareable domain.
|
848
|
+
kISHLD = 0x09u,
|
849
|
+
//! Waits only for stores to complete, and only applies to the inner shareable domain.
|
850
|
+
kISHST = 0x0Au,
|
851
|
+
//! Only applies to the inner shareable domain.
|
852
|
+
kISH = 0x0Bu,
|
853
|
+
|
854
|
+
//! Waits only for loads to complete.
|
855
|
+
kLD = 0x0Du,
|
856
|
+
//! Waits only for stores to complete.
|
857
|
+
kST = 0x0Eu,
|
858
|
+
//! Full system memory barrier operation.
|
859
|
+
kSY = 0x0Fu
|
860
|
+
};
|
861
|
+
}
|
862
|
+
|
863
|
+
//! Data cache maintenance options.
|
864
|
+
namespace DC {
|
865
|
+
static inline constexpr uint32_t encode(uint32_t op1, uint32_t cRn, uint32_t cRm, uint32_t op2) noexcept {
|
866
|
+
return (op1 << 11) | (cRn << 7) | (cRm << 3) | (op2 << 0);
|
867
|
+
}
|
868
|
+
|
869
|
+
//! Data cache maintenance immediate values.
|
870
|
+
enum Value : uint32_t {
|
871
|
+
kZVA = encode(0b011, 0b0111, 0b0100, 0b001),
|
872
|
+
kIVAC = encode(0b000, 0b0111, 0b0110, 0b001),
|
873
|
+
kISW = encode(0b000, 0b0111, 0b0110, 0b010),
|
874
|
+
kCVAC = encode(0b011, 0b0111, 0b1010, 0b001),
|
875
|
+
kCSW = encode(0b000, 0b0111, 0b1010, 0b010),
|
876
|
+
kCVAU = encode(0b011, 0b0111, 0b1011, 0b001),
|
877
|
+
kCIVAC = encode(0b011, 0b0111, 0b1110, 0b001),
|
878
|
+
kCISW = encode(0b000, 0b0111, 0b1110, 0b010),
|
879
|
+
kCVAP = encode(0b011, 0b0111, 0b1100, 0b001),
|
880
|
+
kCVADP = encode(0b011, 0b0111, 0b1101, 0b001),
|
881
|
+
kIGVAC = encode(0b000, 0b0111, 0b0110, 0b011),
|
882
|
+
kIGSW = encode(0b000, 0b0111, 0b0110, 0b100),
|
883
|
+
kCGSW = encode(0b000, 0b0111, 0b1010, 0b100),
|
884
|
+
kCIGSW = encode(0b000, 0b0111, 0b1110, 0b100),
|
885
|
+
kCGVAC = encode(0b011, 0b0111, 0b1010, 0b011),
|
886
|
+
kCGVAP = encode(0b011, 0b0111, 0b1100, 0b011),
|
887
|
+
kCGVADP = encode(0b011, 0b0111, 0b1101, 0b011),
|
888
|
+
kCIGVAC = encode(0b011, 0b0111, 0b1110, 0b011),
|
889
|
+
kGVA = encode(0b011, 0b0111, 0b0100, 0b011),
|
890
|
+
kIGDVAC = encode(0b000, 0b0111, 0b0110, 0b101),
|
891
|
+
kIGDSW = encode(0b000, 0b0111, 0b0110, 0b110),
|
892
|
+
kCGDSW = encode(0b000, 0b0111, 0b1010, 0b110),
|
893
|
+
kCIGDSW = encode(0b000, 0b0111, 0b1110, 0b110),
|
894
|
+
kCGDVAC = encode(0b011, 0b0111, 0b1010, 0b101),
|
895
|
+
kCGDVAP = encode(0b011, 0b0111, 0b1100, 0b101),
|
896
|
+
kCGDVADP = encode(0b011, 0b0111, 0b1101, 0b101),
|
897
|
+
kCIGDVAC = encode(0b011, 0b0111, 0b1110, 0b101),
|
898
|
+
kGZVA = encode(0b011, 0b0111, 0b0100, 0b100)
|
899
|
+
};
|
900
|
+
}
|
901
|
+
|
902
|
+
//! Instruction cache maintenance options.
|
903
|
+
namespace IC {
|
904
|
+
static inline constexpr uint32_t encode(uint32_t op1, uint32_t cRn, uint32_t cRm, uint32_t op2) noexcept {
|
905
|
+
return (op1 << 11) | (cRn << 7) | (cRm << 3) | (op2 << 0);
|
906
|
+
}
|
907
|
+
|
908
|
+
//! Instruction cache maintenance immediate values.
|
909
|
+
enum Value : uint32_t {
|
910
|
+
kIALLUIS = encode(0b000, 0b0111, 0b0001, 0b000),
|
911
|
+
kIALLU = encode(0b000, 0b0111, 0b0101, 0b000),
|
912
|
+
kIVAU = encode(0b011, 0b0111, 0b0101, 0b001)
|
913
|
+
};
|
914
|
+
}
|
915
|
+
|
916
|
+
//! Instruction-fetch barrier options.
|
917
|
+
namespace ISB {
|
918
|
+
//! Instruction-fetch barrier immediate values.
|
919
|
+
enum Value : uint32_t {
|
920
|
+
kSY = 0xF
|
921
|
+
};
|
922
|
+
}
|
923
|
+
|
924
|
+
//! Prefetch options.
|
925
|
+
namespace PRFOp {
|
926
|
+
//! Prefetch immediate values.
|
927
|
+
enum Value : uint32_t {
|
928
|
+
kPLDL1KEEP = 0x00,
|
929
|
+
kPLDL1STRM = 0x01,
|
930
|
+
kPLDL2KEEP = 0x02,
|
931
|
+
kPLDL2STRM = 0x03,
|
932
|
+
kPLDL3KEEP = 0x04,
|
933
|
+
kPLDL3STRM = 0x05,
|
934
|
+
kPLIL1KEEP = 0x08,
|
935
|
+
kPLIL1STRM = 0x09,
|
936
|
+
kPLIL2KEEP = 0x0A,
|
937
|
+
kPLIL2STRM = 0x0B,
|
938
|
+
kPLIL3KEEP = 0x0C,
|
939
|
+
kPLIL3STRM = 0x0D,
|
940
|
+
kPSTL1KEEP = 0x10,
|
941
|
+
kPSTL1STRM = 0x11,
|
942
|
+
kPSTL2KEEP = 0x12,
|
943
|
+
kPSTL2STRM = 0x13,
|
944
|
+
kPSTL3KEEP = 0x14,
|
945
|
+
kPSTL3STRM = 0x15
|
946
|
+
};
|
947
|
+
}
|
948
|
+
|
949
|
+
//! PSB instruction options.
|
950
|
+
namespace PSB {
|
951
|
+
//! PSB immediate values.
|
952
|
+
enum Value : uint32_t {
|
953
|
+
kCSYNC = 0x11u
|
954
|
+
};
|
955
|
+
}
|
956
|
+
|
957
|
+
namespace TLBI {
|
958
|
+
static inline constexpr uint32_t encode(uint32_t op1, uint32_t cRn, uint32_t cRm, uint32_t op2) noexcept {
|
959
|
+
return (op1 << 11) | (cRn << 7) | (cRm << 3) | (op2 << 0);
|
960
|
+
}
|
961
|
+
|
962
|
+
enum Value : uint32_t {
|
963
|
+
kIPAS2E1IS = encode(0b100, 0b1000, 0b0000, 0b001),
|
964
|
+
kIPAS2LE1IS = encode(0b100, 0b1000, 0b0000, 0b101),
|
965
|
+
kVMALLE1IS = encode(0b000, 0b1000, 0b0011, 0b000),
|
966
|
+
kALLE2IS = encode(0b100, 0b1000, 0b0011, 0b000),
|
967
|
+
kALLE3IS = encode(0b110, 0b1000, 0b0011, 0b000),
|
968
|
+
kVAE1IS = encode(0b000, 0b1000, 0b0011, 0b001),
|
969
|
+
kVAE2IS = encode(0b100, 0b1000, 0b0011, 0b001),
|
970
|
+
kVAE3IS = encode(0b110, 0b1000, 0b0011, 0b001),
|
971
|
+
kASIDE1IS = encode(0b000, 0b1000, 0b0011, 0b010),
|
972
|
+
kVAAE1IS = encode(0b000, 0b1000, 0b0011, 0b011),
|
973
|
+
kALLE1IS = encode(0b100, 0b1000, 0b0011, 0b100),
|
974
|
+
kVALE1IS = encode(0b000, 0b1000, 0b0011, 0b101),
|
975
|
+
kVALE2IS = encode(0b100, 0b1000, 0b0011, 0b101),
|
976
|
+
kVALE3IS = encode(0b110, 0b1000, 0b0011, 0b101),
|
977
|
+
kVMALLS12E1IS = encode(0b100, 0b1000, 0b0011, 0b110),
|
978
|
+
kVAALE1IS = encode(0b000, 0b1000, 0b0011, 0b111),
|
979
|
+
kIPAS2E1 = encode(0b100, 0b1000, 0b0100, 0b001),
|
980
|
+
kIPAS2LE1 = encode(0b100, 0b1000, 0b0100, 0b101),
|
981
|
+
kVMALLE1 = encode(0b000, 0b1000, 0b0111, 0b000),
|
982
|
+
kALLE2 = encode(0b100, 0b1000, 0b0111, 0b000),
|
983
|
+
kALLE3 = encode(0b110, 0b1000, 0b0111, 0b000),
|
984
|
+
kVAE1 = encode(0b000, 0b1000, 0b0111, 0b001),
|
985
|
+
kVAE2 = encode(0b100, 0b1000, 0b0111, 0b001),
|
986
|
+
kVAE3 = encode(0b110, 0b1000, 0b0111, 0b001),
|
987
|
+
kASIDE1 = encode(0b000, 0b1000, 0b0111, 0b010),
|
988
|
+
kVAAE1 = encode(0b000, 0b1000, 0b0111, 0b011),
|
989
|
+
kALLE1 = encode(0b100, 0b1000, 0b0111, 0b100),
|
990
|
+
kVALE1 = encode(0b000, 0b1000, 0b0111, 0b101),
|
991
|
+
kVALE2 = encode(0b100, 0b1000, 0b0111, 0b101),
|
992
|
+
kVALE3 = encode(0b110, 0b1000, 0b0111, 0b101),
|
993
|
+
kVMALLS12E1 = encode(0b100, 0b1000, 0b0111, 0b110),
|
994
|
+
kVAALE1 = encode(0b000, 0b1000, 0b0111, 0b111),
|
995
|
+
|
996
|
+
kVMALLE1OS = encode(0b000, 0b1000, 0b0001, 0b000),
|
997
|
+
kVAE1OS = encode(0b000, 0b1000, 0b0001, 0b001),
|
998
|
+
kASIDE1OS = encode(0b000, 0b1000, 0b0001, 0b010),
|
999
|
+
kVAAE1OS = encode(0b000, 0b1000, 0b0001, 0b011),
|
1000
|
+
kVALE1OS = encode(0b000, 0b1000, 0b0001, 0b101),
|
1001
|
+
kVAALE1OS = encode(0b000, 0b1000, 0b0001, 0b111),
|
1002
|
+
kIPAS2E1OS = encode(0b100, 0b1000, 0b0100, 0b000),
|
1003
|
+
kIPAS2LE1OS = encode(0b100, 0b1000, 0b0100, 0b100),
|
1004
|
+
kVAE2OS = encode(0b100, 0b1000, 0b0001, 0b001),
|
1005
|
+
kVALE2OS = encode(0b100, 0b1000, 0b0001, 0b101),
|
1006
|
+
kVMALLS12E1OS = encode(0b100, 0b1000, 0b0001, 0b110),
|
1007
|
+
kVAE3OS = encode(0b110, 0b1000, 0b0001, 0b001),
|
1008
|
+
kVALE3OS = encode(0b110, 0b1000, 0b0001, 0b101),
|
1009
|
+
kALLE2OS = encode(0b100, 0b1000, 0b0001, 0b000),
|
1010
|
+
kALLE1OS = encode(0b100, 0b1000, 0b0001, 0b100),
|
1011
|
+
kALLE3OS = encode(0b110, 0b1000, 0b0001, 0b000),
|
1012
|
+
|
1013
|
+
kRVAE1 = encode(0b000, 0b1000, 0b0110, 0b001),
|
1014
|
+
kRVAAE1 = encode(0b000, 0b1000, 0b0110, 0b011),
|
1015
|
+
kRVALE1 = encode(0b000, 0b1000, 0b0110, 0b101),
|
1016
|
+
kRVAALE1 = encode(0b000, 0b1000, 0b0110, 0b111),
|
1017
|
+
kRVAE1IS = encode(0b000, 0b1000, 0b0010, 0b001),
|
1018
|
+
kRVAAE1IS = encode(0b000, 0b1000, 0b0010, 0b011),
|
1019
|
+
kRVALE1IS = encode(0b000, 0b1000, 0b0010, 0b101),
|
1020
|
+
kRVAALE1IS = encode(0b000, 0b1000, 0b0010, 0b111),
|
1021
|
+
kRVAE1OS = encode(0b000, 0b1000, 0b0101, 0b001),
|
1022
|
+
kRVAAE1OS = encode(0b000, 0b1000, 0b0101, 0b011),
|
1023
|
+
kRVALE1OS = encode(0b000, 0b1000, 0b0101, 0b101),
|
1024
|
+
kRVAALE1OS = encode(0b000, 0b1000, 0b0101, 0b111),
|
1025
|
+
kRIPAS2E1IS = encode(0b100, 0b1000, 0b0000, 0b010),
|
1026
|
+
kRIPAS2LE1IS = encode(0b100, 0b1000, 0b0000, 0b110),
|
1027
|
+
kRIPAS2E1 = encode(0b100, 0b1000, 0b0100, 0b010),
|
1028
|
+
kRIPAS2LE1 = encode(0b100, 0b1000, 0b0100, 0b110),
|
1029
|
+
kRIPAS2E1OS = encode(0b100, 0b1000, 0b0100, 0b011),
|
1030
|
+
kRIPAS2LE1OS = encode(0b100, 0b1000, 0b0100, 0b111),
|
1031
|
+
kRVAE2 = encode(0b100, 0b1000, 0b0110, 0b001),
|
1032
|
+
kRVALE2 = encode(0b100, 0b1000, 0b0110, 0b101),
|
1033
|
+
kRVAE2IS = encode(0b100, 0b1000, 0b0010, 0b001),
|
1034
|
+
kRVALE2IS = encode(0b100, 0b1000, 0b0010, 0b101),
|
1035
|
+
kRVAE2OS = encode(0b100, 0b1000, 0b0101, 0b001),
|
1036
|
+
kRVALE2OS = encode(0b100, 0b1000, 0b0101, 0b101),
|
1037
|
+
kRVAE3 = encode(0b110, 0b1000, 0b0110, 0b001),
|
1038
|
+
kRVALE3 = encode(0b110, 0b1000, 0b0110, 0b101),
|
1039
|
+
kRVAE3IS = encode(0b110, 0b1000, 0b0010, 0b001),
|
1040
|
+
kRVALE3IS = encode(0b110, 0b1000, 0b0010, 0b101),
|
1041
|
+
kRVAE3OS = encode(0b110, 0b1000, 0b0101, 0b001),
|
1042
|
+
kRVALE3OS = encode(0b110, 0b1000, 0b0101, 0b101),
|
1043
|
+
};
|
1044
|
+
}
|
1045
|
+
|
1046
|
+
//! Trace synchronization barrier options.
|
1047
|
+
namespace TSB {
|
1048
|
+
//! Trace synchronization immediate values.
|
1049
|
+
enum Value : uint32_t {
|
1050
|
+
kCSYNC = 0
|
1051
|
+
};
|
1052
|
+
}
|
1053
|
+
|
1054
|
+
//! Processor state access through MSR.
|
1055
|
+
namespace PState {
|
1056
|
+
//! Encodes a pstate from `op0` and `op1`.
|
1057
|
+
static inline constexpr uint32_t encode(uint32_t op0, uint32_t op1) noexcept {
|
1058
|
+
return (op0 << 3) | (op1 << 0);
|
1059
|
+
}
|
1060
|
+
|
1061
|
+
//! Processor state access immediates.
|
1062
|
+
enum Value : uint32_t {
|
1063
|
+
kSPSel = encode(0b000, 0b101),
|
1064
|
+
kDAIFSet = encode(0b011, 0b110),
|
1065
|
+
kDAIFClr = encode(0b011, 0b111),
|
1066
|
+
kPAN = encode(0b000, 0b100),
|
1067
|
+
kUAO = encode(0b000, 0b011),
|
1068
|
+
kDIT = encode(0b011, 0b010),
|
1069
|
+
kSSBS = encode(0b011, 0b001),
|
1070
|
+
kTCO = encode(0b011, 0b100)
|
1071
|
+
};
|
1072
|
+
};
|
1073
|
+
|
1074
|
+
//! System register identifiers and utilities (MSR/MRS).
|
1075
|
+
namespace SysReg {
|
1076
|
+
//! System register fields.
|
1077
|
+
struct Fields {
|
1078
|
+
uint8_t op0;
|
1079
|
+
uint8_t op1;
|
1080
|
+
uint8_t cRn;
|
1081
|
+
uint8_t cRm;
|
1082
|
+
uint8_t op2;
|
1083
|
+
};
|
1084
|
+
|
1085
|
+
//! Encodes a system register from `op0`, `op1`, `cRn`, `cRm`, and `op2` fields.
|
1086
|
+
static inline constexpr uint32_t encode(uint32_t op0, uint32_t op1, uint32_t cRn, uint32_t cRm, uint32_t op2) noexcept {
|
1087
|
+
return (op0 << 14) | (op1 << 11) | (cRn << 7) | (cRm << 3) | (op2 << 0);
|
1088
|
+
}
|
1089
|
+
|
1090
|
+
//! Encodes a system register from `fields`.
|
1091
|
+
static inline constexpr uint32_t encode(const Fields& fields) noexcept {
|
1092
|
+
return encode(fields.op0, fields.op1, fields.cRn, fields.cRm, fields.op2);
|
1093
|
+
}
|
1094
|
+
|
1095
|
+
//! Decodes a system register to \ref Fields.
|
1096
|
+
static inline constexpr Fields decode(uint32_t id) noexcept {
|
1097
|
+
return Fields {
|
1098
|
+
uint8_t((id >> 14) & 0x3u),
|
1099
|
+
uint8_t((id >> 11) & 0x7u),
|
1100
|
+
uint8_t((id >> 7) & 0xFu),
|
1101
|
+
uint8_t((id >> 3) & 0xFu),
|
1102
|
+
uint8_t((id >> 0) & 0x7u)
|
1103
|
+
};
|
1104
|
+
}
|
1105
|
+
|
1106
|
+
//! System register identifiers.
|
1107
|
+
enum Id : uint32_t {
|
1108
|
+
kACTLR_EL1 = encode(0b11, 0b000, 0b0001, 0b0000, 0b001), // RW
|
1109
|
+
kACTLR_EL2 = encode(0b11, 0b100, 0b0001, 0b0000, 0b001), // RW
|
1110
|
+
kACTLR_EL3 = encode(0b11, 0b110, 0b0001, 0b0000, 0b001), // RW
|
1111
|
+
kAFSR0_EL1 = encode(0b11, 0b000, 0b0101, 0b0001, 0b000), // RW
|
1112
|
+
kAFSR0_EL12 = encode(0b11, 0b101, 0b0101, 0b0001, 0b000), // RW
|
1113
|
+
kAFSR0_EL2 = encode(0b11, 0b100, 0b0101, 0b0001, 0b000), // RW
|
1114
|
+
kAFSR0_EL3 = encode(0b11, 0b110, 0b0101, 0b0001, 0b000), // RW
|
1115
|
+
kAFSR1_EL1 = encode(0b11, 0b000, 0b0101, 0b0001, 0b001), // RW
|
1116
|
+
kAFSR1_EL12 = encode(0b11, 0b101, 0b0101, 0b0001, 0b001), // RW
|
1117
|
+
kAFSR1_EL2 = encode(0b11, 0b100, 0b0101, 0b0001, 0b001), // RW
|
1118
|
+
kAFSR1_EL3 = encode(0b11, 0b110, 0b0101, 0b0001, 0b001), // RW
|
1119
|
+
kAIDR_EL1 = encode(0b11, 0b001, 0b0000, 0b0000, 0b111), // RO
|
1120
|
+
kAMAIR_EL1 = encode(0b11, 0b000, 0b1010, 0b0011, 0b000), // RW
|
1121
|
+
kAMAIR_EL12 = encode(0b11, 0b101, 0b1010, 0b0011, 0b000), // RW
|
1122
|
+
kAMAIR_EL2 = encode(0b11, 0b100, 0b1010, 0b0011, 0b000), // RW
|
1123
|
+
kAMAIR_EL3 = encode(0b11, 0b110, 0b1010, 0b0011, 0b000), // RW
|
1124
|
+
kAMCFGR_EL0 = encode(0b11, 0b011, 0b1101, 0b0010, 0b001), // RO
|
1125
|
+
kAMCGCR_EL0 = encode(0b11, 0b011, 0b1101, 0b0010, 0b010), // RO
|
1126
|
+
kAMCNTENCLR0_EL0 = encode(0b11, 0b011, 0b1101, 0b0010, 0b100), // RW
|
1127
|
+
kAMCNTENCLR1_EL0 = encode(0b11, 0b011, 0b1101, 0b0011, 0b000), // RW
|
1128
|
+
kAMCNTENSET0_EL0 = encode(0b11, 0b011, 0b1101, 0b0010, 0b101), // RW
|
1129
|
+
kAMCNTENSET1_EL0 = encode(0b11, 0b011, 0b1101, 0b0011, 0b001), // RW
|
1130
|
+
kAMCR_EL0 = encode(0b11, 0b011, 0b1101, 0b0010, 0b000), // RW
|
1131
|
+
kAMEVCNTR00_EL0 = encode(0b11, 0b011, 0b1101, 0b0100, 0b000), // RW
|
1132
|
+
kAMEVCNTR01_EL0 = encode(0b11, 0b011, 0b1101, 0b0100, 0b001), // RW
|
1133
|
+
kAMEVCNTR02_EL0 = encode(0b11, 0b011, 0b1101, 0b0100, 0b010), // RW
|
1134
|
+
kAMEVCNTR03_EL0 = encode(0b11, 0b011, 0b1101, 0b0100, 0b011), // RW
|
1135
|
+
kAMEVCNTR10_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b000), // RW
|
1136
|
+
kAMEVCNTR110_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b010), // RW
|
1137
|
+
kAMEVCNTR111_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b011), // RW
|
1138
|
+
kAMEVCNTR112_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b100), // RW
|
1139
|
+
kAMEVCNTR113_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b101), // RW
|
1140
|
+
kAMEVCNTR114_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b110), // RW
|
1141
|
+
kAMEVCNTR115_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b111), // RW
|
1142
|
+
kAMEVCNTR11_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b001), // RW
|
1143
|
+
kAMEVCNTR12_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b010), // RW
|
1144
|
+
kAMEVCNTR13_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b011), // RW
|
1145
|
+
kAMEVCNTR14_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b100), // RW
|
1146
|
+
kAMEVCNTR15_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b101), // RW
|
1147
|
+
kAMEVCNTR16_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b110), // RW
|
1148
|
+
kAMEVCNTR17_EL0 = encode(0b11, 0b011, 0b1101, 0b1100, 0b111), // RW
|
1149
|
+
kAMEVCNTR18_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b000), // RW
|
1150
|
+
kAMEVCNTR19_EL0 = encode(0b11, 0b011, 0b1101, 0b1101, 0b001), // RW
|
1151
|
+
kAMEVTYPER00_EL0 = encode(0b11, 0b011, 0b1101, 0b0110, 0b000), // RO
|
1152
|
+
kAMEVTYPER01_EL0 = encode(0b11, 0b011, 0b1101, 0b0110, 0b001), // RO
|
1153
|
+
kAMEVTYPER02_EL0 = encode(0b11, 0b011, 0b1101, 0b0110, 0b010), // RO
|
1154
|
+
kAMEVTYPER03_EL0 = encode(0b11, 0b011, 0b1101, 0b0110, 0b011), // RO
|
1155
|
+
kAMEVTYPER10_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b000), // RW
|
1156
|
+
kAMEVTYPER110_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b010), // RW
|
1157
|
+
kAMEVTYPER111_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b011), // RW
|
1158
|
+
kAMEVTYPER112_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b100), // RW
|
1159
|
+
kAMEVTYPER113_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b101), // RW
|
1160
|
+
kAMEVTYPER114_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b110), // RW
|
1161
|
+
kAMEVTYPER115_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b111), // RW
|
1162
|
+
kAMEVTYPER11_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b001), // RW
|
1163
|
+
kAMEVTYPER12_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b010), // RW
|
1164
|
+
kAMEVTYPER13_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b011), // RW
|
1165
|
+
kAMEVTYPER14_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b100), // RW
|
1166
|
+
kAMEVTYPER15_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b101), // RW
|
1167
|
+
kAMEVTYPER16_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b110), // RW
|
1168
|
+
kAMEVTYPER17_EL0 = encode(0b11, 0b011, 0b1101, 0b1110, 0b111), // RW
|
1169
|
+
kAMEVTYPER18_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b000), // RW
|
1170
|
+
kAMEVTYPER19_EL0 = encode(0b11, 0b011, 0b1101, 0b1111, 0b001), // RW
|
1171
|
+
kAMUSERENR_EL0 = encode(0b11, 0b011, 0b1101, 0b0010, 0b011), // RW
|
1172
|
+
kAPDAKeyHi_EL1 = encode(0b11, 0b000, 0b0010, 0b0010, 0b001), // RW
|
1173
|
+
kAPDAKeyLo_EL1 = encode(0b11, 0b000, 0b0010, 0b0010, 0b000), // RW
|
1174
|
+
kAPDBKeyHi_EL1 = encode(0b11, 0b000, 0b0010, 0b0010, 0b011), // RW
|
1175
|
+
kAPDBKeyLo_EL1 = encode(0b11, 0b000, 0b0010, 0b0010, 0b010), // RW
|
1176
|
+
kAPGAKeyHi_EL1 = encode(0b11, 0b000, 0b0010, 0b0011, 0b001), // RW
|
1177
|
+
kAPGAKeyLo_EL1 = encode(0b11, 0b000, 0b0010, 0b0011, 0b000), // RW
|
1178
|
+
kAPIAKeyHi_EL1 = encode(0b11, 0b000, 0b0010, 0b0001, 0b001), // RW
|
1179
|
+
kAPIAKeyLo_EL1 = encode(0b11, 0b000, 0b0010, 0b0001, 0b000), // RW
|
1180
|
+
kAPIBKeyHi_EL1 = encode(0b11, 0b000, 0b0010, 0b0001, 0b011), // RW
|
1181
|
+
kAPIBKeyLo_EL1 = encode(0b11, 0b000, 0b0010, 0b0001, 0b010), // RW
|
1182
|
+
kCCSIDR2_EL1 = encode(0b11, 0b001, 0b0000, 0b0000, 0b010), // RO
|
1183
|
+
kCCSIDR_EL1 = encode(0b11, 0b001, 0b0000, 0b0000, 0b000), // RO
|
1184
|
+
kCLIDR_EL1 = encode(0b11, 0b001, 0b0000, 0b0000, 0b001), // RO
|
1185
|
+
kCNTFRQ_EL0 = encode(0b11, 0b011, 0b1110, 0b0000, 0b000), // RW
|
1186
|
+
kCNTHCTL_EL2 = encode(0b11, 0b100, 0b1110, 0b0001, 0b000), // RW
|
1187
|
+
kCNTHPS_CTL_EL2 = encode(0b11, 0b100, 0b1110, 0b0101, 0b001), // RW
|
1188
|
+
kCNTHPS_CVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0101, 0b010), // RW
|
1189
|
+
kCNTHPS_TVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0101, 0b000), // RW
|
1190
|
+
kCNTHP_CTL_EL2 = encode(0b11, 0b100, 0b1110, 0b0010, 0b001), // RW
|
1191
|
+
kCNTHP_CVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0010, 0b010), // RW
|
1192
|
+
kCNTHP_TVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0010, 0b000), // RW
|
1193
|
+
kCNTHVS_CTL_EL2 = encode(0b11, 0b100, 0b1110, 0b0100, 0b001), // RW
|
1194
|
+
kCNTHVS_CVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0100, 0b010), // RW
|
1195
|
+
kCNTHVS_TVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0100, 0b000), // RW
|
1196
|
+
kCNTHV_CTL_EL2 = encode(0b11, 0b100, 0b1110, 0b0011, 0b001), // RW
|
1197
|
+
kCNTHV_CVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0011, 0b010), // RW
|
1198
|
+
kCNTHV_TVAL_EL2 = encode(0b11, 0b100, 0b1110, 0b0011, 0b000), // RW
|
1199
|
+
kCNTISCALE_EL2 = encode(0b11, 0b100, 0b1110, 0b0000, 0b101), // RW
|
1200
|
+
kCNTKCTL_EL1 = encode(0b11, 0b000, 0b1110, 0b0001, 0b000), // RW
|
1201
|
+
kCNTKCTL_EL12 = encode(0b11, 0b101, 0b1110, 0b0001, 0b000), // RW
|
1202
|
+
kCNTPCTSS_EL0 = encode(0b11, 0b011, 0b1110, 0b0000, 0b101), // RW
|
1203
|
+
kCNTPCT_EL0 = encode(0b11, 0b011, 0b1110, 0b0000, 0b001), // RO
|
1204
|
+
kCNTPOFF_EL2 = encode(0b11, 0b100, 0b1110, 0b0000, 0b110), // RW
|
1205
|
+
kCNTPS_CTL_EL1 = encode(0b11, 0b111, 0b1110, 0b0010, 0b001), // RW
|
1206
|
+
kCNTPS_CVAL_EL1 = encode(0b11, 0b111, 0b1110, 0b0010, 0b010), // RW
|
1207
|
+
kCNTPS_TVAL_EL1 = encode(0b11, 0b111, 0b1110, 0b0010, 0b000), // RW
|
1208
|
+
kCNTP_CTL_EL0 = encode(0b11, 0b011, 0b1110, 0b0010, 0b001), // RW
|
1209
|
+
kCNTP_CTL_EL02 = encode(0b11, 0b101, 0b1110, 0b0010, 0b001), // RW
|
1210
|
+
kCNTP_CVAL_EL0 = encode(0b11, 0b011, 0b1110, 0b0010, 0b010), // RW
|
1211
|
+
kCNTP_CVAL_EL02 = encode(0b11, 0b101, 0b1110, 0b0010, 0b010), // RW
|
1212
|
+
kCNTP_TVAL_EL0 = encode(0b11, 0b011, 0b1110, 0b0010, 0b000), // RW
|
1213
|
+
kCNTP_TVAL_EL02 = encode(0b11, 0b101, 0b1110, 0b0010, 0b000), // RW
|
1214
|
+
kCNTSCALE_EL2 = encode(0b11, 0b100, 0b1110, 0b0000, 0b100), // RW
|
1215
|
+
kCNTVCTSS_EL0 = encode(0b11, 0b011, 0b1110, 0b0000, 0b110), // RW
|
1216
|
+
kCNTVCT_EL0 = encode(0b11, 0b011, 0b1110, 0b0000, 0b010), // RO
|
1217
|
+
kCNTVFRQ_EL2 = encode(0b11, 0b100, 0b1110, 0b0000, 0b111), // RW
|
1218
|
+
kCNTVOFF_EL2 = encode(0b11, 0b100, 0b1110, 0b0000, 0b011), // RW
|
1219
|
+
kCNTV_CTL_EL0 = encode(0b11, 0b011, 0b1110, 0b0011, 0b001), // RW
|
1220
|
+
kCNTV_CTL_EL02 = encode(0b11, 0b101, 0b1110, 0b0011, 0b001), // RW
|
1221
|
+
kCNTV_CVAL_EL0 = encode(0b11, 0b011, 0b1110, 0b0011, 0b010), // RW
|
1222
|
+
kCNTV_CVAL_EL02 = encode(0b11, 0b101, 0b1110, 0b0011, 0b010), // RW
|
1223
|
+
kCNTV_TVAL_EL0 = encode(0b11, 0b011, 0b1110, 0b0011, 0b000), // RW
|
1224
|
+
kCNTV_TVAL_EL02 = encode(0b11, 0b101, 0b1110, 0b0011, 0b000), // RW
|
1225
|
+
kCONTEXTIDR_EL1 = encode(0b11, 0b000, 0b1101, 0b0000, 0b001), // RW
|
1226
|
+
kCONTEXTIDR_EL12 = encode(0b11, 0b101, 0b1101, 0b0000, 0b001), // RW
|
1227
|
+
kCONTEXTIDR_EL2 = encode(0b11, 0b100, 0b1101, 0b0000, 0b001), // RW
|
1228
|
+
kCPACR_EL1 = encode(0b11, 0b000, 0b0001, 0b0000, 0b010), // RW
|
1229
|
+
kCPACR_EL12 = encode(0b11, 0b101, 0b0001, 0b0000, 0b010), // RW
|
1230
|
+
kCPM_IOACC_CTL_EL3 = encode(0b11, 0b111, 0b1111, 0b0010, 0b000), // RW
|
1231
|
+
kCPTR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b010), // RW
|
1232
|
+
kCPTR_EL3 = encode(0b11, 0b110, 0b0001, 0b0001, 0b010), // RW
|
1233
|
+
kCSSELR_EL1 = encode(0b11, 0b010, 0b0000, 0b0000, 0b000), // RW
|
1234
|
+
kCTR_EL0 = encode(0b11, 0b011, 0b0000, 0b0000, 0b001), // RO
|
1235
|
+
kCurrentEL = encode(0b11, 0b000, 0b0100, 0b0010, 0b010), // RO
|
1236
|
+
kDACR32_EL2 = encode(0b11, 0b100, 0b0011, 0b0000, 0b000), // RW
|
1237
|
+
kDAIF = encode(0b11, 0b011, 0b0100, 0b0010, 0b001), // RW
|
1238
|
+
kDBGAUTHSTATUS_EL1 = encode(0b10, 0b000, 0b0111, 0b1110, 0b110), // RO
|
1239
|
+
kDBGBCR0_EL1 = encode(0b10, 0b000, 0b0000, 0b0000, 0b101), // RW
|
1240
|
+
kDBGBCR10_EL1 = encode(0b10, 0b000, 0b0000, 0b1010, 0b101), // RW
|
1241
|
+
kDBGBCR11_EL1 = encode(0b10, 0b000, 0b0000, 0b1011, 0b101), // RW
|
1242
|
+
kDBGBCR12_EL1 = encode(0b10, 0b000, 0b0000, 0b1100, 0b101), // RW
|
1243
|
+
kDBGBCR13_EL1 = encode(0b10, 0b000, 0b0000, 0b1101, 0b101), // RW
|
1244
|
+
kDBGBCR14_EL1 = encode(0b10, 0b000, 0b0000, 0b1110, 0b101), // RW
|
1245
|
+
kDBGBCR15_EL1 = encode(0b10, 0b000, 0b0000, 0b1111, 0b101), // RW
|
1246
|
+
kDBGBCR1_EL1 = encode(0b10, 0b000, 0b0000, 0b0001, 0b101), // RW
|
1247
|
+
kDBGBCR2_EL1 = encode(0b10, 0b000, 0b0000, 0b0010, 0b101), // RW
|
1248
|
+
kDBGBCR3_EL1 = encode(0b10, 0b000, 0b0000, 0b0011, 0b101), // RW
|
1249
|
+
kDBGBCR4_EL1 = encode(0b10, 0b000, 0b0000, 0b0100, 0b101), // RW
|
1250
|
+
kDBGBCR5_EL1 = encode(0b10, 0b000, 0b0000, 0b0101, 0b101), // RW
|
1251
|
+
kDBGBCR6_EL1 = encode(0b10, 0b000, 0b0000, 0b0110, 0b101), // RW
|
1252
|
+
kDBGBCR7_EL1 = encode(0b10, 0b000, 0b0000, 0b0111, 0b101), // RW
|
1253
|
+
kDBGBCR8_EL1 = encode(0b10, 0b000, 0b0000, 0b1000, 0b101), // RW
|
1254
|
+
kDBGBCR9_EL1 = encode(0b10, 0b000, 0b0000, 0b1001, 0b101), // RW
|
1255
|
+
kDBGBVR0_EL1 = encode(0b10, 0b000, 0b0000, 0b0000, 0b100), // RW
|
1256
|
+
kDBGBVR10_EL1 = encode(0b10, 0b000, 0b0000, 0b1010, 0b100), // RW
|
1257
|
+
kDBGBVR11_EL1 = encode(0b10, 0b000, 0b0000, 0b1011, 0b100), // RW
|
1258
|
+
kDBGBVR12_EL1 = encode(0b10, 0b000, 0b0000, 0b1100, 0b100), // RW
|
1259
|
+
kDBGBVR13_EL1 = encode(0b10, 0b000, 0b0000, 0b1101, 0b100), // RW
|
1260
|
+
kDBGBVR14_EL1 = encode(0b10, 0b000, 0b0000, 0b1110, 0b100), // RW
|
1261
|
+
kDBGBVR15_EL1 = encode(0b10, 0b000, 0b0000, 0b1111, 0b100), // RW
|
1262
|
+
kDBGBVR1_EL1 = encode(0b10, 0b000, 0b0000, 0b0001, 0b100), // RW
|
1263
|
+
kDBGBVR2_EL1 = encode(0b10, 0b000, 0b0000, 0b0010, 0b100), // RW
|
1264
|
+
kDBGBVR3_EL1 = encode(0b10, 0b000, 0b0000, 0b0011, 0b100), // RW
|
1265
|
+
kDBGBVR4_EL1 = encode(0b10, 0b000, 0b0000, 0b0100, 0b100), // RW
|
1266
|
+
kDBGBVR5_EL1 = encode(0b10, 0b000, 0b0000, 0b0101, 0b100), // RW
|
1267
|
+
kDBGBVR6_EL1 = encode(0b10, 0b000, 0b0000, 0b0110, 0b100), // RW
|
1268
|
+
kDBGBVR7_EL1 = encode(0b10, 0b000, 0b0000, 0b0111, 0b100), // RW
|
1269
|
+
kDBGBVR8_EL1 = encode(0b10, 0b000, 0b0000, 0b1000, 0b100), // RW
|
1270
|
+
kDBGBVR9_EL1 = encode(0b10, 0b000, 0b0000, 0b1001, 0b100), // RW
|
1271
|
+
kDBGCLAIMCLR_EL1 = encode(0b10, 0b000, 0b0111, 0b1001, 0b110), // RW
|
1272
|
+
kDBGCLAIMSET_EL1 = encode(0b10, 0b000, 0b0111, 0b1000, 0b110), // RW
|
1273
|
+
kDBGDTRRX_EL0 = encode(0b10, 0b011, 0b0000, 0b0101, 0b000), // RO
|
1274
|
+
kDBGDTRTX_EL0 = encode(0b10, 0b011, 0b0000, 0b0101, 0b000), // WO
|
1275
|
+
kDBGDTR_EL0 = encode(0b10, 0b011, 0b0000, 0b0100, 0b000), // RW
|
1276
|
+
kDBGPRCR_EL1 = encode(0b10, 0b000, 0b0001, 0b0100, 0b100), // RW
|
1277
|
+
kDBGVCR32_EL2 = encode(0b10, 0b100, 0b0000, 0b0111, 0b000), // RW
|
1278
|
+
kDBGWCR0_EL1 = encode(0b10, 0b000, 0b0000, 0b0000, 0b111), // RW
|
1279
|
+
kDBGWCR10_EL1 = encode(0b10, 0b000, 0b0000, 0b1010, 0b111), // RW
|
1280
|
+
kDBGWCR11_EL1 = encode(0b10, 0b000, 0b0000, 0b1011, 0b111), // RW
|
1281
|
+
kDBGWCR12_EL1 = encode(0b10, 0b000, 0b0000, 0b1100, 0b111), // RW
|
1282
|
+
kDBGWCR13_EL1 = encode(0b10, 0b000, 0b0000, 0b1101, 0b111), // RW
|
1283
|
+
kDBGWCR14_EL1 = encode(0b10, 0b000, 0b0000, 0b1110, 0b111), // RW
|
1284
|
+
kDBGWCR15_EL1 = encode(0b10, 0b000, 0b0000, 0b1111, 0b111), // RW
|
1285
|
+
kDBGWCR1_EL1 = encode(0b10, 0b000, 0b0000, 0b0001, 0b111), // RW
|
1286
|
+
kDBGWCR2_EL1 = encode(0b10, 0b000, 0b0000, 0b0010, 0b111), // RW
|
1287
|
+
kDBGWCR3_EL1 = encode(0b10, 0b000, 0b0000, 0b0011, 0b111), // RW
|
1288
|
+
kDBGWCR4_EL1 = encode(0b10, 0b000, 0b0000, 0b0100, 0b111), // RW
|
1289
|
+
kDBGWCR5_EL1 = encode(0b10, 0b000, 0b0000, 0b0101, 0b111), // RW
|
1290
|
+
kDBGWCR6_EL1 = encode(0b10, 0b000, 0b0000, 0b0110, 0b111), // RW
|
1291
|
+
kDBGWCR7_EL1 = encode(0b10, 0b000, 0b0000, 0b0111, 0b111), // RW
|
1292
|
+
kDBGWCR8_EL1 = encode(0b10, 0b000, 0b0000, 0b1000, 0b111), // RW
|
1293
|
+
kDBGWCR9_EL1 = encode(0b10, 0b000, 0b0000, 0b1001, 0b111), // RW
|
1294
|
+
kDBGWVR0_EL1 = encode(0b10, 0b000, 0b0000, 0b0000, 0b110), // RW
|
1295
|
+
kDBGWVR10_EL1 = encode(0b10, 0b000, 0b0000, 0b1010, 0b110), // RW
|
1296
|
+
kDBGWVR11_EL1 = encode(0b10, 0b000, 0b0000, 0b1011, 0b110), // RW
|
1297
|
+
kDBGWVR12_EL1 = encode(0b10, 0b000, 0b0000, 0b1100, 0b110), // RW
|
1298
|
+
kDBGWVR13_EL1 = encode(0b10, 0b000, 0b0000, 0b1101, 0b110), // RW
|
1299
|
+
kDBGWVR14_EL1 = encode(0b10, 0b000, 0b0000, 0b1110, 0b110), // RW
|
1300
|
+
kDBGWVR15_EL1 = encode(0b10, 0b000, 0b0000, 0b1111, 0b110), // RW
|
1301
|
+
kDBGWVR1_EL1 = encode(0b10, 0b000, 0b0000, 0b0001, 0b110), // RW
|
1302
|
+
kDBGWVR2_EL1 = encode(0b10, 0b000, 0b0000, 0b0010, 0b110), // RW
|
1303
|
+
kDBGWVR3_EL1 = encode(0b10, 0b000, 0b0000, 0b0011, 0b110), // RW
|
1304
|
+
kDBGWVR4_EL1 = encode(0b10, 0b000, 0b0000, 0b0100, 0b110), // RW
|
1305
|
+
kDBGWVR5_EL1 = encode(0b10, 0b000, 0b0000, 0b0101, 0b110), // RW
|
1306
|
+
kDBGWVR6_EL1 = encode(0b10, 0b000, 0b0000, 0b0110, 0b110), // RW
|
1307
|
+
kDBGWVR7_EL1 = encode(0b10, 0b000, 0b0000, 0b0111, 0b110), // RW
|
1308
|
+
kDBGWVR8_EL1 = encode(0b10, 0b000, 0b0000, 0b1000, 0b110), // RW
|
1309
|
+
kDBGWVR9_EL1 = encode(0b10, 0b000, 0b0000, 0b1001, 0b110), // RW
|
1310
|
+
kDCZID_EL0 = encode(0b11, 0b011, 0b0000, 0b0000, 0b111), // RO
|
1311
|
+
kDISR_EL1 = encode(0b11, 0b000, 0b1100, 0b0001, 0b001), // RW
|
1312
|
+
kDIT = encode(0b11, 0b011, 0b0100, 0b0010, 0b101), // RW
|
1313
|
+
kDLR_EL0 = encode(0b11, 0b011, 0b0100, 0b0101, 0b001), // RW
|
1314
|
+
kDSPSR_EL0 = encode(0b11, 0b011, 0b0100, 0b0101, 0b000), // RW
|
1315
|
+
kELR_EL1 = encode(0b11, 0b000, 0b0100, 0b0000, 0b001), // RW
|
1316
|
+
kELR_EL12 = encode(0b11, 0b101, 0b0100, 0b0000, 0b001), // RW
|
1317
|
+
kELR_EL2 = encode(0b11, 0b100, 0b0100, 0b0000, 0b001), // RW
|
1318
|
+
kELR_EL3 = encode(0b11, 0b110, 0b0100, 0b0000, 0b001), // RW
|
1319
|
+
kERRIDR_EL1 = encode(0b11, 0b000, 0b0101, 0b0011, 0b000), // RO
|
1320
|
+
kERRSELR_EL1 = encode(0b11, 0b000, 0b0101, 0b0011, 0b001), // RW
|
1321
|
+
kERXADDR_EL1 = encode(0b11, 0b000, 0b0101, 0b0100, 0b011), // RW
|
1322
|
+
kERXCTLR_EL1 = encode(0b11, 0b000, 0b0101, 0b0100, 0b001), // RW
|
1323
|
+
kERXFR_EL1 = encode(0b11, 0b000, 0b0101, 0b0100, 0b000), // RO
|
1324
|
+
kERXMISC0_EL1 = encode(0b11, 0b000, 0b0101, 0b0101, 0b000), // RW
|
1325
|
+
kERXMISC1_EL1 = encode(0b11, 0b000, 0b0101, 0b0101, 0b001), // RW
|
1326
|
+
kERXMISC2_EL1 = encode(0b11, 0b000, 0b0101, 0b0101, 0b010), // RW
|
1327
|
+
kERXMISC3_EL1 = encode(0b11, 0b000, 0b0101, 0b0101, 0b011), // RW
|
1328
|
+
kERXPFGCDN_EL1 = encode(0b11, 0b000, 0b0101, 0b0100, 0b110), // RW
|
1329
|
+
kERXPFGCTL_EL1 = encode(0b11, 0b000, 0b0101, 0b0100, 0b101), // RW
|
1330
|
+
kERXPFGF_EL1 = encode(0b11, 0b000, 0b0101, 0b0100, 0b100), // RO
|
1331
|
+
kERXSTATUS_EL1 = encode(0b11, 0b000, 0b0101, 0b0100, 0b010), // RW
|
1332
|
+
kESR_EL1 = encode(0b11, 0b000, 0b0101, 0b0010, 0b000), // RW
|
1333
|
+
kESR_EL12 = encode(0b11, 0b101, 0b0101, 0b0010, 0b000), // RW
|
1334
|
+
kESR_EL2 = encode(0b11, 0b100, 0b0101, 0b0010, 0b000), // RW
|
1335
|
+
kESR_EL3 = encode(0b11, 0b110, 0b0101, 0b0010, 0b000), // RW
|
1336
|
+
kFAR_EL1 = encode(0b11, 0b000, 0b0110, 0b0000, 0b000), // RW
|
1337
|
+
kFAR_EL12 = encode(0b11, 0b101, 0b0110, 0b0000, 0b000), // RW
|
1338
|
+
kFAR_EL2 = encode(0b11, 0b100, 0b0110, 0b0000, 0b000), // RW
|
1339
|
+
kFAR_EL3 = encode(0b11, 0b110, 0b0110, 0b0000, 0b000), // RW
|
1340
|
+
kFPCR = encode(0b11, 0b011, 0b0100, 0b0100, 0b000), // RW
|
1341
|
+
kFPEXC32_EL2 = encode(0b11, 0b100, 0b0101, 0b0011, 0b000), // RW
|
1342
|
+
kFPSR = encode(0b11, 0b011, 0b0100, 0b0100, 0b001), // RW
|
1343
|
+
kGCR_EL1 = encode(0b11, 0b000, 0b0001, 0b0000, 0b110), // RW
|
1344
|
+
kGMID_EL1 = encode(0b11, 0b001, 0b0000, 0b0000, 0b100), // RO
|
1345
|
+
kHACR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b111), // RW
|
1346
|
+
kHCR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b000), // RW
|
1347
|
+
kHDFGRTR_EL2 = encode(0b11, 0b100, 0b0011, 0b0001, 0b100), // RW
|
1348
|
+
kHDFGWTR_EL2 = encode(0b11, 0b100, 0b0011, 0b0001, 0b101), // RW
|
1349
|
+
kHFGITR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b110), // RW
|
1350
|
+
kHFGRTR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b100), // RW
|
1351
|
+
kHFGWTR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b101), // RW
|
1352
|
+
kHPFAR_EL2 = encode(0b11, 0b100, 0b0110, 0b0000, 0b100), // RW
|
1353
|
+
kHSTR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b011), // RW
|
1354
|
+
kICC_AP0R0_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b100), // RW
|
1355
|
+
kICC_AP0R1_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b101), // RW
|
1356
|
+
kICC_AP0R2_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b110), // RW
|
1357
|
+
kICC_AP0R3_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b111), // RW
|
1358
|
+
kICC_AP1R0_EL1 = encode(0b11, 0b000, 0b1100, 0b1001, 0b000), // RW
|
1359
|
+
kICC_AP1R1_EL1 = encode(0b11, 0b000, 0b1100, 0b1001, 0b001), // RW
|
1360
|
+
kICC_AP1R2_EL1 = encode(0b11, 0b000, 0b1100, 0b1001, 0b010), // RW
|
1361
|
+
kICC_AP1R3_EL1 = encode(0b11, 0b000, 0b1100, 0b1001, 0b011), // RW
|
1362
|
+
kICC_ASGI1R_EL1 = encode(0b11, 0b000, 0b1100, 0b1011, 0b110), // WO
|
1363
|
+
kICC_BPR0_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b011), // RW
|
1364
|
+
kICC_BPR1_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b011), // RW
|
1365
|
+
kICC_CTLR_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b100), // RW
|
1366
|
+
kICC_CTLR_EL3 = encode(0b11, 0b110, 0b1100, 0b1100, 0b100), // RW
|
1367
|
+
kICC_DIR_EL1 = encode(0b11, 0b000, 0b1100, 0b1011, 0b001), // WO
|
1368
|
+
kICC_EOIR0_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b001), // WO
|
1369
|
+
kICC_EOIR1_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b001), // WO
|
1370
|
+
kICC_HPPIR0_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b010), // RO
|
1371
|
+
kICC_HPPIR1_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b010), // RO
|
1372
|
+
kICC_IAR0_EL1 = encode(0b11, 0b000, 0b1100, 0b1000, 0b000), // RO
|
1373
|
+
kICC_IAR1_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b000), // RO
|
1374
|
+
kICC_IGRPEN0_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b110), // RW
|
1375
|
+
kICC_IGRPEN1_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b111), // RW
|
1376
|
+
kICC_IGRPEN1_EL3 = encode(0b11, 0b110, 0b1100, 0b1100, 0b111), // RW
|
1377
|
+
kICC_PMR_EL1 = encode(0b11, 0b000, 0b0100, 0b0110, 0b000), // RW
|
1378
|
+
kICC_RPR_EL1 = encode(0b11, 0b000, 0b1100, 0b1011, 0b011), // RO
|
1379
|
+
kICC_SGI0R_EL1 = encode(0b11, 0b000, 0b1100, 0b1011, 0b111), // WO
|
1380
|
+
kICC_SGI1R_EL1 = encode(0b11, 0b000, 0b1100, 0b1011, 0b101), // WO
|
1381
|
+
kICC_SRE_EL1 = encode(0b11, 0b000, 0b1100, 0b1100, 0b101), // RW
|
1382
|
+
kICC_SRE_EL2 = encode(0b11, 0b100, 0b1100, 0b1001, 0b101), // RW
|
1383
|
+
kICC_SRE_EL3 = encode(0b11, 0b110, 0b1100, 0b1100, 0b101), // RW
|
1384
|
+
kICH_AP0R0_EL2 = encode(0b11, 0b100, 0b1100, 0b1000, 0b000), // RW
|
1385
|
+
kICH_AP0R1_EL2 = encode(0b11, 0b100, 0b1100, 0b1000, 0b001), // RW
|
1386
|
+
kICH_AP0R2_EL2 = encode(0b11, 0b100, 0b1100, 0b1000, 0b010), // RW
|
1387
|
+
kICH_AP0R3_EL2 = encode(0b11, 0b100, 0b1100, 0b1000, 0b011), // RW
|
1388
|
+
kICH_AP1R0_EL2 = encode(0b11, 0b100, 0b1100, 0b1001, 0b000), // RW
|
1389
|
+
kICH_AP1R1_EL2 = encode(0b11, 0b100, 0b1100, 0b1001, 0b001), // RW
|
1390
|
+
kICH_AP1R2_EL2 = encode(0b11, 0b100, 0b1100, 0b1001, 0b010), // RW
|
1391
|
+
kICH_AP1R3_EL2 = encode(0b11, 0b100, 0b1100, 0b1001, 0b011), // RW
|
1392
|
+
kICH_EISR_EL2 = encode(0b11, 0b100, 0b1100, 0b1011, 0b011), // RO
|
1393
|
+
kICH_ELRSR_EL2 = encode(0b11, 0b100, 0b1100, 0b1011, 0b101), // RO
|
1394
|
+
kICH_HCR_EL2 = encode(0b11, 0b100, 0b1100, 0b1011, 0b000), // RW
|
1395
|
+
kICH_LR0_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b000), // RW
|
1396
|
+
kICH_LR10_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b010), // RW
|
1397
|
+
kICH_LR11_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b011), // RW
|
1398
|
+
kICH_LR12_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b100), // RW
|
1399
|
+
kICH_LR13_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b101), // RW
|
1400
|
+
kICH_LR14_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b110), // RW
|
1401
|
+
kICH_LR15_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b111), // RW
|
1402
|
+
kICH_LR1_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b001), // RW
|
1403
|
+
kICH_LR2_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b010), // RW
|
1404
|
+
kICH_LR3_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b011), // RW
|
1405
|
+
kICH_LR4_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b100), // RW
|
1406
|
+
kICH_LR5_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b101), // RW
|
1407
|
+
kICH_LR6_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b110), // RW
|
1408
|
+
kICH_LR7_EL2 = encode(0b11, 0b100, 0b1100, 0b1100, 0b111), // RW
|
1409
|
+
kICH_LR8_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b000), // RW
|
1410
|
+
kICH_LR9_EL2 = encode(0b11, 0b100, 0b1100, 0b1101, 0b001), // RW
|
1411
|
+
kICH_MISR_EL2 = encode(0b11, 0b100, 0b1100, 0b1011, 0b010), // RO
|
1412
|
+
kICH_VMCR_EL2 = encode(0b11, 0b100, 0b1100, 0b1011, 0b111), // RW
|
1413
|
+
kICH_VTR_EL2 = encode(0b11, 0b100, 0b1100, 0b1011, 0b001), // RO
|
1414
|
+
kID_AA64AFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0101, 0b100), // RO
|
1415
|
+
kID_AA64AFR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0101, 0b101), // RO
|
1416
|
+
kID_AA64DFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0101, 0b000), // RO
|
1417
|
+
kID_AA64DFR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0101, 0b001), // RO
|
1418
|
+
kID_AA64ISAR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0110, 0b000), // RO
|
1419
|
+
kID_AA64ISAR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0110, 0b001), // RO
|
1420
|
+
kID_AA64MMFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0111, 0b000), // RO
|
1421
|
+
kID_AA64MMFR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0111, 0b001), // RO
|
1422
|
+
kID_AA64MMFR2_EL1 = encode(0b11, 0b000, 0b0000, 0b0111, 0b010), // RO
|
1423
|
+
kID_AA64PFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0100, 0b000), // RO
|
1424
|
+
kID_AA64PFR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0100, 0b001), // RO
|
1425
|
+
kID_AA64ZFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0100, 0b100), // RO
|
1426
|
+
kID_AFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b011), // RO
|
1427
|
+
kID_DFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b010), // RO
|
1428
|
+
kID_ISAR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b000), // RO
|
1429
|
+
kID_ISAR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b001), // RO
|
1430
|
+
kID_ISAR2_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b010), // RO
|
1431
|
+
kID_ISAR3_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b011), // RO
|
1432
|
+
kID_ISAR4_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b100), // RO
|
1433
|
+
kID_ISAR5_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b101), // RO
|
1434
|
+
kID_ISAR6_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b111), // RO
|
1435
|
+
kID_MMFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b100), // RO
|
1436
|
+
kID_MMFR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b101), // RO
|
1437
|
+
kID_MMFR2_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b110), // RO
|
1438
|
+
kID_MMFR3_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b111), // RO
|
1439
|
+
kID_MMFR4_EL1 = encode(0b11, 0b000, 0b0000, 0b0010, 0b110), // RO
|
1440
|
+
kID_MMFR5_EL1 = encode(0b11, 0b000, 0b0000, 0b0011, 0b110), // RO
|
1441
|
+
kID_PFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b000), // RO
|
1442
|
+
kID_PFR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0001, 0b001), // RO
|
1443
|
+
kID_PFR2_EL1 = encode(0b11, 0b000, 0b0000, 0b0011, 0b100), // RO
|
1444
|
+
kIFSR32_EL2 = encode(0b11, 0b100, 0b0101, 0b0000, 0b001), // RW
|
1445
|
+
kISR_EL1 = encode(0b11, 0b000, 0b1100, 0b0001, 0b000), // RO
|
1446
|
+
kLORC_EL1 = encode(0b11, 0b000, 0b1010, 0b0100, 0b011), // RW
|
1447
|
+
kLOREA_EL1 = encode(0b11, 0b000, 0b1010, 0b0100, 0b001), // RW
|
1448
|
+
kLORID_EL1 = encode(0b11, 0b000, 0b1010, 0b0100, 0b111), // RO
|
1449
|
+
kLORN_EL1 = encode(0b11, 0b000, 0b1010, 0b0100, 0b010), // RW
|
1450
|
+
kLORSA_EL1 = encode(0b11, 0b000, 0b1010, 0b0100, 0b000), // RW
|
1451
|
+
kMAIR_EL1 = encode(0b11, 0b000, 0b1010, 0b0010, 0b000), // RW
|
1452
|
+
kMAIR_EL12 = encode(0b11, 0b101, 0b1010, 0b0010, 0b000), // RW
|
1453
|
+
kMAIR_EL2 = encode(0b11, 0b100, 0b1010, 0b0010, 0b000), // RW
|
1454
|
+
kMAIR_EL3 = encode(0b11, 0b110, 0b1010, 0b0010, 0b000), // RW
|
1455
|
+
kMDCCINT_EL1 = encode(0b10, 0b000, 0b0000, 0b0010, 0b000), // RW
|
1456
|
+
kMDCCSR_EL0 = encode(0b10, 0b011, 0b0000, 0b0001, 0b000), // RO
|
1457
|
+
kMDCR_EL2 = encode(0b11, 0b100, 0b0001, 0b0001, 0b001), // RW
|
1458
|
+
kMDCR_EL3 = encode(0b11, 0b110, 0b0001, 0b0011, 0b001), // RW
|
1459
|
+
kMDRAR_EL1 = encode(0b10, 0b000, 0b0001, 0b0000, 0b000), // RO
|
1460
|
+
kMDSCR_EL1 = encode(0b10, 0b000, 0b0000, 0b0010, 0b010), // RW
|
1461
|
+
kMIDR_EL1 = encode(0b11, 0b000, 0b0000, 0b0000, 0b000), // RO
|
1462
|
+
kMPAM0_EL1 = encode(0b11, 0b000, 0b1010, 0b0101, 0b001), // RW
|
1463
|
+
kMPAM1_EL1 = encode(0b11, 0b000, 0b1010, 0b0101, 0b000), // RW
|
1464
|
+
kMPAM1_EL12 = encode(0b11, 0b101, 0b1010, 0b0101, 0b000), // RW
|
1465
|
+
kMPAM2_EL2 = encode(0b11, 0b100, 0b1010, 0b0101, 0b000), // RW
|
1466
|
+
kMPAM3_EL3 = encode(0b11, 0b110, 0b1010, 0b0101, 0b000), // RW
|
1467
|
+
kMPAMHCR_EL2 = encode(0b11, 0b100, 0b1010, 0b0100, 0b000), // RW
|
1468
|
+
kMPAMIDR_EL1 = encode(0b11, 0b000, 0b1010, 0b0100, 0b100), // RO
|
1469
|
+
kMPAMVPM0_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b000), // RW
|
1470
|
+
kMPAMVPM1_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b001), // RW
|
1471
|
+
kMPAMVPM2_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b010), // RW
|
1472
|
+
kMPAMVPM3_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b011), // RW
|
1473
|
+
kMPAMVPM4_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b100), // RW
|
1474
|
+
kMPAMVPM5_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b101), // RW
|
1475
|
+
kMPAMVPM6_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b110), // RW
|
1476
|
+
kMPAMVPM7_EL2 = encode(0b11, 0b100, 0b1010, 0b0110, 0b111), // RW
|
1477
|
+
kMPAMVPMV_EL2 = encode(0b11, 0b100, 0b1010, 0b0100, 0b001), // RW
|
1478
|
+
kMPIDR_EL1 = encode(0b11, 0b000, 0b0000, 0b0000, 0b101), // RO
|
1479
|
+
kMVFR0_EL1 = encode(0b11, 0b000, 0b0000, 0b0011, 0b000), // RO
|
1480
|
+
kMVFR1_EL1 = encode(0b11, 0b000, 0b0000, 0b0011, 0b001), // RO
|
1481
|
+
kMVFR2_EL1 = encode(0b11, 0b000, 0b0000, 0b0011, 0b010), // RO
|
1482
|
+
kNZCV = encode(0b11, 0b011, 0b0100, 0b0010, 0b000), // RW
|
1483
|
+
kOSDLR_EL1 = encode(0b10, 0b000, 0b0001, 0b0011, 0b100), // RW
|
1484
|
+
kOSDTRRX_EL1 = encode(0b10, 0b000, 0b0000, 0b0000, 0b010), // RW
|
1485
|
+
kOSDTRTX_EL1 = encode(0b10, 0b000, 0b0000, 0b0011, 0b010), // RW
|
1486
|
+
kOSECCR_EL1 = encode(0b10, 0b000, 0b0000, 0b0110, 0b010), // RW
|
1487
|
+
kOSLAR_EL1 = encode(0b10, 0b000, 0b0001, 0b0000, 0b100), // WO
|
1488
|
+
kOSLSR_EL1 = encode(0b10, 0b000, 0b0001, 0b0001, 0b100), // RO
|
1489
|
+
kPAN = encode(0b11, 0b000, 0b0100, 0b0010, 0b011), // RW
|
1490
|
+
kPAR_EL1 = encode(0b11, 0b000, 0b0111, 0b0100, 0b000), // RW
|
1491
|
+
kPMBIDR_EL1 = encode(0b11, 0b000, 0b1001, 0b1010, 0b111), // RO
|
1492
|
+
kPMBLIMITR_EL1 = encode(0b11, 0b000, 0b1001, 0b1010, 0b000), // RW
|
1493
|
+
kPMBPTR_EL1 = encode(0b11, 0b000, 0b1001, 0b1010, 0b001), // RW
|
1494
|
+
kPMBSR_EL1 = encode(0b11, 0b000, 0b1001, 0b1010, 0b011), // RW
|
1495
|
+
kPMCCFILTR_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b111), // RW
|
1496
|
+
kPMCCNTR_EL0 = encode(0b11, 0b011, 0b1001, 0b1101, 0b000), // RW
|
1497
|
+
kPMCEID0_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b110), // RO
|
1498
|
+
kPMCEID1_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b111), // RO
|
1499
|
+
kPMCNTENCLR_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b010), // RW
|
1500
|
+
kPMCNTENSET_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b001), // RW
|
1501
|
+
kPMCR_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b000), // RW
|
1502
|
+
kPMEVCNTR0_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b000), // RW
|
1503
|
+
kPMEVCNTR10_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b010), // RW
|
1504
|
+
kPMEVCNTR11_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b011), // RW
|
1505
|
+
kPMEVCNTR12_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b100), // RW
|
1506
|
+
kPMEVCNTR13_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b101), // RW
|
1507
|
+
kPMEVCNTR14_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b110), // RW
|
1508
|
+
kPMEVCNTR15_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b111), // RW
|
1509
|
+
kPMEVCNTR16_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b000), // RW
|
1510
|
+
kPMEVCNTR17_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b001), // RW
|
1511
|
+
kPMEVCNTR18_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b010), // RW
|
1512
|
+
kPMEVCNTR19_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b011), // RW
|
1513
|
+
kPMEVCNTR1_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b001), // RW
|
1514
|
+
kPMEVCNTR20_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b100), // RW
|
1515
|
+
kPMEVCNTR21_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b101), // RW
|
1516
|
+
kPMEVCNTR22_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b110), // RW
|
1517
|
+
kPMEVCNTR23_EL0 = encode(0b11, 0b011, 0b1110, 0b1010, 0b111), // RW
|
1518
|
+
kPMEVCNTR24_EL0 = encode(0b11, 0b011, 0b1110, 0b1011, 0b000), // RW
|
1519
|
+
kPMEVCNTR25_EL0 = encode(0b11, 0b011, 0b1110, 0b1011, 0b001), // RW
|
1520
|
+
kPMEVCNTR26_EL0 = encode(0b11, 0b011, 0b1110, 0b1011, 0b010), // RW
|
1521
|
+
kPMEVCNTR27_EL0 = encode(0b11, 0b011, 0b1110, 0b1011, 0b011), // RW
|
1522
|
+
kPMEVCNTR28_EL0 = encode(0b11, 0b011, 0b1110, 0b1011, 0b100), // RW
|
1523
|
+
kPMEVCNTR29_EL0 = encode(0b11, 0b011, 0b1110, 0b1011, 0b101), // RW
|
1524
|
+
kPMEVCNTR2_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b010), // RW
|
1525
|
+
kPMEVCNTR30_EL0 = encode(0b11, 0b011, 0b1110, 0b1011, 0b110), // RW
|
1526
|
+
kPMEVCNTR3_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b011), // RW
|
1527
|
+
kPMEVCNTR4_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b100), // RW
|
1528
|
+
kPMEVCNTR5_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b101), // RW
|
1529
|
+
kPMEVCNTR6_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b110), // RW
|
1530
|
+
kPMEVCNTR7_EL0 = encode(0b11, 0b011, 0b1110, 0b1000, 0b111), // RW
|
1531
|
+
kPMEVCNTR8_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b000), // RW
|
1532
|
+
kPMEVCNTR9_EL0 = encode(0b11, 0b011, 0b1110, 0b1001, 0b001), // RW
|
1533
|
+
kPMEVTYPER0_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b000), // RW
|
1534
|
+
kPMEVTYPER10_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b010), // RW
|
1535
|
+
kPMEVTYPER11_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b011), // RW
|
1536
|
+
kPMEVTYPER12_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b100), // RW
|
1537
|
+
kPMEVTYPER13_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b101), // RW
|
1538
|
+
kPMEVTYPER14_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b110), // RW
|
1539
|
+
kPMEVTYPER15_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b111), // RW
|
1540
|
+
kPMEVTYPER16_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b000), // RW
|
1541
|
+
kPMEVTYPER17_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b001), // RW
|
1542
|
+
kPMEVTYPER18_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b010), // RW
|
1543
|
+
kPMEVTYPER19_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b011), // RW
|
1544
|
+
kPMEVTYPER1_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b001), // RW
|
1545
|
+
kPMEVTYPER20_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b100), // RW
|
1546
|
+
kPMEVTYPER21_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b101), // RW
|
1547
|
+
kPMEVTYPER22_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b110), // RW
|
1548
|
+
kPMEVTYPER23_EL0 = encode(0b11, 0b011, 0b1110, 0b1110, 0b111), // RW
|
1549
|
+
kPMEVTYPER24_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b000), // RW
|
1550
|
+
kPMEVTYPER25_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b001), // RW
|
1551
|
+
kPMEVTYPER26_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b010), // RW
|
1552
|
+
kPMEVTYPER27_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b011), // RW
|
1553
|
+
kPMEVTYPER28_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b100), // RW
|
1554
|
+
kPMEVTYPER29_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b101), // RW
|
1555
|
+
kPMEVTYPER2_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b010), // RW
|
1556
|
+
kPMEVTYPER30_EL0 = encode(0b11, 0b011, 0b1110, 0b1111, 0b110), // RW
|
1557
|
+
kPMEVTYPER3_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b011), // RW
|
1558
|
+
kPMEVTYPER4_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b100), // RW
|
1559
|
+
kPMEVTYPER5_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b101), // RW
|
1560
|
+
kPMEVTYPER6_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b110), // RW
|
1561
|
+
kPMEVTYPER7_EL0 = encode(0b11, 0b011, 0b1110, 0b1100, 0b111), // RW
|
1562
|
+
kPMEVTYPER8_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b000), // RW
|
1563
|
+
kPMEVTYPER9_EL0 = encode(0b11, 0b011, 0b1110, 0b1101, 0b001), // RW
|
1564
|
+
kPMINTENCLR_EL1 = encode(0b11, 0b000, 0b1001, 0b1110, 0b010), // RW
|
1565
|
+
kPMINTENSET_EL1 = encode(0b11, 0b000, 0b1001, 0b1110, 0b001), // RW
|
1566
|
+
kPMMIR_EL1 = encode(0b11, 0b000, 0b1001, 0b1110, 0b110), // RW
|
1567
|
+
kPMOVSCLR_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b011), // RW
|
1568
|
+
kPMOVSSET_EL0 = encode(0b11, 0b011, 0b1001, 0b1110, 0b011), // RW
|
1569
|
+
kPMSCR_EL1 = encode(0b11, 0b000, 0b1001, 0b1001, 0b000), // RW
|
1570
|
+
kPMSCR_EL12 = encode(0b11, 0b101, 0b1001, 0b1001, 0b000), // RW
|
1571
|
+
kPMSCR_EL2 = encode(0b11, 0b100, 0b1001, 0b1001, 0b000), // RW
|
1572
|
+
kPMSELR_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b101), // RW
|
1573
|
+
kPMSEVFR_EL1 = encode(0b11, 0b000, 0b1001, 0b1001, 0b101), // RW
|
1574
|
+
kPMSFCR_EL1 = encode(0b11, 0b000, 0b1001, 0b1001, 0b100), // RW
|
1575
|
+
kPMSICR_EL1 = encode(0b11, 0b000, 0b1001, 0b1001, 0b010), // RW
|
1576
|
+
kPMSIDR_EL1 = encode(0b11, 0b000, 0b1001, 0b1001, 0b111), // RO
|
1577
|
+
kPMSIRR_EL1 = encode(0b11, 0b000, 0b1001, 0b1001, 0b011), // RW
|
1578
|
+
kPMSLATFR_EL1 = encode(0b11, 0b000, 0b1001, 0b1001, 0b110), // RW
|
1579
|
+
kPMSWINC_EL0 = encode(0b11, 0b011, 0b1001, 0b1100, 0b100), // WO
|
1580
|
+
kPMUSERENR_EL0 = encode(0b11, 0b011, 0b1001, 0b1110, 0b000), // RW
|
1581
|
+
kPMXEVCNTR_EL0 = encode(0b11, 0b011, 0b1001, 0b1101, 0b010), // RW
|
1582
|
+
kPMXEVTYPER_EL0 = encode(0b11, 0b011, 0b1001, 0b1101, 0b001), // RW
|
1583
|
+
kREVIDR_EL1 = encode(0b11, 0b000, 0b0000, 0b0000, 0b110), // RO
|
1584
|
+
kRGSR_EL1 = encode(0b11, 0b000, 0b0001, 0b0000, 0b101), // RW
|
1585
|
+
kRMR_EL1 = encode(0b11, 0b000, 0b1100, 0b0000, 0b010), // RW
|
1586
|
+
kRMR_EL2 = encode(0b11, 0b100, 0b1100, 0b0000, 0b010), // RW
|
1587
|
+
kRMR_EL3 = encode(0b11, 0b110, 0b1100, 0b0000, 0b010), // RW
|
1588
|
+
kRNDR = encode(0b11, 0b011, 0b0010, 0b0100, 0b000), // RO
|
1589
|
+
kRNDRRS = encode(0b11, 0b011, 0b0010, 0b0100, 0b001), // RO
|
1590
|
+
kRVBAR_EL1 = encode(0b11, 0b000, 0b1100, 0b0000, 0b001), // RO
|
1591
|
+
kRVBAR_EL2 = encode(0b11, 0b100, 0b1100, 0b0000, 0b001), // RO
|
1592
|
+
kRVBAR_EL3 = encode(0b11, 0b110, 0b1100, 0b0000, 0b001), // RO
|
1593
|
+
kSCR_EL3 = encode(0b11, 0b110, 0b0001, 0b0001, 0b000), // RW
|
1594
|
+
kSCTLR_EL1 = encode(0b11, 0b000, 0b0001, 0b0000, 0b000), // RW
|
1595
|
+
kSCTLR_EL12 = encode(0b11, 0b101, 0b0001, 0b0000, 0b000), // RW
|
1596
|
+
kSCTLR_EL2 = encode(0b11, 0b100, 0b0001, 0b0000, 0b000), // RW
|
1597
|
+
kSCTLR_EL3 = encode(0b11, 0b110, 0b0001, 0b0000, 0b000), // RW
|
1598
|
+
kSCXTNUM_EL0 = encode(0b11, 0b011, 0b1101, 0b0000, 0b111), // RW
|
1599
|
+
kSCXTNUM_EL1 = encode(0b11, 0b000, 0b1101, 0b0000, 0b111), // RW
|
1600
|
+
kSCXTNUM_EL12 = encode(0b11, 0b101, 0b1101, 0b0000, 0b111), // RW
|
1601
|
+
kSCXTNUM_EL2 = encode(0b11, 0b100, 0b1101, 0b0000, 0b111), // RW
|
1602
|
+
kSCXTNUM_EL3 = encode(0b11, 0b110, 0b1101, 0b0000, 0b111), // RW
|
1603
|
+
kSDER32_EL2 = encode(0b11, 0b100, 0b0001, 0b0011, 0b001), // RW
|
1604
|
+
kSDER32_EL3 = encode(0b11, 0b110, 0b0001, 0b0001, 0b001), // RW
|
1605
|
+
kSPSR_EL1 = encode(0b11, 0b000, 0b0100, 0b0000, 0b000), // RW
|
1606
|
+
kSPSR_EL12 = encode(0b11, 0b101, 0b0100, 0b0000, 0b000), // RW
|
1607
|
+
kSPSR_EL2 = encode(0b11, 0b100, 0b0100, 0b0000, 0b000), // RW
|
1608
|
+
kSPSR_EL3 = encode(0b11, 0b110, 0b0100, 0b0000, 0b000), // RW
|
1609
|
+
kSPSR_abt = encode(0b11, 0b100, 0b0100, 0b0011, 0b001), // RW
|
1610
|
+
kSPSR_fiq = encode(0b11, 0b100, 0b0100, 0b0011, 0b011), // RW
|
1611
|
+
kSPSR_irq = encode(0b11, 0b100, 0b0100, 0b0011, 0b000), // RW
|
1612
|
+
kSPSR_und = encode(0b11, 0b100, 0b0100, 0b0011, 0b010), // RW
|
1613
|
+
kSPSel = encode(0b11, 0b000, 0b0100, 0b0010, 0b000), // RW
|
1614
|
+
kSP_EL0 = encode(0b11, 0b000, 0b0100, 0b0001, 0b000), // RW
|
1615
|
+
kSP_EL1 = encode(0b11, 0b100, 0b0100, 0b0001, 0b000), // RW
|
1616
|
+
kSP_EL2 = encode(0b11, 0b110, 0b0100, 0b0001, 0b000), // RW
|
1617
|
+
kSSBS = encode(0b11, 0b011, 0b0100, 0b0010, 0b110), // RW
|
1618
|
+
kTCO = encode(0b11, 0b011, 0b0100, 0b0010, 0b111), // RW
|
1619
|
+
kTCR_EL1 = encode(0b11, 0b000, 0b0010, 0b0000, 0b010), // RW
|
1620
|
+
kTCR_EL12 = encode(0b11, 0b101, 0b0010, 0b0000, 0b010), // RW
|
1621
|
+
kTCR_EL2 = encode(0b11, 0b100, 0b0010, 0b0000, 0b010), // RW
|
1622
|
+
kTCR_EL3 = encode(0b11, 0b110, 0b0010, 0b0000, 0b010), // RW
|
1623
|
+
kTEECR32_EL1 = encode(0b10, 0b010, 0b0000, 0b0000, 0b000), // RW
|
1624
|
+
kTEEHBR32_EL1 = encode(0b10, 0b010, 0b0001, 0b0000, 0b000), // RW
|
1625
|
+
kTFSRE0_EL1 = encode(0b11, 0b000, 0b0101, 0b0110, 0b001), // RW
|
1626
|
+
kTFSR_EL1 = encode(0b11, 0b000, 0b0101, 0b0110, 0b000), // RW
|
1627
|
+
kTFSR_EL12 = encode(0b11, 0b101, 0b0101, 0b0110, 0b000), // RW
|
1628
|
+
kTFSR_EL2 = encode(0b11, 0b100, 0b0101, 0b0110, 0b000), // RW
|
1629
|
+
kTFSR_EL3 = encode(0b11, 0b110, 0b0101, 0b0110, 0b000), // RW
|
1630
|
+
kTPIDRRO_EL0 = encode(0b11, 0b011, 0b1101, 0b0000, 0b011), // RW
|
1631
|
+
kTPIDR_EL0 = encode(0b11, 0b011, 0b1101, 0b0000, 0b010), // RW
|
1632
|
+
kTPIDR_EL1 = encode(0b11, 0b000, 0b1101, 0b0000, 0b100), // RW
|
1633
|
+
kTPIDR_EL2 = encode(0b11, 0b100, 0b1101, 0b0000, 0b010), // RW
|
1634
|
+
kTPIDR_EL3 = encode(0b11, 0b110, 0b1101, 0b0000, 0b010), // RW
|
1635
|
+
kTRBBASER_EL1 = encode(0b11, 0b000, 0b1001, 0b1011, 0b010), // RW
|
1636
|
+
kTRBIDR_EL1 = encode(0b11, 0b000, 0b1001, 0b1011, 0b111), // RO
|
1637
|
+
kTRBLIMITR_EL1 = encode(0b11, 0b000, 0b1001, 0b1011, 0b000), // RW
|
1638
|
+
kTRBMAR_EL1 = encode(0b11, 0b000, 0b1001, 0b1011, 0b100), // RW
|
1639
|
+
kTRBPTR_EL1 = encode(0b11, 0b000, 0b1001, 0b1011, 0b001), // RW
|
1640
|
+
kTRBSR_EL1 = encode(0b11, 0b000, 0b1001, 0b1011, 0b011), // RW
|
1641
|
+
kTRBTRG_EL1 = encode(0b11, 0b000, 0b1001, 0b1011, 0b110), // RW
|
1642
|
+
kTRCACATR0 = encode(0b10, 0b001, 0b0010, 0b0000, 0b010), // RW
|
1643
|
+
kTRCACATR1 = encode(0b10, 0b001, 0b0010, 0b0010, 0b010), // RW
|
1644
|
+
kTRCACATR10 = encode(0b10, 0b001, 0b0010, 0b0100, 0b011), // RW
|
1645
|
+
kTRCACATR11 = encode(0b10, 0b001, 0b0010, 0b0110, 0b011), // RW
|
1646
|
+
kTRCACATR12 = encode(0b10, 0b001, 0b0010, 0b1000, 0b011), // RW
|
1647
|
+
kTRCACATR13 = encode(0b10, 0b001, 0b0010, 0b1010, 0b011), // RW
|
1648
|
+
kTRCACATR14 = encode(0b10, 0b001, 0b0010, 0b1100, 0b011), // RW
|
1649
|
+
kTRCACATR15 = encode(0b10, 0b001, 0b0010, 0b1110, 0b011), // RW
|
1650
|
+
kTRCACATR2 = encode(0b10, 0b001, 0b0010, 0b0100, 0b010), // RW
|
1651
|
+
kTRCACATR3 = encode(0b10, 0b001, 0b0010, 0b0110, 0b010), // RW
|
1652
|
+
kTRCACATR4 = encode(0b10, 0b001, 0b0010, 0b1000, 0b010), // RW
|
1653
|
+
kTRCACATR5 = encode(0b10, 0b001, 0b0010, 0b1010, 0b010), // RW
|
1654
|
+
kTRCACATR6 = encode(0b10, 0b001, 0b0010, 0b1100, 0b010), // RW
|
1655
|
+
kTRCACATR7 = encode(0b10, 0b001, 0b0010, 0b1110, 0b010), // RW
|
1656
|
+
kTRCACATR8 = encode(0b10, 0b001, 0b0010, 0b0000, 0b011), // RW
|
1657
|
+
kTRCACATR9 = encode(0b10, 0b001, 0b0010, 0b0010, 0b011), // RW
|
1658
|
+
kTRCACVR0 = encode(0b10, 0b001, 0b0010, 0b0000, 0b000), // RW
|
1659
|
+
kTRCACVR1 = encode(0b10, 0b001, 0b0010, 0b0010, 0b000), // RW
|
1660
|
+
kTRCACVR10 = encode(0b10, 0b001, 0b0010, 0b0100, 0b001), // RW
|
1661
|
+
kTRCACVR11 = encode(0b10, 0b001, 0b0010, 0b0110, 0b001), // RW
|
1662
|
+
kTRCACVR12 = encode(0b10, 0b001, 0b0010, 0b1000, 0b001), // RW
|
1663
|
+
kTRCACVR13 = encode(0b10, 0b001, 0b0010, 0b1010, 0b001), // RW
|
1664
|
+
kTRCACVR14 = encode(0b10, 0b001, 0b0010, 0b1100, 0b001), // RW
|
1665
|
+
kTRCACVR15 = encode(0b10, 0b001, 0b0010, 0b1110, 0b001), // RW
|
1666
|
+
kTRCACVR2 = encode(0b10, 0b001, 0b0010, 0b0100, 0b000), // RW
|
1667
|
+
kTRCACVR3 = encode(0b10, 0b001, 0b0010, 0b0110, 0b000), // RW
|
1668
|
+
kTRCACVR4 = encode(0b10, 0b001, 0b0010, 0b1000, 0b000), // RW
|
1669
|
+
kTRCACVR5 = encode(0b10, 0b001, 0b0010, 0b1010, 0b000), // RW
|
1670
|
+
kTRCACVR6 = encode(0b10, 0b001, 0b0010, 0b1100, 0b000), // RW
|
1671
|
+
kTRCACVR7 = encode(0b10, 0b001, 0b0010, 0b1110, 0b000), // RW
|
1672
|
+
kTRCACVR8 = encode(0b10, 0b001, 0b0010, 0b0000, 0b001), // RW
|
1673
|
+
kTRCACVR9 = encode(0b10, 0b001, 0b0010, 0b0010, 0b001), // RW
|
1674
|
+
kTRCAUTHSTATUS = encode(0b10, 0b001, 0b0111, 0b1110, 0b110), // RO
|
1675
|
+
kTRCAUXCTLR = encode(0b10, 0b001, 0b0000, 0b0110, 0b000), // RW
|
1676
|
+
kTRCBBCTLR = encode(0b10, 0b001, 0b0000, 0b1111, 0b000), // RW
|
1677
|
+
kTRCCCCTLR = encode(0b10, 0b001, 0b0000, 0b1110, 0b000), // RW
|
1678
|
+
kTRCCIDCCTLR0 = encode(0b10, 0b001, 0b0011, 0b0000, 0b010), // RW
|
1679
|
+
kTRCCIDCCTLR1 = encode(0b10, 0b001, 0b0011, 0b0001, 0b010), // RW
|
1680
|
+
kTRCCIDCVR0 = encode(0b10, 0b001, 0b0011, 0b0000, 0b000), // RW
|
1681
|
+
kTRCCIDCVR1 = encode(0b10, 0b001, 0b0011, 0b0010, 0b000), // RW
|
1682
|
+
kTRCCIDCVR2 = encode(0b10, 0b001, 0b0011, 0b0100, 0b000), // RW
|
1683
|
+
kTRCCIDCVR3 = encode(0b10, 0b001, 0b0011, 0b0110, 0b000), // RW
|
1684
|
+
kTRCCIDCVR4 = encode(0b10, 0b001, 0b0011, 0b1000, 0b000), // RW
|
1685
|
+
kTRCCIDCVR5 = encode(0b10, 0b001, 0b0011, 0b1010, 0b000), // RW
|
1686
|
+
kTRCCIDCVR6 = encode(0b10, 0b001, 0b0011, 0b1100, 0b000), // RW
|
1687
|
+
kTRCCIDCVR7 = encode(0b10, 0b001, 0b0011, 0b1110, 0b000), // RW
|
1688
|
+
kTRCCIDR0 = encode(0b10, 0b001, 0b0111, 0b1100, 0b111), // RO
|
1689
|
+
kTRCCIDR1 = encode(0b10, 0b001, 0b0111, 0b1101, 0b111), // RO
|
1690
|
+
kTRCCIDR2 = encode(0b10, 0b001, 0b0111, 0b1110, 0b111), // RO
|
1691
|
+
kTRCCIDR3 = encode(0b10, 0b001, 0b0111, 0b1111, 0b111), // RO
|
1692
|
+
kTRCCLAIMCLR = encode(0b10, 0b001, 0b0111, 0b1001, 0b110), // RW
|
1693
|
+
kTRCCLAIMSET = encode(0b10, 0b001, 0b0111, 0b1000, 0b110), // RW
|
1694
|
+
kTRCCNTCTLR0 = encode(0b10, 0b001, 0b0000, 0b0100, 0b101), // RW
|
1695
|
+
kTRCCNTCTLR1 = encode(0b10, 0b001, 0b0000, 0b0101, 0b101), // RW
|
1696
|
+
kTRCCNTCTLR2 = encode(0b10, 0b001, 0b0000, 0b0110, 0b101), // RW
|
1697
|
+
kTRCCNTCTLR3 = encode(0b10, 0b001, 0b0000, 0b0111, 0b101), // RW
|
1698
|
+
kTRCCNTRLDVR0 = encode(0b10, 0b001, 0b0000, 0b0000, 0b101), // RW
|
1699
|
+
kTRCCNTRLDVR1 = encode(0b10, 0b001, 0b0000, 0b0001, 0b101), // RW
|
1700
|
+
kTRCCNTRLDVR2 = encode(0b10, 0b001, 0b0000, 0b0010, 0b101), // RW
|
1701
|
+
kTRCCNTRLDVR3 = encode(0b10, 0b001, 0b0000, 0b0011, 0b101), // RW
|
1702
|
+
kTRCCNTVR0 = encode(0b10, 0b001, 0b0000, 0b1000, 0b101), // RW
|
1703
|
+
kTRCCNTVR1 = encode(0b10, 0b001, 0b0000, 0b1001, 0b101), // RW
|
1704
|
+
kTRCCNTVR2 = encode(0b10, 0b001, 0b0000, 0b1010, 0b101), // RW
|
1705
|
+
kTRCCNTVR3 = encode(0b10, 0b001, 0b0000, 0b1011, 0b101), // RW
|
1706
|
+
kTRCCONFIGR = encode(0b10, 0b001, 0b0000, 0b0100, 0b000), // RW
|
1707
|
+
kTRCDEVAFF0 = encode(0b10, 0b001, 0b0111, 0b1010, 0b110), // RO
|
1708
|
+
kTRCDEVAFF1 = encode(0b10, 0b001, 0b0111, 0b1011, 0b110), // RO
|
1709
|
+
kTRCDEVARCH = encode(0b10, 0b001, 0b0111, 0b1111, 0b110), // RO
|
1710
|
+
kTRCDEVID = encode(0b10, 0b001, 0b0111, 0b0010, 0b111), // RO
|
1711
|
+
kTRCDEVTYPE = encode(0b10, 0b001, 0b0111, 0b0011, 0b111), // RO
|
1712
|
+
kTRCDVCMR0 = encode(0b10, 0b001, 0b0010, 0b0000, 0b110), // RW
|
1713
|
+
kTRCDVCMR1 = encode(0b10, 0b001, 0b0010, 0b0100, 0b110), // RW
|
1714
|
+
kTRCDVCMR2 = encode(0b10, 0b001, 0b0010, 0b1000, 0b110), // RW
|
1715
|
+
kTRCDVCMR3 = encode(0b10, 0b001, 0b0010, 0b1100, 0b110), // RW
|
1716
|
+
kTRCDVCMR4 = encode(0b10, 0b001, 0b0010, 0b0000, 0b111), // RW
|
1717
|
+
kTRCDVCMR5 = encode(0b10, 0b001, 0b0010, 0b0100, 0b111), // RW
|
1718
|
+
kTRCDVCMR6 = encode(0b10, 0b001, 0b0010, 0b1000, 0b111), // RW
|
1719
|
+
kTRCDVCMR7 = encode(0b10, 0b001, 0b0010, 0b1100, 0b111), // RW
|
1720
|
+
kTRCDVCVR0 = encode(0b10, 0b001, 0b0010, 0b0000, 0b100), // RW
|
1721
|
+
kTRCDVCVR1 = encode(0b10, 0b001, 0b0010, 0b0100, 0b100), // RW
|
1722
|
+
kTRCDVCVR2 = encode(0b10, 0b001, 0b0010, 0b1000, 0b100), // RW
|
1723
|
+
kTRCDVCVR3 = encode(0b10, 0b001, 0b0010, 0b1100, 0b100), // RW
|
1724
|
+
kTRCDVCVR4 = encode(0b10, 0b001, 0b0010, 0b0000, 0b101), // RW
|
1725
|
+
kTRCDVCVR5 = encode(0b10, 0b001, 0b0010, 0b0100, 0b101), // RW
|
1726
|
+
kTRCDVCVR6 = encode(0b10, 0b001, 0b0010, 0b1000, 0b101), // RW
|
1727
|
+
kTRCDVCVR7 = encode(0b10, 0b001, 0b0010, 0b1100, 0b101), // RW
|
1728
|
+
kTRCEVENTCTL0R = encode(0b10, 0b001, 0b0000, 0b1000, 0b000), // RW
|
1729
|
+
kTRCEVENTCTL1R = encode(0b10, 0b001, 0b0000, 0b1001, 0b000), // RW
|
1730
|
+
kTRCEXTINSELR = encode(0b10, 0b001, 0b0000, 0b1000, 0b100), // RW
|
1731
|
+
kTRCEXTINSELR0 = encode(0b10, 0b001, 0b0000, 0b1000, 0b100), // RW
|
1732
|
+
kTRCEXTINSELR1 = encode(0b10, 0b001, 0b0000, 0b1001, 0b100), // RW
|
1733
|
+
kTRCEXTINSELR2 = encode(0b10, 0b001, 0b0000, 0b1010, 0b100), // RW
|
1734
|
+
kTRCEXTINSELR3 = encode(0b10, 0b001, 0b0000, 0b1011, 0b100), // RW
|
1735
|
+
kTRCIDR0 = encode(0b10, 0b001, 0b0000, 0b1000, 0b111), // RO
|
1736
|
+
kTRCIDR1 = encode(0b10, 0b001, 0b0000, 0b1001, 0b111), // RO
|
1737
|
+
kTRCIDR10 = encode(0b10, 0b001, 0b0000, 0b0010, 0b110), // RO
|
1738
|
+
kTRCIDR11 = encode(0b10, 0b001, 0b0000, 0b0011, 0b110), // RO
|
1739
|
+
kTRCIDR12 = encode(0b10, 0b001, 0b0000, 0b0100, 0b110), // RO
|
1740
|
+
kTRCIDR13 = encode(0b10, 0b001, 0b0000, 0b0101, 0b110), // RO
|
1741
|
+
kTRCIDR2 = encode(0b10, 0b001, 0b0000, 0b1010, 0b111), // RO
|
1742
|
+
kTRCIDR3 = encode(0b10, 0b001, 0b0000, 0b1011, 0b111), // RO
|
1743
|
+
kTRCIDR4 = encode(0b10, 0b001, 0b0000, 0b1100, 0b111), // RO
|
1744
|
+
kTRCIDR5 = encode(0b10, 0b001, 0b0000, 0b1101, 0b111), // RO
|
1745
|
+
kTRCIDR6 = encode(0b10, 0b001, 0b0000, 0b1110, 0b111), // RO
|
1746
|
+
kTRCIDR7 = encode(0b10, 0b001, 0b0000, 0b1111, 0b111), // RO
|
1747
|
+
kTRCIDR8 = encode(0b10, 0b001, 0b0000, 0b0000, 0b110), // RO
|
1748
|
+
kTRCIDR9 = encode(0b10, 0b001, 0b0000, 0b0001, 0b110), // RO
|
1749
|
+
kTRCIMSPEC0 = encode(0b10, 0b001, 0b0000, 0b0000, 0b111), // RW
|
1750
|
+
kTRCIMSPEC1 = encode(0b10, 0b001, 0b0000, 0b0001, 0b111), // RW
|
1751
|
+
kTRCIMSPEC2 = encode(0b10, 0b001, 0b0000, 0b0010, 0b111), // RW
|
1752
|
+
kTRCIMSPEC3 = encode(0b10, 0b001, 0b0000, 0b0011, 0b111), // RW
|
1753
|
+
kTRCIMSPEC4 = encode(0b10, 0b001, 0b0000, 0b0100, 0b111), // RW
|
1754
|
+
kTRCIMSPEC5 = encode(0b10, 0b001, 0b0000, 0b0101, 0b111), // RW
|
1755
|
+
kTRCIMSPEC6 = encode(0b10, 0b001, 0b0000, 0b0110, 0b111), // RW
|
1756
|
+
kTRCIMSPEC7 = encode(0b10, 0b001, 0b0000, 0b0111, 0b111), // RW
|
1757
|
+
kTRCITCTRL = encode(0b10, 0b001, 0b0111, 0b0000, 0b100), // RW
|
1758
|
+
kTRCLAR = encode(0b10, 0b001, 0b0111, 0b1100, 0b110), // WO
|
1759
|
+
kTRCLSR = encode(0b10, 0b001, 0b0111, 0b1101, 0b110), // RO
|
1760
|
+
kTRCOSLAR = encode(0b10, 0b001, 0b0001, 0b0000, 0b100), // WO
|
1761
|
+
kTRCOSLSR = encode(0b10, 0b001, 0b0001, 0b0001, 0b100), // RO
|
1762
|
+
kTRCPDCR = encode(0b10, 0b001, 0b0001, 0b0100, 0b100), // RW
|
1763
|
+
kTRCPDSR = encode(0b10, 0b001, 0b0001, 0b0101, 0b100), // RO
|
1764
|
+
kTRCPIDR0 = encode(0b10, 0b001, 0b0111, 0b1000, 0b111), // RO
|
1765
|
+
kTRCPIDR1 = encode(0b10, 0b001, 0b0111, 0b1001, 0b111), // RO
|
1766
|
+
kTRCPIDR2 = encode(0b10, 0b001, 0b0111, 0b1010, 0b111), // RO
|
1767
|
+
kTRCPIDR3 = encode(0b10, 0b001, 0b0111, 0b1011, 0b111), // RO
|
1768
|
+
kTRCPIDR4 = encode(0b10, 0b001, 0b0111, 0b0100, 0b111), // RO
|
1769
|
+
kTRCPIDR5 = encode(0b10, 0b001, 0b0111, 0b0101, 0b111), // RO
|
1770
|
+
kTRCPIDR6 = encode(0b10, 0b001, 0b0111, 0b0110, 0b111), // RO
|
1771
|
+
kTRCPIDR7 = encode(0b10, 0b001, 0b0111, 0b0111, 0b111), // RO
|
1772
|
+
kTRCPRGCTLR = encode(0b10, 0b001, 0b0000, 0b0001, 0b000), // RW
|
1773
|
+
kTRCPROCSELR = encode(0b10, 0b001, 0b0000, 0b0010, 0b000), // RW
|
1774
|
+
kTRCQCTLR = encode(0b10, 0b001, 0b0000, 0b0001, 0b001), // RW
|
1775
|
+
kTRCRSCTLR10 = encode(0b10, 0b001, 0b0001, 0b1010, 0b000), // RW
|
1776
|
+
kTRCRSCTLR11 = encode(0b10, 0b001, 0b0001, 0b1011, 0b000), // RW
|
1777
|
+
kTRCRSCTLR12 = encode(0b10, 0b001, 0b0001, 0b1100, 0b000), // RW
|
1778
|
+
kTRCRSCTLR13 = encode(0b10, 0b001, 0b0001, 0b1101, 0b000), // RW
|
1779
|
+
kTRCRSCTLR14 = encode(0b10, 0b001, 0b0001, 0b1110, 0b000), // RW
|
1780
|
+
kTRCRSCTLR15 = encode(0b10, 0b001, 0b0001, 0b1111, 0b000), // RW
|
1781
|
+
kTRCRSCTLR16 = encode(0b10, 0b001, 0b0001, 0b0000, 0b001), // RW
|
1782
|
+
kTRCRSCTLR17 = encode(0b10, 0b001, 0b0001, 0b0001, 0b001), // RW
|
1783
|
+
kTRCRSCTLR18 = encode(0b10, 0b001, 0b0001, 0b0010, 0b001), // RW
|
1784
|
+
kTRCRSCTLR19 = encode(0b10, 0b001, 0b0001, 0b0011, 0b001), // RW
|
1785
|
+
kTRCRSCTLR2 = encode(0b10, 0b001, 0b0001, 0b0010, 0b000), // RW
|
1786
|
+
kTRCRSCTLR20 = encode(0b10, 0b001, 0b0001, 0b0100, 0b001), // RW
|
1787
|
+
kTRCRSCTLR21 = encode(0b10, 0b001, 0b0001, 0b0101, 0b001), // RW
|
1788
|
+
kTRCRSCTLR22 = encode(0b10, 0b001, 0b0001, 0b0110, 0b001), // RW
|
1789
|
+
kTRCRSCTLR23 = encode(0b10, 0b001, 0b0001, 0b0111, 0b001), // RW
|
1790
|
+
kTRCRSCTLR24 = encode(0b10, 0b001, 0b0001, 0b1000, 0b001), // RW
|
1791
|
+
kTRCRSCTLR25 = encode(0b10, 0b001, 0b0001, 0b1001, 0b001), // RW
|
1792
|
+
kTRCRSCTLR26 = encode(0b10, 0b001, 0b0001, 0b1010, 0b001), // RW
|
1793
|
+
kTRCRSCTLR27 = encode(0b10, 0b001, 0b0001, 0b1011, 0b001), // RW
|
1794
|
+
kTRCRSCTLR28 = encode(0b10, 0b001, 0b0001, 0b1100, 0b001), // RW
|
1795
|
+
kTRCRSCTLR29 = encode(0b10, 0b001, 0b0001, 0b1101, 0b001), // RW
|
1796
|
+
kTRCRSCTLR3 = encode(0b10, 0b001, 0b0001, 0b0011, 0b000), // RW
|
1797
|
+
kTRCRSCTLR30 = encode(0b10, 0b001, 0b0001, 0b1110, 0b001), // RW
|
1798
|
+
kTRCRSCTLR31 = encode(0b10, 0b001, 0b0001, 0b1111, 0b001), // RW
|
1799
|
+
kTRCRSCTLR4 = encode(0b10, 0b001, 0b0001, 0b0100, 0b000), // RW
|
1800
|
+
kTRCRSCTLR5 = encode(0b10, 0b001, 0b0001, 0b0101, 0b000), // RW
|
1801
|
+
kTRCRSCTLR6 = encode(0b10, 0b001, 0b0001, 0b0110, 0b000), // RW
|
1802
|
+
kTRCRSCTLR7 = encode(0b10, 0b001, 0b0001, 0b0111, 0b000), // RW
|
1803
|
+
kTRCRSCTLR8 = encode(0b10, 0b001, 0b0001, 0b1000, 0b000), // RW
|
1804
|
+
kTRCRSCTLR9 = encode(0b10, 0b001, 0b0001, 0b1001, 0b000), // RW
|
1805
|
+
kTRCRSR = encode(0b10, 0b001, 0b0000, 0b1010, 0b000), // RW
|
1806
|
+
kTRCSEQEVR0 = encode(0b10, 0b001, 0b0000, 0b0000, 0b100), // RW
|
1807
|
+
kTRCSEQEVR1 = encode(0b10, 0b001, 0b0000, 0b0001, 0b100), // RW
|
1808
|
+
kTRCSEQEVR2 = encode(0b10, 0b001, 0b0000, 0b0010, 0b100), // RW
|
1809
|
+
kTRCSEQRSTEVR = encode(0b10, 0b001, 0b0000, 0b0110, 0b100), // RW
|
1810
|
+
kTRCSEQSTR = encode(0b10, 0b001, 0b0000, 0b0111, 0b100), // RW
|
1811
|
+
kTRCSSCCR0 = encode(0b10, 0b001, 0b0001, 0b0000, 0b010), // RW
|
1812
|
+
kTRCSSCCR1 = encode(0b10, 0b001, 0b0001, 0b0001, 0b010), // RW
|
1813
|
+
kTRCSSCCR2 = encode(0b10, 0b001, 0b0001, 0b0010, 0b010), // RW
|
1814
|
+
kTRCSSCCR3 = encode(0b10, 0b001, 0b0001, 0b0011, 0b010), // RW
|
1815
|
+
kTRCSSCCR4 = encode(0b10, 0b001, 0b0001, 0b0100, 0b010), // RW
|
1816
|
+
kTRCSSCCR5 = encode(0b10, 0b001, 0b0001, 0b0101, 0b010), // RW
|
1817
|
+
kTRCSSCCR6 = encode(0b10, 0b001, 0b0001, 0b0110, 0b010), // RW
|
1818
|
+
kTRCSSCCR7 = encode(0b10, 0b001, 0b0001, 0b0111, 0b010), // RW
|
1819
|
+
kTRCSSCSR0 = encode(0b10, 0b001, 0b0001, 0b1000, 0b010), // RW
|
1820
|
+
kTRCSSCSR1 = encode(0b10, 0b001, 0b0001, 0b1001, 0b010), // RW
|
1821
|
+
kTRCSSCSR2 = encode(0b10, 0b001, 0b0001, 0b1010, 0b010), // RW
|
1822
|
+
kTRCSSCSR3 = encode(0b10, 0b001, 0b0001, 0b1011, 0b010), // RW
|
1823
|
+
kTRCSSCSR4 = encode(0b10, 0b001, 0b0001, 0b1100, 0b010), // RW
|
1824
|
+
kTRCSSCSR5 = encode(0b10, 0b001, 0b0001, 0b1101, 0b010), // RW
|
1825
|
+
kTRCSSCSR6 = encode(0b10, 0b001, 0b0001, 0b1110, 0b010), // RW
|
1826
|
+
kTRCSSCSR7 = encode(0b10, 0b001, 0b0001, 0b1111, 0b010), // RW
|
1827
|
+
kTRCSSPCICR0 = encode(0b10, 0b001, 0b0001, 0b0000, 0b011), // RW
|
1828
|
+
kTRCSSPCICR1 = encode(0b10, 0b001, 0b0001, 0b0001, 0b011), // RW
|
1829
|
+
kTRCSSPCICR2 = encode(0b10, 0b001, 0b0001, 0b0010, 0b011), // RW
|
1830
|
+
kTRCSSPCICR3 = encode(0b10, 0b001, 0b0001, 0b0011, 0b011), // RW
|
1831
|
+
kTRCSSPCICR4 = encode(0b10, 0b001, 0b0001, 0b0100, 0b011), // RW
|
1832
|
+
kTRCSSPCICR5 = encode(0b10, 0b001, 0b0001, 0b0101, 0b011), // RW
|
1833
|
+
kTRCSSPCICR6 = encode(0b10, 0b001, 0b0001, 0b0110, 0b011), // RW
|
1834
|
+
kTRCSSPCICR7 = encode(0b10, 0b001, 0b0001, 0b0111, 0b011), // RW
|
1835
|
+
kTRCSTALLCTLR = encode(0b10, 0b001, 0b0000, 0b1011, 0b000), // RW
|
1836
|
+
kTRCSTATR = encode(0b10, 0b001, 0b0000, 0b0011, 0b000), // RO
|
1837
|
+
kTRCSYNCPR = encode(0b10, 0b001, 0b0000, 0b1101, 0b000), // RW
|
1838
|
+
kTRCTRACEIDR = encode(0b10, 0b001, 0b0000, 0b0000, 0b001), // RW
|
1839
|
+
kTRCTSCTLR = encode(0b10, 0b001, 0b0000, 0b1100, 0b000), // RW
|
1840
|
+
kTRCVDARCCTLR = encode(0b10, 0b001, 0b0000, 0b1010, 0b010), // RW
|
1841
|
+
kTRCVDCTLR = encode(0b10, 0b001, 0b0000, 0b1000, 0b010), // RW
|
1842
|
+
kTRCVDSACCTLR = encode(0b10, 0b001, 0b0000, 0b1001, 0b010), // RW
|
1843
|
+
kTRCVICTLR = encode(0b10, 0b001, 0b0000, 0b0000, 0b010), // RW
|
1844
|
+
kTRCVIIECTLR = encode(0b10, 0b001, 0b0000, 0b0001, 0b010), // RW
|
1845
|
+
kTRCVIPCSSCTLR = encode(0b10, 0b001, 0b0000, 0b0011, 0b010), // RW
|
1846
|
+
kTRCVISSCTLR = encode(0b10, 0b001, 0b0000, 0b0010, 0b010), // RW
|
1847
|
+
kTRCVMIDCCTLR0 = encode(0b10, 0b001, 0b0011, 0b0010, 0b010), // RW
|
1848
|
+
kTRCVMIDCCTLR1 = encode(0b10, 0b001, 0b0011, 0b0011, 0b010), // RW
|
1849
|
+
kTRCVMIDCVR0 = encode(0b10, 0b001, 0b0011, 0b0000, 0b001), // RW
|
1850
|
+
kTRCVMIDCVR1 = encode(0b10, 0b001, 0b0011, 0b0010, 0b001), // RW
|
1851
|
+
kTRCVMIDCVR2 = encode(0b10, 0b001, 0b0011, 0b0100, 0b001), // RW
|
1852
|
+
kTRCVMIDCVR3 = encode(0b10, 0b001, 0b0011, 0b0110, 0b001), // RW
|
1853
|
+
kTRCVMIDCVR4 = encode(0b10, 0b001, 0b0011, 0b1000, 0b001), // RW
|
1854
|
+
kTRCVMIDCVR5 = encode(0b10, 0b001, 0b0011, 0b1010, 0b001), // RW
|
1855
|
+
kTRCVMIDCVR6 = encode(0b10, 0b001, 0b0011, 0b1100, 0b001), // RW
|
1856
|
+
kTRCVMIDCVR7 = encode(0b10, 0b001, 0b0011, 0b1110, 0b001), // RW
|
1857
|
+
kTRFCR_EL1 = encode(0b11, 0b000, 0b0001, 0b0010, 0b001), // RW
|
1858
|
+
kTRFCR_EL12 = encode(0b11, 0b101, 0b0001, 0b0010, 0b001), // RW
|
1859
|
+
kTRFCR_EL2 = encode(0b11, 0b100, 0b0001, 0b0010, 0b001), // RW
|
1860
|
+
kTTBR0_EL1 = encode(0b11, 0b000, 0b0010, 0b0000, 0b000), // RW
|
1861
|
+
kTTBR0_EL12 = encode(0b11, 0b101, 0b0010, 0b0000, 0b000), // RW
|
1862
|
+
kTTBR0_EL2 = encode(0b11, 0b100, 0b0010, 0b0000, 0b000), // RW
|
1863
|
+
kTTBR0_EL3 = encode(0b11, 0b110, 0b0010, 0b0000, 0b000), // RW
|
1864
|
+
kTTBR1_EL1 = encode(0b11, 0b000, 0b0010, 0b0000, 0b001), // RW
|
1865
|
+
kTTBR1_EL12 = encode(0b11, 0b101, 0b0010, 0b0000, 0b001), // RW
|
1866
|
+
kTTBR1_EL2 = encode(0b11, 0b100, 0b0010, 0b0000, 0b001), // RW
|
1867
|
+
kUAO = encode(0b11, 0b000, 0b0100, 0b0010, 0b100), // RW
|
1868
|
+
kVBAR_EL1 = encode(0b11, 0b000, 0b1100, 0b0000, 0b000), // RW
|
1869
|
+
kVBAR_EL12 = encode(0b11, 0b101, 0b1100, 0b0000, 0b000), // RW
|
1870
|
+
kVBAR_EL2 = encode(0b11, 0b100, 0b1100, 0b0000, 0b000), // RW
|
1871
|
+
kVBAR_EL3 = encode(0b11, 0b110, 0b1100, 0b0000, 0b000), // RW
|
1872
|
+
kVDISR_EL2 = encode(0b11, 0b100, 0b1100, 0b0001, 0b001), // RW
|
1873
|
+
kVMPIDR_EL2 = encode(0b11, 0b100, 0b0000, 0b0000, 0b101), // RW
|
1874
|
+
kVNCR_EL2 = encode(0b11, 0b100, 0b0010, 0b0010, 0b000), // RW
|
1875
|
+
kVPIDR_EL2 = encode(0b11, 0b100, 0b0000, 0b0000, 0b000), // RW
|
1876
|
+
kVSESR_EL2 = encode(0b11, 0b100, 0b0101, 0b0010, 0b011), // RW
|
1877
|
+
kVSTCR_EL2 = encode(0b11, 0b100, 0b0010, 0b0110, 0b010), // RW
|
1878
|
+
kVSTTBR_EL2 = encode(0b11, 0b100, 0b0010, 0b0110, 0b000), // RW
|
1879
|
+
kVTCR_EL2 = encode(0b11, 0b100, 0b0010, 0b0001, 0b010), // RW
|
1880
|
+
kVTTBR_EL2 = encode(0b11, 0b100, 0b0010, 0b0001, 0b000), // RW
|
1881
|
+
kZCR_EL1 = encode(0b11, 0b000, 0b0001, 0b0010, 0b000), // RW
|
1882
|
+
kZCR_EL12 = encode(0b11, 0b101, 0b0001, 0b0010, 0b000), // RW
|
1883
|
+
kZCR_EL2 = encode(0b11, 0b100, 0b0001, 0b0010, 0b000), // RW
|
1884
|
+
kZCR_EL3 = encode(0b11, 0b110, 0b0001, 0b0010, 0b000) // RW
|
1885
|
+
};
|
1886
|
+
};
|
1887
|
+
|
1888
|
+
} // {Predicate}
|
1889
|
+
|
1890
|
+
//! \}
|
1891
|
+
|
1892
|
+
ASMJIT_END_SUB_NAMESPACE
|
1893
|
+
|
1894
|
+
#endif // ASMJIT_ARM_A64GLOBALS_H_INCLUDED
|