asmjit 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/asmjit.gemspec +1 -1
  4. data/ext/asmjit/asmjit/.editorconfig +10 -0
  5. data/ext/asmjit/asmjit/.github/FUNDING.yml +1 -0
  6. data/ext/asmjit/asmjit/.github/workflows/build-config.json +47 -0
  7. data/ext/asmjit/asmjit/.github/workflows/build.yml +156 -0
  8. data/ext/asmjit/asmjit/.gitignore +6 -0
  9. data/ext/asmjit/asmjit/CMakeLists.txt +611 -0
  10. data/ext/asmjit/asmjit/LICENSE.md +17 -0
  11. data/ext/asmjit/asmjit/README.md +69 -0
  12. data/ext/asmjit/asmjit/src/asmjit/a64.h +62 -0
  13. data/ext/asmjit/asmjit/src/asmjit/arm/a64archtraits_p.h +81 -0
  14. data/ext/asmjit/asmjit/src/asmjit/arm/a64assembler.cpp +5115 -0
  15. data/ext/asmjit/asmjit/src/asmjit/arm/a64assembler.h +72 -0
  16. data/ext/asmjit/asmjit/src/asmjit/arm/a64builder.cpp +51 -0
  17. data/ext/asmjit/asmjit/src/asmjit/arm/a64builder.h +57 -0
  18. data/ext/asmjit/asmjit/src/asmjit/arm/a64compiler.cpp +60 -0
  19. data/ext/asmjit/asmjit/src/asmjit/arm/a64compiler.h +247 -0
  20. data/ext/asmjit/asmjit/src/asmjit/arm/a64emithelper.cpp +464 -0
  21. data/ext/asmjit/asmjit/src/asmjit/arm/a64emithelper_p.h +50 -0
  22. data/ext/asmjit/asmjit/src/asmjit/arm/a64emitter.h +1228 -0
  23. data/ext/asmjit/asmjit/src/asmjit/arm/a64formatter.cpp +298 -0
  24. data/ext/asmjit/asmjit/src/asmjit/arm/a64formatter_p.h +59 -0
  25. data/ext/asmjit/asmjit/src/asmjit/arm/a64func.cpp +189 -0
  26. data/ext/asmjit/asmjit/src/asmjit/arm/a64func_p.h +33 -0
  27. data/ext/asmjit/asmjit/src/asmjit/arm/a64globals.h +1894 -0
  28. data/ext/asmjit/asmjit/src/asmjit/arm/a64instapi.cpp +278 -0
  29. data/ext/asmjit/asmjit/src/asmjit/arm/a64instapi_p.h +41 -0
  30. data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb.cpp +1957 -0
  31. data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb.h +74 -0
  32. data/ext/asmjit/asmjit/src/asmjit/arm/a64instdb_p.h +876 -0
  33. data/ext/asmjit/asmjit/src/asmjit/arm/a64operand.cpp +85 -0
  34. data/ext/asmjit/asmjit/src/asmjit/arm/a64operand.h +312 -0
  35. data/ext/asmjit/asmjit/src/asmjit/arm/a64rapass.cpp +852 -0
  36. data/ext/asmjit/asmjit/src/asmjit/arm/a64rapass_p.h +105 -0
  37. data/ext/asmjit/asmjit/src/asmjit/arm/a64utils.h +179 -0
  38. data/ext/asmjit/asmjit/src/asmjit/arm/armformatter.cpp +143 -0
  39. data/ext/asmjit/asmjit/src/asmjit/arm/armformatter_p.h +44 -0
  40. data/ext/asmjit/asmjit/src/asmjit/arm/armglobals.h +21 -0
  41. data/ext/asmjit/asmjit/src/asmjit/arm/armoperand.h +621 -0
  42. data/ext/asmjit/asmjit/src/asmjit/arm.h +62 -0
  43. data/ext/asmjit/asmjit/src/asmjit/asmjit-scope-begin.h +17 -0
  44. data/ext/asmjit/asmjit/src/asmjit/asmjit-scope-end.h +9 -0
  45. data/ext/asmjit/asmjit/src/asmjit/asmjit.h +33 -0
  46. data/ext/asmjit/asmjit/src/asmjit/core/api-build_p.h +55 -0
  47. data/ext/asmjit/asmjit/src/asmjit/core/api-config.h +613 -0
  48. data/ext/asmjit/asmjit/src/asmjit/core/archcommons.h +229 -0
  49. data/ext/asmjit/asmjit/src/asmjit/core/archtraits.cpp +160 -0
  50. data/ext/asmjit/asmjit/src/asmjit/core/archtraits.h +290 -0
  51. data/ext/asmjit/asmjit/src/asmjit/core/assembler.cpp +406 -0
  52. data/ext/asmjit/asmjit/src/asmjit/core/assembler.h +129 -0
  53. data/ext/asmjit/asmjit/src/asmjit/core/builder.cpp +889 -0
  54. data/ext/asmjit/asmjit/src/asmjit/core/builder.h +1391 -0
  55. data/ext/asmjit/asmjit/src/asmjit/core/codebuffer.h +113 -0
  56. data/ext/asmjit/asmjit/src/asmjit/core/codeholder.cpp +1149 -0
  57. data/ext/asmjit/asmjit/src/asmjit/core/codeholder.h +1035 -0
  58. data/ext/asmjit/asmjit/src/asmjit/core/codewriter.cpp +175 -0
  59. data/ext/asmjit/asmjit/src/asmjit/core/codewriter_p.h +179 -0
  60. data/ext/asmjit/asmjit/src/asmjit/core/compiler.cpp +582 -0
  61. data/ext/asmjit/asmjit/src/asmjit/core/compiler.h +737 -0
  62. data/ext/asmjit/asmjit/src/asmjit/core/compilerdefs.h +173 -0
  63. data/ext/asmjit/asmjit/src/asmjit/core/constpool.cpp +363 -0
  64. data/ext/asmjit/asmjit/src/asmjit/core/constpool.h +250 -0
  65. data/ext/asmjit/asmjit/src/asmjit/core/cpuinfo.cpp +1162 -0
  66. data/ext/asmjit/asmjit/src/asmjit/core/cpuinfo.h +813 -0
  67. data/ext/asmjit/asmjit/src/asmjit/core/emithelper.cpp +323 -0
  68. data/ext/asmjit/asmjit/src/asmjit/core/emithelper_p.h +58 -0
  69. data/ext/asmjit/asmjit/src/asmjit/core/emitter.cpp +333 -0
  70. data/ext/asmjit/asmjit/src/asmjit/core/emitter.h +741 -0
  71. data/ext/asmjit/asmjit/src/asmjit/core/emitterutils.cpp +129 -0
  72. data/ext/asmjit/asmjit/src/asmjit/core/emitterutils_p.h +89 -0
  73. data/ext/asmjit/asmjit/src/asmjit/core/environment.cpp +46 -0
  74. data/ext/asmjit/asmjit/src/asmjit/core/environment.h +508 -0
  75. data/ext/asmjit/asmjit/src/asmjit/core/errorhandler.cpp +14 -0
  76. data/ext/asmjit/asmjit/src/asmjit/core/errorhandler.h +228 -0
  77. data/ext/asmjit/asmjit/src/asmjit/core/formatter.cpp +584 -0
  78. data/ext/asmjit/asmjit/src/asmjit/core/formatter.h +247 -0
  79. data/ext/asmjit/asmjit/src/asmjit/core/formatter_p.h +34 -0
  80. data/ext/asmjit/asmjit/src/asmjit/core/func.cpp +286 -0
  81. data/ext/asmjit/asmjit/src/asmjit/core/func.h +1445 -0
  82. data/ext/asmjit/asmjit/src/asmjit/core/funcargscontext.cpp +293 -0
  83. data/ext/asmjit/asmjit/src/asmjit/core/funcargscontext_p.h +199 -0
  84. data/ext/asmjit/asmjit/src/asmjit/core/globals.cpp +133 -0
  85. data/ext/asmjit/asmjit/src/asmjit/core/globals.h +393 -0
  86. data/ext/asmjit/asmjit/src/asmjit/core/inst.cpp +113 -0
  87. data/ext/asmjit/asmjit/src/asmjit/core/inst.h +772 -0
  88. data/ext/asmjit/asmjit/src/asmjit/core/jitallocator.cpp +1242 -0
  89. data/ext/asmjit/asmjit/src/asmjit/core/jitallocator.h +261 -0
  90. data/ext/asmjit/asmjit/src/asmjit/core/jitruntime.cpp +80 -0
  91. data/ext/asmjit/asmjit/src/asmjit/core/jitruntime.h +89 -0
  92. data/ext/asmjit/asmjit/src/asmjit/core/logger.cpp +69 -0
  93. data/ext/asmjit/asmjit/src/asmjit/core/logger.h +198 -0
  94. data/ext/asmjit/asmjit/src/asmjit/core/misc_p.h +33 -0
  95. data/ext/asmjit/asmjit/src/asmjit/core/operand.cpp +132 -0
  96. data/ext/asmjit/asmjit/src/asmjit/core/operand.h +1611 -0
  97. data/ext/asmjit/asmjit/src/asmjit/core/osutils.cpp +84 -0
  98. data/ext/asmjit/asmjit/src/asmjit/core/osutils.h +61 -0
  99. data/ext/asmjit/asmjit/src/asmjit/core/osutils_p.h +68 -0
  100. data/ext/asmjit/asmjit/src/asmjit/core/raassignment_p.h +418 -0
  101. data/ext/asmjit/asmjit/src/asmjit/core/rabuilders_p.h +612 -0
  102. data/ext/asmjit/asmjit/src/asmjit/core/radefs_p.h +1204 -0
  103. data/ext/asmjit/asmjit/src/asmjit/core/ralocal.cpp +1166 -0
  104. data/ext/asmjit/asmjit/src/asmjit/core/ralocal_p.h +254 -0
  105. data/ext/asmjit/asmjit/src/asmjit/core/rapass.cpp +1969 -0
  106. data/ext/asmjit/asmjit/src/asmjit/core/rapass_p.h +1183 -0
  107. data/ext/asmjit/asmjit/src/asmjit/core/rastack.cpp +184 -0
  108. data/ext/asmjit/asmjit/src/asmjit/core/rastack_p.h +171 -0
  109. data/ext/asmjit/asmjit/src/asmjit/core/string.cpp +559 -0
  110. data/ext/asmjit/asmjit/src/asmjit/core/string.h +372 -0
  111. data/ext/asmjit/asmjit/src/asmjit/core/support.cpp +494 -0
  112. data/ext/asmjit/asmjit/src/asmjit/core/support.h +1773 -0
  113. data/ext/asmjit/asmjit/src/asmjit/core/target.cpp +14 -0
  114. data/ext/asmjit/asmjit/src/asmjit/core/target.h +53 -0
  115. data/ext/asmjit/asmjit/src/asmjit/core/type.cpp +74 -0
  116. data/ext/asmjit/asmjit/src/asmjit/core/type.h +419 -0
  117. data/ext/asmjit/asmjit/src/asmjit/core/virtmem.cpp +722 -0
  118. data/ext/asmjit/asmjit/src/asmjit/core/virtmem.h +242 -0
  119. data/ext/asmjit/asmjit/src/asmjit/core/zone.cpp +353 -0
  120. data/ext/asmjit/asmjit/src/asmjit/core/zone.h +615 -0
  121. data/ext/asmjit/asmjit/src/asmjit/core/zonehash.cpp +309 -0
  122. data/ext/asmjit/asmjit/src/asmjit/core/zonehash.h +186 -0
  123. data/ext/asmjit/asmjit/src/asmjit/core/zonelist.cpp +163 -0
  124. data/ext/asmjit/asmjit/src/asmjit/core/zonelist.h +209 -0
  125. data/ext/asmjit/asmjit/src/asmjit/core/zonestack.cpp +176 -0
  126. data/ext/asmjit/asmjit/src/asmjit/core/zonestack.h +239 -0
  127. data/ext/asmjit/asmjit/src/asmjit/core/zonestring.h +120 -0
  128. data/ext/asmjit/asmjit/src/asmjit/core/zonetree.cpp +99 -0
  129. data/ext/asmjit/asmjit/src/asmjit/core/zonetree.h +380 -0
  130. data/ext/asmjit/asmjit/src/asmjit/core/zonevector.cpp +356 -0
  131. data/ext/asmjit/asmjit/src/asmjit/core/zonevector.h +690 -0
  132. data/ext/asmjit/asmjit/src/asmjit/core.h +1861 -0
  133. data/ext/asmjit/asmjit/src/asmjit/x86/x86archtraits_p.h +148 -0
  134. data/ext/asmjit/asmjit/src/asmjit/x86/x86assembler.cpp +5110 -0
  135. data/ext/asmjit/asmjit/src/asmjit/x86/x86assembler.h +685 -0
  136. data/ext/asmjit/asmjit/src/asmjit/x86/x86builder.cpp +52 -0
  137. data/ext/asmjit/asmjit/src/asmjit/x86/x86builder.h +351 -0
  138. data/ext/asmjit/asmjit/src/asmjit/x86/x86compiler.cpp +61 -0
  139. data/ext/asmjit/asmjit/src/asmjit/x86/x86compiler.h +721 -0
  140. data/ext/asmjit/asmjit/src/asmjit/x86/x86emithelper.cpp +619 -0
  141. data/ext/asmjit/asmjit/src/asmjit/x86/x86emithelper_p.h +60 -0
  142. data/ext/asmjit/asmjit/src/asmjit/x86/x86emitter.h +4315 -0
  143. data/ext/asmjit/asmjit/src/asmjit/x86/x86formatter.cpp +944 -0
  144. data/ext/asmjit/asmjit/src/asmjit/x86/x86formatter_p.h +58 -0
  145. data/ext/asmjit/asmjit/src/asmjit/x86/x86func.cpp +503 -0
  146. data/ext/asmjit/asmjit/src/asmjit/x86/x86func_p.h +33 -0
  147. data/ext/asmjit/asmjit/src/asmjit/x86/x86globals.h +2169 -0
  148. data/ext/asmjit/asmjit/src/asmjit/x86/x86instapi.cpp +1732 -0
  149. data/ext/asmjit/asmjit/src/asmjit/x86/x86instapi_p.h +41 -0
  150. data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb.cpp +4427 -0
  151. data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb.h +563 -0
  152. data/ext/asmjit/asmjit/src/asmjit/x86/x86instdb_p.h +311 -0
  153. data/ext/asmjit/asmjit/src/asmjit/x86/x86opcode_p.h +436 -0
  154. data/ext/asmjit/asmjit/src/asmjit/x86/x86operand.cpp +231 -0
  155. data/ext/asmjit/asmjit/src/asmjit/x86/x86operand.h +1085 -0
  156. data/ext/asmjit/asmjit/src/asmjit/x86/x86rapass.cpp +1509 -0
  157. data/ext/asmjit/asmjit/src/asmjit/x86/x86rapass_p.h +94 -0
  158. data/ext/asmjit/asmjit/src/asmjit/x86.h +93 -0
  159. data/ext/asmjit/asmjit/src/asmjit.natvis +245 -0
  160. data/ext/asmjit/asmjit/test/asmjit_test_assembler.cpp +84 -0
  161. data/ext/asmjit/asmjit/test/asmjit_test_assembler.h +85 -0
  162. data/ext/asmjit/asmjit/test/asmjit_test_assembler_a64.cpp +4006 -0
  163. data/ext/asmjit/asmjit/test/asmjit_test_assembler_x64.cpp +17833 -0
  164. data/ext/asmjit/asmjit/test/asmjit_test_assembler_x86.cpp +8300 -0
  165. data/ext/asmjit/asmjit/test/asmjit_test_compiler.cpp +253 -0
  166. data/ext/asmjit/asmjit/test/asmjit_test_compiler.h +73 -0
  167. data/ext/asmjit/asmjit/test/asmjit_test_compiler_a64.cpp +690 -0
  168. data/ext/asmjit/asmjit/test/asmjit_test_compiler_x86.cpp +4317 -0
  169. data/ext/asmjit/asmjit/test/asmjit_test_emitters.cpp +197 -0
  170. data/ext/asmjit/asmjit/test/asmjit_test_instinfo.cpp +181 -0
  171. data/ext/asmjit/asmjit/test/asmjit_test_misc.h +257 -0
  172. data/ext/asmjit/asmjit/test/asmjit_test_perf.cpp +62 -0
  173. data/ext/asmjit/asmjit/test/asmjit_test_perf.h +61 -0
  174. data/ext/asmjit/asmjit/test/asmjit_test_perf_a64.cpp +699 -0
  175. data/ext/asmjit/asmjit/test/asmjit_test_perf_x86.cpp +5032 -0
  176. data/ext/asmjit/asmjit/test/asmjit_test_unit.cpp +172 -0
  177. data/ext/asmjit/asmjit/test/asmjit_test_x86_sections.cpp +172 -0
  178. data/ext/asmjit/asmjit/test/asmjitutils.h +38 -0
  179. data/ext/asmjit/asmjit/test/broken.cpp +312 -0
  180. data/ext/asmjit/asmjit/test/broken.h +148 -0
  181. data/ext/asmjit/asmjit/test/cmdline.h +61 -0
  182. data/ext/asmjit/asmjit/test/performancetimer.h +41 -0
  183. data/ext/asmjit/asmjit/tools/configure-makefiles.sh +13 -0
  184. data/ext/asmjit/asmjit/tools/configure-ninja.sh +13 -0
  185. data/ext/asmjit/asmjit/tools/configure-sanitizers.sh +13 -0
  186. data/ext/asmjit/asmjit/tools/configure-vs2019-x64.bat +2 -0
  187. data/ext/asmjit/asmjit/tools/configure-vs2019-x86.bat +2 -0
  188. data/ext/asmjit/asmjit/tools/configure-vs2022-x64.bat +2 -0
  189. data/ext/asmjit/asmjit/tools/configure-vs2022-x86.bat +2 -0
  190. data/ext/asmjit/asmjit/tools/configure-xcode.sh +8 -0
  191. data/ext/asmjit/asmjit/tools/enumgen.js +417 -0
  192. data/ext/asmjit/asmjit/tools/enumgen.sh +3 -0
  193. data/ext/asmjit/asmjit/tools/tablegen-arm.js +365 -0
  194. data/ext/asmjit/asmjit/tools/tablegen-arm.sh +3 -0
  195. data/ext/asmjit/asmjit/tools/tablegen-x86.js +2638 -0
  196. data/ext/asmjit/asmjit/tools/tablegen-x86.sh +3 -0
  197. data/ext/asmjit/asmjit/tools/tablegen.js +947 -0
  198. data/ext/asmjit/asmjit/tools/tablegen.sh +4 -0
  199. data/ext/asmjit/asmjit.cc +18 -0
  200. data/lib/asmjit/version.rb +1 -1
  201. metadata +197 -2
@@ -0,0 +1,85 @@
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
+ #include "../core/api-build_p.h"
7
+ #if !defined(ASMJIT_NO_AARCH64)
8
+
9
+ #include "../core/misc_p.h"
10
+ #include "../arm/a64operand.h"
11
+
12
+ ASMJIT_BEGIN_SUB_NAMESPACE(a64)
13
+
14
+ // a64::Operand - Tests
15
+ // ====================
16
+
17
+ #if defined(ASMJIT_TEST)
18
+ UNIT(a64_operand) {
19
+ INFO("Checking if a64::reg(...) matches built-in IDs");
20
+ EXPECT(w(5) == w5);
21
+ EXPECT(x(5) == x5);
22
+
23
+ INFO("Checking Gp register properties");
24
+ EXPECT(Gp().isReg() == true);
25
+ EXPECT(w0.isReg() == true);
26
+ EXPECT(x0.isReg() == true);
27
+ EXPECT(w0.id() == 0);
28
+ EXPECT(x0.id() == 0);
29
+ EXPECT(wzr.id() == Gp::kIdZr);
30
+ EXPECT(xzr.id() == Gp::kIdZr);
31
+ EXPECT(wsp.id() == Gp::kIdSp);
32
+ EXPECT(sp.id() == Gp::kIdSp);
33
+ EXPECT(w0.size() == 4);
34
+ EXPECT(x0.size() == 8);
35
+ EXPECT(w0.type() == RegType::kARM_GpW);
36
+ EXPECT(x0.type() == RegType::kARM_GpX);
37
+ EXPECT(w0.group() == RegGroup::kGp);
38
+ EXPECT(x0.group() == RegGroup::kGp);
39
+
40
+ INFO("Checking Vec register properties");
41
+ EXPECT(v0.type() == RegType::kARM_VecV);
42
+ EXPECT(d0.type() == RegType::kARM_VecD);
43
+ EXPECT(s0.type() == RegType::kARM_VecS);
44
+ EXPECT(h0.type() == RegType::kARM_VecH);
45
+ EXPECT(b0.type() == RegType::kARM_VecB);
46
+
47
+ EXPECT(v0.group() == RegGroup::kVec);
48
+ EXPECT(d0.group() == RegGroup::kVec);
49
+ EXPECT(s0.group() == RegGroup::kVec);
50
+ EXPECT(h0.group() == RegGroup::kVec);
51
+ EXPECT(b0.group() == RegGroup::kVec);
52
+
53
+ INFO("Checking Vec register element[] access");
54
+ Vec vd_1 = v15.d(1);
55
+ EXPECT(vd_1.type() == RegType::kARM_VecV);
56
+ EXPECT(vd_1.group() == RegGroup::kVec);
57
+ EXPECT(vd_1.id() == 15);
58
+ EXPECT(vd_1.isVecD2());
59
+ EXPECT(vd_1.elementType() == Vec::kElementTypeD);
60
+ EXPECT(vd_1.hasElementIndex());
61
+ EXPECT(vd_1.elementIndex() == 1);
62
+
63
+ Vec vs_3 = v15.s(3);
64
+ EXPECT(vs_3.type() == RegType::kARM_VecV);
65
+ EXPECT(vs_3.group() == RegGroup::kVec);
66
+ EXPECT(vs_3.id() == 15);
67
+ EXPECT(vs_3.isVecS4());
68
+ EXPECT(vs_3.elementType() == Vec::kElementTypeS);
69
+ EXPECT(vs_3.hasElementIndex());
70
+ EXPECT(vs_3.elementIndex() == 3);
71
+
72
+ Vec vb_4 = v15.b4(3);
73
+ EXPECT(vb_4.type() == RegType::kARM_VecV);
74
+ EXPECT(vb_4.group() == RegGroup::kVec);
75
+ EXPECT(vb_4.id() == 15);
76
+ EXPECT(vb_4.isVecB4x4());
77
+ EXPECT(vb_4.elementType() == Vec::kElementTypeB4);
78
+ EXPECT(vb_4.hasElementIndex());
79
+ EXPECT(vb_4.elementIndex() == 3);
80
+ }
81
+ #endif
82
+
83
+ ASMJIT_END_SUB_NAMESPACE
84
+
85
+ #endif // !ASMJIT_NO_AARCH64
@@ -0,0 +1,312 @@
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_A64OPERAND_H_INCLUDED
7
+ #define ASMJIT_ARM_A64OPERAND_H_INCLUDED
8
+
9
+ #include "../arm/armoperand.h"
10
+
11
+ ASMJIT_BEGIN_SUB_NAMESPACE(a64)
12
+
13
+ //! \addtogroup asmjit_a64
14
+ //! \{
15
+
16
+ using arm::Reg;
17
+ using arm::Mem;
18
+ using arm::Gp;
19
+ using arm::GpW;
20
+ using arm::GpX;
21
+
22
+ using arm::Vec;
23
+ using arm::VecB;
24
+ using arm::VecH;
25
+ using arm::VecS;
26
+ using arm::VecD;
27
+ using arm::VecV;
28
+
29
+ #ifndef _DOXYGEN
30
+ namespace regs {
31
+ #endif
32
+
33
+ using namespace ::asmjit::arm::regs;
34
+
35
+ static constexpr GpW w0 = GpW(0);
36
+ static constexpr GpW w1 = GpW(1);
37
+ static constexpr GpW w2 = GpW(2);
38
+ static constexpr GpW w3 = GpW(3);
39
+ static constexpr GpW w4 = GpW(4);
40
+ static constexpr GpW w5 = GpW(5);
41
+ static constexpr GpW w6 = GpW(6);
42
+ static constexpr GpW w7 = GpW(7);
43
+ static constexpr GpW w8 = GpW(8);
44
+ static constexpr GpW w9 = GpW(9);
45
+ static constexpr GpW w10 = GpW(10);
46
+ static constexpr GpW w11 = GpW(11);
47
+ static constexpr GpW w12 = GpW(12);
48
+ static constexpr GpW w13 = GpW(13);
49
+ static constexpr GpW w14 = GpW(14);
50
+ static constexpr GpW w15 = GpW(15);
51
+ static constexpr GpW w16 = GpW(16);
52
+ static constexpr GpW w17 = GpW(17);
53
+ static constexpr GpW w18 = GpW(18);
54
+ static constexpr GpW w19 = GpW(19);
55
+ static constexpr GpW w20 = GpW(20);
56
+ static constexpr GpW w21 = GpW(21);
57
+ static constexpr GpW w22 = GpW(22);
58
+ static constexpr GpW w23 = GpW(23);
59
+ static constexpr GpW w24 = GpW(24);
60
+ static constexpr GpW w25 = GpW(25);
61
+ static constexpr GpW w26 = GpW(26);
62
+ static constexpr GpW w27 = GpW(27);
63
+ static constexpr GpW w28 = GpW(28);
64
+ static constexpr GpW w29 = GpW(29);
65
+ static constexpr GpW w30 = GpW(30);
66
+ static constexpr GpW wzr = GpW(Gp::kIdZr);
67
+ static constexpr GpW wsp = GpW(Gp::kIdSp);
68
+
69
+ static constexpr GpX x0 = GpX(0);
70
+ static constexpr GpX x1 = GpX(1);
71
+ static constexpr GpX x2 = GpX(2);
72
+ static constexpr GpX x3 = GpX(3);
73
+ static constexpr GpX x4 = GpX(4);
74
+ static constexpr GpX x5 = GpX(5);
75
+ static constexpr GpX x6 = GpX(6);
76
+ static constexpr GpX x7 = GpX(7);
77
+ static constexpr GpX x8 = GpX(8);
78
+ static constexpr GpX x9 = GpX(9);
79
+ static constexpr GpX x10 = GpX(10);
80
+ static constexpr GpX x11 = GpX(11);
81
+ static constexpr GpX x12 = GpX(12);
82
+ static constexpr GpX x13 = GpX(13);
83
+ static constexpr GpX x14 = GpX(14);
84
+ static constexpr GpX x15 = GpX(15);
85
+ static constexpr GpX x16 = GpX(16);
86
+ static constexpr GpX x17 = GpX(17);
87
+ static constexpr GpX x18 = GpX(18);
88
+ static constexpr GpX x19 = GpX(19);
89
+ static constexpr GpX x20 = GpX(20);
90
+ static constexpr GpX x21 = GpX(21);
91
+ static constexpr GpX x22 = GpX(22);
92
+ static constexpr GpX x23 = GpX(23);
93
+ static constexpr GpX x24 = GpX(24);
94
+ static constexpr GpX x25 = GpX(25);
95
+ static constexpr GpX x26 = GpX(26);
96
+ static constexpr GpX x27 = GpX(27);
97
+ static constexpr GpX x28 = GpX(28);
98
+ static constexpr GpX x29 = GpX(29);
99
+ static constexpr GpX x30 = GpX(30);
100
+ static constexpr GpX xzr = GpX(Gp::kIdZr);
101
+ static constexpr GpX sp = GpX(Gp::kIdSp);
102
+
103
+ static constexpr VecB b0 = VecB(0);
104
+ static constexpr VecB b1 = VecB(1);
105
+ static constexpr VecB b2 = VecB(2);
106
+ static constexpr VecB b3 = VecB(3);
107
+ static constexpr VecB b4 = VecB(4);
108
+ static constexpr VecB b5 = VecB(5);
109
+ static constexpr VecB b6 = VecB(6);
110
+ static constexpr VecB b7 = VecB(7);
111
+ static constexpr VecB b8 = VecB(8);
112
+ static constexpr VecB b9 = VecB(9);
113
+ static constexpr VecB b10 = VecB(10);
114
+ static constexpr VecB b11 = VecB(11);
115
+ static constexpr VecB b12 = VecB(12);
116
+ static constexpr VecB b13 = VecB(13);
117
+ static constexpr VecB b14 = VecB(14);
118
+ static constexpr VecB b15 = VecB(15);
119
+ static constexpr VecB b16 = VecB(16);
120
+ static constexpr VecB b17 = VecB(17);
121
+ static constexpr VecB b18 = VecB(18);
122
+ static constexpr VecB b19 = VecB(19);
123
+ static constexpr VecB b20 = VecB(20);
124
+ static constexpr VecB b21 = VecB(21);
125
+ static constexpr VecB b22 = VecB(22);
126
+ static constexpr VecB b23 = VecB(23);
127
+ static constexpr VecB b24 = VecB(24);
128
+ static constexpr VecB b25 = VecB(25);
129
+ static constexpr VecB b26 = VecB(26);
130
+ static constexpr VecB b27 = VecB(27);
131
+ static constexpr VecB b28 = VecB(28);
132
+ static constexpr VecB b29 = VecB(29);
133
+ static constexpr VecB b30 = VecB(30);
134
+ static constexpr VecB b31 = VecB(31);
135
+
136
+ static constexpr VecH h0 = VecH(0);
137
+ static constexpr VecH h1 = VecH(1);
138
+ static constexpr VecH h2 = VecH(2);
139
+ static constexpr VecH h3 = VecH(3);
140
+ static constexpr VecH h4 = VecH(4);
141
+ static constexpr VecH h5 = VecH(5);
142
+ static constexpr VecH h6 = VecH(6);
143
+ static constexpr VecH h7 = VecH(7);
144
+ static constexpr VecH h8 = VecH(8);
145
+ static constexpr VecH h9 = VecH(9);
146
+ static constexpr VecH h10 = VecH(10);
147
+ static constexpr VecH h11 = VecH(11);
148
+ static constexpr VecH h12 = VecH(12);
149
+ static constexpr VecH h13 = VecH(13);
150
+ static constexpr VecH h14 = VecH(14);
151
+ static constexpr VecH h15 = VecH(15);
152
+ static constexpr VecH h16 = VecH(16);
153
+ static constexpr VecH h17 = VecH(17);
154
+ static constexpr VecH h18 = VecH(18);
155
+ static constexpr VecH h19 = VecH(19);
156
+ static constexpr VecH h20 = VecH(20);
157
+ static constexpr VecH h21 = VecH(21);
158
+ static constexpr VecH h22 = VecH(22);
159
+ static constexpr VecH h23 = VecH(23);
160
+ static constexpr VecH h24 = VecH(24);
161
+ static constexpr VecH h25 = VecH(25);
162
+ static constexpr VecH h26 = VecH(26);
163
+ static constexpr VecH h27 = VecH(27);
164
+ static constexpr VecH h28 = VecH(28);
165
+ static constexpr VecH h29 = VecH(29);
166
+ static constexpr VecH h30 = VecH(30);
167
+ static constexpr VecH h31 = VecH(31);
168
+
169
+ static constexpr VecS s0 = VecS(0);
170
+ static constexpr VecS s1 = VecS(1);
171
+ static constexpr VecS s2 = VecS(2);
172
+ static constexpr VecS s3 = VecS(3);
173
+ static constexpr VecS s4 = VecS(4);
174
+ static constexpr VecS s5 = VecS(5);
175
+ static constexpr VecS s6 = VecS(6);
176
+ static constexpr VecS s7 = VecS(7);
177
+ static constexpr VecS s8 = VecS(8);
178
+ static constexpr VecS s9 = VecS(9);
179
+ static constexpr VecS s10 = VecS(10);
180
+ static constexpr VecS s11 = VecS(11);
181
+ static constexpr VecS s12 = VecS(12);
182
+ static constexpr VecS s13 = VecS(13);
183
+ static constexpr VecS s14 = VecS(14);
184
+ static constexpr VecS s15 = VecS(15);
185
+ static constexpr VecS s16 = VecS(16);
186
+ static constexpr VecS s17 = VecS(17);
187
+ static constexpr VecS s18 = VecS(18);
188
+ static constexpr VecS s19 = VecS(19);
189
+ static constexpr VecS s20 = VecS(20);
190
+ static constexpr VecS s21 = VecS(21);
191
+ static constexpr VecS s22 = VecS(22);
192
+ static constexpr VecS s23 = VecS(23);
193
+ static constexpr VecS s24 = VecS(24);
194
+ static constexpr VecS s25 = VecS(25);
195
+ static constexpr VecS s26 = VecS(26);
196
+ static constexpr VecS s27 = VecS(27);
197
+ static constexpr VecS s28 = VecS(28);
198
+ static constexpr VecS s29 = VecS(29);
199
+ static constexpr VecS s30 = VecS(30);
200
+ static constexpr VecS s31 = VecS(31);
201
+
202
+ static constexpr VecD d0 = VecD(0);
203
+ static constexpr VecD d1 = VecD(1);
204
+ static constexpr VecD d2 = VecD(2);
205
+ static constexpr VecD d3 = VecD(3);
206
+ static constexpr VecD d4 = VecD(4);
207
+ static constexpr VecD d5 = VecD(5);
208
+ static constexpr VecD d6 = VecD(6);
209
+ static constexpr VecD d7 = VecD(7);
210
+ static constexpr VecD d8 = VecD(8);
211
+ static constexpr VecD d9 = VecD(9);
212
+ static constexpr VecD d10 = VecD(10);
213
+ static constexpr VecD d11 = VecD(11);
214
+ static constexpr VecD d12 = VecD(12);
215
+ static constexpr VecD d13 = VecD(13);
216
+ static constexpr VecD d14 = VecD(14);
217
+ static constexpr VecD d15 = VecD(15);
218
+ static constexpr VecD d16 = VecD(16);
219
+ static constexpr VecD d17 = VecD(17);
220
+ static constexpr VecD d18 = VecD(18);
221
+ static constexpr VecD d19 = VecD(19);
222
+ static constexpr VecD d20 = VecD(20);
223
+ static constexpr VecD d21 = VecD(21);
224
+ static constexpr VecD d22 = VecD(22);
225
+ static constexpr VecD d23 = VecD(23);
226
+ static constexpr VecD d24 = VecD(24);
227
+ static constexpr VecD d25 = VecD(25);
228
+ static constexpr VecD d26 = VecD(26);
229
+ static constexpr VecD d27 = VecD(27);
230
+ static constexpr VecD d28 = VecD(28);
231
+ static constexpr VecD d29 = VecD(29);
232
+ static constexpr VecD d30 = VecD(30);
233
+ static constexpr VecD d31 = VecD(31);
234
+
235
+ static constexpr VecV q0 = VecV(0);
236
+ static constexpr VecV q1 = VecV(1);
237
+ static constexpr VecV q2 = VecV(2);
238
+ static constexpr VecV q3 = VecV(3);
239
+ static constexpr VecV q4 = VecV(4);
240
+ static constexpr VecV q5 = VecV(5);
241
+ static constexpr VecV q6 = VecV(6);
242
+ static constexpr VecV q7 = VecV(7);
243
+ static constexpr VecV q8 = VecV(8);
244
+ static constexpr VecV q9 = VecV(9);
245
+ static constexpr VecV q10 = VecV(10);
246
+ static constexpr VecV q11 = VecV(11);
247
+ static constexpr VecV q12 = VecV(12);
248
+ static constexpr VecV q13 = VecV(13);
249
+ static constexpr VecV q14 = VecV(14);
250
+ static constexpr VecV q15 = VecV(15);
251
+ static constexpr VecV q16 = VecV(16);
252
+ static constexpr VecV q17 = VecV(17);
253
+ static constexpr VecV q18 = VecV(18);
254
+ static constexpr VecV q19 = VecV(19);
255
+ static constexpr VecV q20 = VecV(20);
256
+ static constexpr VecV q21 = VecV(21);
257
+ static constexpr VecV q22 = VecV(22);
258
+ static constexpr VecV q23 = VecV(23);
259
+ static constexpr VecV q24 = VecV(24);
260
+ static constexpr VecV q25 = VecV(25);
261
+ static constexpr VecV q26 = VecV(26);
262
+ static constexpr VecV q27 = VecV(27);
263
+ static constexpr VecV q28 = VecV(28);
264
+ static constexpr VecV q29 = VecV(29);
265
+ static constexpr VecV q30 = VecV(30);
266
+ static constexpr VecV q31 = VecV(31);
267
+
268
+ static constexpr VecV v0 = VecV(0);
269
+ static constexpr VecV v1 = VecV(1);
270
+ static constexpr VecV v2 = VecV(2);
271
+ static constexpr VecV v3 = VecV(3);
272
+ static constexpr VecV v4 = VecV(4);
273
+ static constexpr VecV v5 = VecV(5);
274
+ static constexpr VecV v6 = VecV(6);
275
+ static constexpr VecV v7 = VecV(7);
276
+ static constexpr VecV v8 = VecV(8);
277
+ static constexpr VecV v9 = VecV(9);
278
+ static constexpr VecV v10 = VecV(10);
279
+ static constexpr VecV v11 = VecV(11);
280
+ static constexpr VecV v12 = VecV(12);
281
+ static constexpr VecV v13 = VecV(13);
282
+ static constexpr VecV v14 = VecV(14);
283
+ static constexpr VecV v15 = VecV(15);
284
+ static constexpr VecV v16 = VecV(16);
285
+ static constexpr VecV v17 = VecV(17);
286
+ static constexpr VecV v18 = VecV(18);
287
+ static constexpr VecV v19 = VecV(19);
288
+ static constexpr VecV v20 = VecV(20);
289
+ static constexpr VecV v21 = VecV(21);
290
+ static constexpr VecV v22 = VecV(22);
291
+ static constexpr VecV v23 = VecV(23);
292
+ static constexpr VecV v24 = VecV(24);
293
+ static constexpr VecV v25 = VecV(25);
294
+ static constexpr VecV v26 = VecV(26);
295
+ static constexpr VecV v27 = VecV(27);
296
+ static constexpr VecV v28 = VecV(28);
297
+ static constexpr VecV v29 = VecV(29);
298
+ static constexpr VecV v30 = VecV(30);
299
+ static constexpr VecV v31 = VecV(31);
300
+
301
+ #ifndef _DOXYGEN
302
+ } // {regs}
303
+
304
+ // Make `a64::regs` accessible through `a64` namespace as well.
305
+ using namespace regs;
306
+ #endif
307
+
308
+ //! \}
309
+
310
+ ASMJIT_END_SUB_NAMESPACE
311
+
312
+ #endif // ASMJIT_ARM_A64OPERAND_H_INCLUDED