hexcore-capstone 1.2.0

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 (332) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +191 -0
  3. package/binding.gyp +168 -0
  4. package/deps/capstone/LEB128.h +38 -0
  5. package/deps/capstone/MCDisassembler.h +14 -0
  6. package/deps/capstone/MCFixedLenDisassembler.h +32 -0
  7. package/deps/capstone/MCInst.c +270 -0
  8. package/deps/capstone/MCInst.h +165 -0
  9. package/deps/capstone/MCInstrDesc.c +41 -0
  10. package/deps/capstone/MCInstrDesc.h +167 -0
  11. package/deps/capstone/MCRegisterInfo.c +151 -0
  12. package/deps/capstone/MCRegisterInfo.h +116 -0
  13. package/deps/capstone/Mapping.c +254 -0
  14. package/deps/capstone/Mapping.h +174 -0
  15. package/deps/capstone/MathExtras.h +442 -0
  16. package/deps/capstone/SStream.c +181 -0
  17. package/deps/capstone/SStream.h +40 -0
  18. package/deps/capstone/arch/AArch64/AArch64AddressingModes.h +945 -0
  19. package/deps/capstone/arch/AArch64/AArch64BaseInfo.c +77 -0
  20. package/deps/capstone/arch/AArch64/AArch64BaseInfo.h +585 -0
  21. package/deps/capstone/arch/AArch64/AArch64Disassembler.c +2280 -0
  22. package/deps/capstone/arch/AArch64/AArch64Disassembler.h +18 -0
  23. package/deps/capstone/arch/AArch64/AArch64GenAsmWriter.inc +26589 -0
  24. package/deps/capstone/arch/AArch64/AArch64GenDisassemblerTables.inc +27322 -0
  25. package/deps/capstone/arch/AArch64/AArch64GenInstrInfo.inc +13194 -0
  26. package/deps/capstone/arch/AArch64/AArch64GenRegisterInfo.inc +3814 -0
  27. package/deps/capstone/arch/AArch64/AArch64GenRegisterName.inc +714 -0
  28. package/deps/capstone/arch/AArch64/AArch64GenRegisterV.inc +673 -0
  29. package/deps/capstone/arch/AArch64/AArch64GenSubtargetInfo.inc +229 -0
  30. package/deps/capstone/arch/AArch64/AArch64GenSystemOperands.inc +2863 -0
  31. package/deps/capstone/arch/AArch64/AArch64GenSystemOperands_enum.inc +21 -0
  32. package/deps/capstone/arch/AArch64/AArch64InstPrinter.c +3029 -0
  33. package/deps/capstone/arch/AArch64/AArch64InstPrinter.h +28 -0
  34. package/deps/capstone/arch/AArch64/AArch64Mapping.c +883 -0
  35. package/deps/capstone/arch/AArch64/AArch64Mapping.h +43 -0
  36. package/deps/capstone/arch/AArch64/AArch64MappingInsn.inc +37790 -0
  37. package/deps/capstone/arch/AArch64/AArch64MappingInsnName.inc +1282 -0
  38. package/deps/capstone/arch/AArch64/AArch64MappingInsnOp.inc +26994 -0
  39. package/deps/capstone/arch/AArch64/AArch64Module.c +44 -0
  40. package/deps/capstone/arch/AArch64/AArch64Module.h +12 -0
  41. package/deps/capstone/arch/ARM/ARMAddressingModes.h +698 -0
  42. package/deps/capstone/arch/ARM/ARMBaseInfo.h +486 -0
  43. package/deps/capstone/arch/ARM/ARMDisassembler.c +5763 -0
  44. package/deps/capstone/arch/ARM/ARMDisassembler.h +18 -0
  45. package/deps/capstone/arch/ARM/ARMGenAsmWriter.inc +9545 -0
  46. package/deps/capstone/arch/ARM/ARMGenDisassemblerTables.inc +15185 -0
  47. package/deps/capstone/arch/ARM/ARMGenInstrInfo.inc +6632 -0
  48. package/deps/capstone/arch/ARM/ARMGenRegisterInfo.inc +2102 -0
  49. package/deps/capstone/arch/ARM/ARMGenRegisterName.inc +231 -0
  50. package/deps/capstone/arch/ARM/ARMGenRegisterName_digit.inc +231 -0
  51. package/deps/capstone/arch/ARM/ARMGenSubtargetInfo.inc +162 -0
  52. package/deps/capstone/arch/ARM/ARMGenSystemRegister.inc +270 -0
  53. package/deps/capstone/arch/ARM/ARMInstPrinter.c +3364 -0
  54. package/deps/capstone/arch/ARM/ARMInstPrinter.h +43 -0
  55. package/deps/capstone/arch/ARM/ARMMapping.c +551 -0
  56. package/deps/capstone/arch/ARM/ARMMapping.h +40 -0
  57. package/deps/capstone/arch/ARM/ARMMappingInsn.inc +18772 -0
  58. package/deps/capstone/arch/ARM/ARMMappingInsnName.inc +475 -0
  59. package/deps/capstone/arch/ARM/ARMMappingInsnOp.inc +10729 -0
  60. package/deps/capstone/arch/ARM/ARMModule.c +63 -0
  61. package/deps/capstone/arch/ARM/ARMModule.h +12 -0
  62. package/deps/capstone/arch/BPF/BPFConstants.h +88 -0
  63. package/deps/capstone/arch/BPF/BPFDisassembler.c +464 -0
  64. package/deps/capstone/arch/BPF/BPFDisassembler.h +27 -0
  65. package/deps/capstone/arch/BPF/BPFInstPrinter.c +285 -0
  66. package/deps/capstone/arch/BPF/BPFInstPrinter.h +16 -0
  67. package/deps/capstone/arch/BPF/BPFMapping.c +513 -0
  68. package/deps/capstone/arch/BPF/BPFMapping.h +21 -0
  69. package/deps/capstone/arch/BPF/BPFModule.c +34 -0
  70. package/deps/capstone/arch/BPF/BPFModule.h +12 -0
  71. package/deps/capstone/arch/EVM/EVMDisassembler.c +379 -0
  72. package/deps/capstone/arch/EVM/EVMDisassembler.h +12 -0
  73. package/deps/capstone/arch/EVM/EVMInstPrinter.c +20 -0
  74. package/deps/capstone/arch/EVM/EVMInstPrinter.h +17 -0
  75. package/deps/capstone/arch/EVM/EVMMapping.c +344 -0
  76. package/deps/capstone/arch/EVM/EVMMapping.h +8 -0
  77. package/deps/capstone/arch/EVM/EVMMappingInsn.inc +259 -0
  78. package/deps/capstone/arch/EVM/EVMModule.c +33 -0
  79. package/deps/capstone/arch/EVM/EVMModule.h +12 -0
  80. package/deps/capstone/arch/M680X/M680XDisassembler.c +2307 -0
  81. package/deps/capstone/arch/M680X/M680XDisassembler.h +17 -0
  82. package/deps/capstone/arch/M680X/M680XDisassemblerInternals.h +57 -0
  83. package/deps/capstone/arch/M680X/M680XInstPrinter.c +360 -0
  84. package/deps/capstone/arch/M680X/M680XInstPrinter.h +25 -0
  85. package/deps/capstone/arch/M680X/M680XModule.c +77 -0
  86. package/deps/capstone/arch/M680X/M680XModule.h +12 -0
  87. package/deps/capstone/arch/M680X/cpu12.inc +335 -0
  88. package/deps/capstone/arch/M680X/hcs08.inc +60 -0
  89. package/deps/capstone/arch/M680X/hd6301.inc +15 -0
  90. package/deps/capstone/arch/M680X/hd6309.inc +259 -0
  91. package/deps/capstone/arch/M680X/insn_props.inc +367 -0
  92. package/deps/capstone/arch/M680X/m6800.inc +277 -0
  93. package/deps/capstone/arch/M680X/m6801.inc +39 -0
  94. package/deps/capstone/arch/M680X/m6805.inc +277 -0
  95. package/deps/capstone/arch/M680X/m6808.inc +91 -0
  96. package/deps/capstone/arch/M680X/m6809.inc +352 -0
  97. package/deps/capstone/arch/M680X/m6811.inc +105 -0
  98. package/deps/capstone/arch/M68K/M68KDisassembler.c +3668 -0
  99. package/deps/capstone/arch/M68K/M68KDisassembler.h +30 -0
  100. package/deps/capstone/arch/M68K/M68KInstPrinter.c +387 -0
  101. package/deps/capstone/arch/M68K/M68KInstPrinter.h +21 -0
  102. package/deps/capstone/arch/M68K/M68KInstructionTable.inc +65540 -0
  103. package/deps/capstone/arch/M68K/M68KModule.c +42 -0
  104. package/deps/capstone/arch/M68K/M68KModule.h +12 -0
  105. package/deps/capstone/arch/MOS65XX/MOS65XXDisassembler.c +544 -0
  106. package/deps/capstone/arch/MOS65XX/MOS65XXDisassembler.h +22 -0
  107. package/deps/capstone/arch/MOS65XX/MOS65XXDisassemblerInternals.h +23 -0
  108. package/deps/capstone/arch/MOS65XX/MOS65XXModule.c +79 -0
  109. package/deps/capstone/arch/MOS65XX/MOS65XXModule.h +12 -0
  110. package/deps/capstone/arch/MOS65XX/instruction_info.inc +106 -0
  111. package/deps/capstone/arch/MOS65XX/m6502.inc +256 -0
  112. package/deps/capstone/arch/MOS65XX/m65816.inc +256 -0
  113. package/deps/capstone/arch/MOS65XX/m65c02.inc +256 -0
  114. package/deps/capstone/arch/MOS65XX/mw65c02.inc +256 -0
  115. package/deps/capstone/arch/Mips/MipsDisassembler.c +1794 -0
  116. package/deps/capstone/arch/Mips/MipsDisassembler.h +16 -0
  117. package/deps/capstone/arch/Mips/MipsGenAsmWriter.inc +5725 -0
  118. package/deps/capstone/arch/Mips/MipsGenDisassemblerTables.inc +6942 -0
  119. package/deps/capstone/arch/Mips/MipsGenInstrInfo.inc +1805 -0
  120. package/deps/capstone/arch/Mips/MipsGenRegisterInfo.inc +1679 -0
  121. package/deps/capstone/arch/Mips/MipsGenSubtargetInfo.inc +52 -0
  122. package/deps/capstone/arch/Mips/MipsInstPrinter.c +424 -0
  123. package/deps/capstone/arch/Mips/MipsInstPrinter.h +25 -0
  124. package/deps/capstone/arch/Mips/MipsMapping.c +1070 -0
  125. package/deps/capstone/arch/Mips/MipsMapping.h +25 -0
  126. package/deps/capstone/arch/Mips/MipsMappingInsn.inc +9315 -0
  127. package/deps/capstone/arch/Mips/MipsModule.c +52 -0
  128. package/deps/capstone/arch/Mips/MipsModule.h +12 -0
  129. package/deps/capstone/arch/PowerPC/PPCDisassembler.c +627 -0
  130. package/deps/capstone/arch/PowerPC/PPCDisassembler.h +17 -0
  131. package/deps/capstone/arch/PowerPC/PPCGenAsmWriter.inc +11451 -0
  132. package/deps/capstone/arch/PowerPC/PPCGenDisassemblerTables.inc +6886 -0
  133. package/deps/capstone/arch/PowerPC/PPCGenInstrInfo.inc +4772 -0
  134. package/deps/capstone/arch/PowerPC/PPCGenRegisterInfo.inc +1122 -0
  135. package/deps/capstone/arch/PowerPC/PPCGenRegisterName.inc +278 -0
  136. package/deps/capstone/arch/PowerPC/PPCGenSubtargetInfo.inc +90 -0
  137. package/deps/capstone/arch/PowerPC/PPCInstPrinter.c +1238 -0
  138. package/deps/capstone/arch/PowerPC/PPCInstPrinter.h +15 -0
  139. package/deps/capstone/arch/PowerPC/PPCMapping.c +570 -0
  140. package/deps/capstone/arch/PowerPC/PPCMapping.h +40 -0
  141. package/deps/capstone/arch/PowerPC/PPCMappingInsn.inc +13220 -0
  142. package/deps/capstone/arch/PowerPC/PPCMappingInsnName.inc +1731 -0
  143. package/deps/capstone/arch/PowerPC/PPCModule.c +45 -0
  144. package/deps/capstone/arch/PowerPC/PPCModule.h +12 -0
  145. package/deps/capstone/arch/PowerPC/PPCPredicates.h +62 -0
  146. package/deps/capstone/arch/RISCV/RISCVBaseInfo.h +106 -0
  147. package/deps/capstone/arch/RISCV/RISCVDisassembler.c +433 -0
  148. package/deps/capstone/arch/RISCV/RISCVDisassembler.h +18 -0
  149. package/deps/capstone/arch/RISCV/RISCVGenAsmWriter.inc +2651 -0
  150. package/deps/capstone/arch/RISCV/RISCVGenDisassemblerTables.inc +1776 -0
  151. package/deps/capstone/arch/RISCV/RISCVGenInsnNameMaps.inc +275 -0
  152. package/deps/capstone/arch/RISCV/RISCVGenInstrInfo.inc +470 -0
  153. package/deps/capstone/arch/RISCV/RISCVGenRegisterInfo.inc +426 -0
  154. package/deps/capstone/arch/RISCV/RISCVGenSubtargetInfo.inc +33 -0
  155. package/deps/capstone/arch/RISCV/RISCVInstPrinter.c +447 -0
  156. package/deps/capstone/arch/RISCV/RISCVInstPrinter.h +24 -0
  157. package/deps/capstone/arch/RISCV/RISCVMapping.c +366 -0
  158. package/deps/capstone/arch/RISCV/RISCVMapping.h +22 -0
  159. package/deps/capstone/arch/RISCV/RISCVMappingInsn.inc +1635 -0
  160. package/deps/capstone/arch/RISCV/RISCVModule.c +42 -0
  161. package/deps/capstone/arch/RISCV/RISCVModule.h +12 -0
  162. package/deps/capstone/arch/SH/SHDisassembler.c +2221 -0
  163. package/deps/capstone/arch/SH/SHDisassembler.h +19 -0
  164. package/deps/capstone/arch/SH/SHInsnTable.inc +66 -0
  165. package/deps/capstone/arch/SH/SHInstPrinter.c +438 -0
  166. package/deps/capstone/arch/SH/SHInstPrinter.h +23 -0
  167. package/deps/capstone/arch/SH/SHModule.c +39 -0
  168. package/deps/capstone/arch/SH/SHModule.h +12 -0
  169. package/deps/capstone/arch/SH/mktable.rb +390 -0
  170. package/deps/capstone/arch/Sparc/Sparc.h +63 -0
  171. package/deps/capstone/arch/Sparc/SparcDisassembler.c +500 -0
  172. package/deps/capstone/arch/Sparc/SparcDisassembler.h +17 -0
  173. package/deps/capstone/arch/Sparc/SparcGenAsmWriter.inc +5709 -0
  174. package/deps/capstone/arch/Sparc/SparcGenDisassemblerTables.inc +2028 -0
  175. package/deps/capstone/arch/Sparc/SparcGenInstrInfo.inc +514 -0
  176. package/deps/capstone/arch/Sparc/SparcGenRegisterInfo.inc +451 -0
  177. package/deps/capstone/arch/Sparc/SparcGenSubtargetInfo.inc +27 -0
  178. package/deps/capstone/arch/Sparc/SparcInstPrinter.c +446 -0
  179. package/deps/capstone/arch/Sparc/SparcInstPrinter.h +17 -0
  180. package/deps/capstone/arch/Sparc/SparcMapping.c +665 -0
  181. package/deps/capstone/arch/Sparc/SparcMapping.h +34 -0
  182. package/deps/capstone/arch/Sparc/SparcMappingInsn.inc +2643 -0
  183. package/deps/capstone/arch/Sparc/SparcModule.c +45 -0
  184. package/deps/capstone/arch/Sparc/SparcModule.h +12 -0
  185. package/deps/capstone/arch/SystemZ/SystemZDisassembler.c +484 -0
  186. package/deps/capstone/arch/SystemZ/SystemZDisassembler.h +17 -0
  187. package/deps/capstone/arch/SystemZ/SystemZGenAsmWriter.inc +11575 -0
  188. package/deps/capstone/arch/SystemZ/SystemZGenDisassemblerTables.inc +10262 -0
  189. package/deps/capstone/arch/SystemZ/SystemZGenInsnNameMaps.inc +2348 -0
  190. package/deps/capstone/arch/SystemZ/SystemZGenInstrInfo.inc +2820 -0
  191. package/deps/capstone/arch/SystemZ/SystemZGenRegisterInfo.inc +741 -0
  192. package/deps/capstone/arch/SystemZ/SystemZGenSubtargetInfo.inc +49 -0
  193. package/deps/capstone/arch/SystemZ/SystemZInstPrinter.c +433 -0
  194. package/deps/capstone/arch/SystemZ/SystemZInstPrinter.h +15 -0
  195. package/deps/capstone/arch/SystemZ/SystemZMCTargetDesc.c +195 -0
  196. package/deps/capstone/arch/SystemZ/SystemZMCTargetDesc.h +51 -0
  197. package/deps/capstone/arch/SystemZ/SystemZMapping.c +479 -0
  198. package/deps/capstone/arch/SystemZ/SystemZMapping.h +23 -0
  199. package/deps/capstone/arch/SystemZ/SystemZMappingInsn.inc +14175 -0
  200. package/deps/capstone/arch/SystemZ/SystemZModule.c +44 -0
  201. package/deps/capstone/arch/SystemZ/SystemZModule.h +12 -0
  202. package/deps/capstone/arch/TMS320C64x/TMS320C64xDisassembler.c +628 -0
  203. package/deps/capstone/arch/TMS320C64x/TMS320C64xDisassembler.h +19 -0
  204. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenAsmWriter.inc +684 -0
  205. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenDisassemblerTables.inc +1352 -0
  206. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenInstrInfo.inc +298 -0
  207. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenRegisterInfo.inc +277 -0
  208. package/deps/capstone/arch/TMS320C64x/TMS320C64xInstPrinter.c +572 -0
  209. package/deps/capstone/arch/TMS320C64x/TMS320C64xInstPrinter.h +15 -0
  210. package/deps/capstone/arch/TMS320C64x/TMS320C64xMapping.c +1926 -0
  211. package/deps/capstone/arch/TMS320C64x/TMS320C64xMapping.h +26 -0
  212. package/deps/capstone/arch/TMS320C64x/TMS320C64xModule.c +39 -0
  213. package/deps/capstone/arch/TMS320C64x/TMS320C64xModule.h +12 -0
  214. package/deps/capstone/arch/TriCore/TriCore.td +134 -0
  215. package/deps/capstone/arch/TriCore/TriCoreCallingConv.td +61 -0
  216. package/deps/capstone/arch/TriCore/TriCoreDisassembler.c +1655 -0
  217. package/deps/capstone/arch/TriCore/TriCoreDisassembler.h +18 -0
  218. package/deps/capstone/arch/TriCore/TriCoreGenAsmWriter.inc +3691 -0
  219. package/deps/capstone/arch/TriCore/TriCoreGenCSFeatureName.inc +22 -0
  220. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsn.inc +8938 -0
  221. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsnName.inc +404 -0
  222. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsnOp.inc +7994 -0
  223. package/deps/capstone/arch/TriCore/TriCoreGenCSOpGroup.inc +32 -0
  224. package/deps/capstone/arch/TriCore/TriCoreGenDisassemblerTables.inc +4044 -0
  225. package/deps/capstone/arch/TriCore/TriCoreGenInstrInfo.inc +2693 -0
  226. package/deps/capstone/arch/TriCore/TriCoreGenRegisterInfo.inc +295 -0
  227. package/deps/capstone/arch/TriCore/TriCoreGenSubtargetInfo.inc +40 -0
  228. package/deps/capstone/arch/TriCore/TriCoreInstPrinter.c +488 -0
  229. package/deps/capstone/arch/TriCore/TriCoreInstrFormats.td +773 -0
  230. package/deps/capstone/arch/TriCore/TriCoreInstrInfo.td +1873 -0
  231. package/deps/capstone/arch/TriCore/TriCoreLinkage.h +21 -0
  232. package/deps/capstone/arch/TriCore/TriCoreMapping.c +241 -0
  233. package/deps/capstone/arch/TriCore/TriCoreMapping.h +32 -0
  234. package/deps/capstone/arch/TriCore/TriCoreModule.c +44 -0
  235. package/deps/capstone/arch/TriCore/TriCoreModule.h +11 -0
  236. package/deps/capstone/arch/TriCore/TriCoreRegisterInfo.td +153 -0
  237. package/deps/capstone/arch/WASM/WASMDisassembler.c +1009 -0
  238. package/deps/capstone/arch/WASM/WASMDisassembler.h +12 -0
  239. package/deps/capstone/arch/WASM/WASMInstPrinter.c +47 -0
  240. package/deps/capstone/arch/WASM/WASMInstPrinter.h +18 -0
  241. package/deps/capstone/arch/WASM/WASMMapping.c +333 -0
  242. package/deps/capstone/arch/WASM/WASMMapping.h +9 -0
  243. package/deps/capstone/arch/WASM/WASMModule.c +33 -0
  244. package/deps/capstone/arch/WASM/WASMModule.h +12 -0
  245. package/deps/capstone/arch/X86/X86ATTInstPrinter.c +997 -0
  246. package/deps/capstone/arch/X86/X86BaseInfo.h +50 -0
  247. package/deps/capstone/arch/X86/X86Disassembler.c +1033 -0
  248. package/deps/capstone/arch/X86/X86Disassembler.h +28 -0
  249. package/deps/capstone/arch/X86/X86DisassemblerDecoder.c +2358 -0
  250. package/deps/capstone/arch/X86/X86DisassemblerDecoder.h +725 -0
  251. package/deps/capstone/arch/X86/X86DisassemblerDecoderCommon.h +483 -0
  252. package/deps/capstone/arch/X86/X86GenAsmWriter.inc +49199 -0
  253. package/deps/capstone/arch/X86/X86GenAsmWriter1.inc +33196 -0
  254. package/deps/capstone/arch/X86/X86GenAsmWriter1_reduce.inc +2531 -0
  255. package/deps/capstone/arch/X86/X86GenAsmWriter_reduce.inc +2855 -0
  256. package/deps/capstone/arch/X86/X86GenDisassemblerTables.inc +112961 -0
  257. package/deps/capstone/arch/X86/X86GenDisassemblerTables2.inc +102151 -0
  258. package/deps/capstone/arch/X86/X86GenDisassemblerTables_reduce.inc +28047 -0
  259. package/deps/capstone/arch/X86/X86GenDisassemblerTables_reduce2.inc +18827 -0
  260. package/deps/capstone/arch/X86/X86GenInstrInfo.inc +15158 -0
  261. package/deps/capstone/arch/X86/X86GenInstrInfo_reduce.inc +1564 -0
  262. package/deps/capstone/arch/X86/X86GenRegisterInfo.inc +1549 -0
  263. package/deps/capstone/arch/X86/X86GenRegisterName.inc +292 -0
  264. package/deps/capstone/arch/X86/X86GenRegisterName1.inc +291 -0
  265. package/deps/capstone/arch/X86/X86ImmSize.inc +335 -0
  266. package/deps/capstone/arch/X86/X86InstPrinter.h +26 -0
  267. package/deps/capstone/arch/X86/X86InstPrinterCommon.c +116 -0
  268. package/deps/capstone/arch/X86/X86InstPrinterCommon.h +16 -0
  269. package/deps/capstone/arch/X86/X86IntelInstPrinter.c +1061 -0
  270. package/deps/capstone/arch/X86/X86Lookup16.inc +16874 -0
  271. package/deps/capstone/arch/X86/X86Lookup16_reduce.inc +2308 -0
  272. package/deps/capstone/arch/X86/X86Mapping.c +2266 -0
  273. package/deps/capstone/arch/X86/X86Mapping.h +96 -0
  274. package/deps/capstone/arch/X86/X86MappingInsn.inc +105977 -0
  275. package/deps/capstone/arch/X86/X86MappingInsnName.inc +1527 -0
  276. package/deps/capstone/arch/X86/X86MappingInsnName_reduce.inc +348 -0
  277. package/deps/capstone/arch/X86/X86MappingInsnOp.inc +75700 -0
  278. package/deps/capstone/arch/X86/X86MappingInsnOp_reduce.inc +7729 -0
  279. package/deps/capstone/arch/X86/X86MappingInsn_reduce.inc +10819 -0
  280. package/deps/capstone/arch/X86/X86MappingReg.inc +280 -0
  281. package/deps/capstone/arch/X86/X86Module.c +94 -0
  282. package/deps/capstone/arch/X86/X86Module.h +12 -0
  283. package/deps/capstone/arch/XCore/XCoreDisassembler.c +794 -0
  284. package/deps/capstone/arch/XCore/XCoreDisassembler.h +17 -0
  285. package/deps/capstone/arch/XCore/XCoreGenAsmWriter.inc +772 -0
  286. package/deps/capstone/arch/XCore/XCoreGenDisassemblerTables.inc +853 -0
  287. package/deps/capstone/arch/XCore/XCoreGenInstrInfo.inc +267 -0
  288. package/deps/capstone/arch/XCore/XCoreGenRegisterInfo.inc +110 -0
  289. package/deps/capstone/arch/XCore/XCoreInstPrinter.c +250 -0
  290. package/deps/capstone/arch/XCore/XCoreInstPrinter.h +18 -0
  291. package/deps/capstone/arch/XCore/XCoreMapping.c +297 -0
  292. package/deps/capstone/arch/XCore/XCoreMapping.h +26 -0
  293. package/deps/capstone/arch/XCore/XCoreMappingInsn.inc +1287 -0
  294. package/deps/capstone/arch/XCore/XCoreModule.c +41 -0
  295. package/deps/capstone/arch/XCore/XCoreModule.h +12 -0
  296. package/deps/capstone/cs.c +1664 -0
  297. package/deps/capstone/cs_priv.h +101 -0
  298. package/deps/capstone/cs_simple_types.h +886 -0
  299. package/deps/capstone/include/capstone/arm.h +991 -0
  300. package/deps/capstone/include/capstone/arm64.h +3159 -0
  301. package/deps/capstone/include/capstone/bpf.h +209 -0
  302. package/deps/capstone/include/capstone/capstone.h +875 -0
  303. package/deps/capstone/include/capstone/evm.h +188 -0
  304. package/deps/capstone/include/capstone/m680x.h +537 -0
  305. package/deps/capstone/include/capstone/m68k.h +613 -0
  306. package/deps/capstone/include/capstone/mips.h +956 -0
  307. package/deps/capstone/include/capstone/mos65xx.h +204 -0
  308. package/deps/capstone/include/capstone/platform.h +122 -0
  309. package/deps/capstone/include/capstone/ppc.h +2108 -0
  310. package/deps/capstone/include/capstone/riscv.h +531 -0
  311. package/deps/capstone/include/capstone/sh.h +465 -0
  312. package/deps/capstone/include/capstone/sparc.h +520 -0
  313. package/deps/capstone/include/capstone/systemz.h +2601 -0
  314. package/deps/capstone/include/capstone/tms320c64x.h +359 -0
  315. package/deps/capstone/include/capstone/tricore.h +567 -0
  316. package/deps/capstone/include/capstone/wasm.h +250 -0
  317. package/deps/capstone/include/capstone/x86.h +1986 -0
  318. package/deps/capstone/include/capstone/xcore.h +235 -0
  319. package/deps/capstone/include/platform.h +110 -0
  320. package/deps/capstone/include/windowsce/intrin.h +12 -0
  321. package/deps/capstone/include/windowsce/stdint.h +133 -0
  322. package/deps/capstone/utils.c +140 -0
  323. package/deps/capstone/utils.h +54 -0
  324. package/index.d.ts +448 -0
  325. package/index.js +64 -0
  326. package/index.mjs +25 -0
  327. package/package.json +82 -0
  328. package/prebuilds/win32-x64/hexcore-capstone.node +0 -0
  329. package/src/capstone_wrapper.cpp +910 -0
  330. package/src/capstone_wrapper.h +147 -0
  331. package/src/disasm_async_worker.h +215 -0
  332. package/src/main.cpp +145 -0
@@ -0,0 +1,3159 @@
1
+ #ifndef CAPSTONE_ARM64_H
2
+ #define CAPSTONE_ARM64_H
3
+
4
+ /* Capstone Disassembly Engine */
5
+ /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
6
+
7
+ #ifdef __cplusplus
8
+ extern "C" {
9
+ #endif
10
+
11
+ #include "platform.h"
12
+
13
+ #ifdef _MSC_VER
14
+ #pragma warning(disable : 4201)
15
+ #endif
16
+
17
+ /// ARM64 shift type
18
+ typedef enum arm64_shifter {
19
+ ARM64_SFT_INVALID = 0,
20
+ ARM64_SFT_LSL = 1,
21
+ ARM64_SFT_MSL = 2,
22
+ ARM64_SFT_LSR = 3,
23
+ ARM64_SFT_ASR = 4,
24
+ ARM64_SFT_ROR = 5,
25
+ } arm64_shifter;
26
+
27
+ /// ARM64 extender type
28
+ typedef enum arm64_extender {
29
+ ARM64_EXT_INVALID = 0,
30
+ ARM64_EXT_UXTB = 1,
31
+ ARM64_EXT_UXTH = 2,
32
+ ARM64_EXT_UXTW = 3,
33
+ ARM64_EXT_UXTX = 4,
34
+ ARM64_EXT_SXTB = 5,
35
+ ARM64_EXT_SXTH = 6,
36
+ ARM64_EXT_SXTW = 7,
37
+ ARM64_EXT_SXTX = 8,
38
+ } arm64_extender;
39
+
40
+ /// ARM64 condition code
41
+ typedef enum arm64_cc {
42
+ ARM64_CC_INVALID = 0,
43
+ ARM64_CC_EQ = 1, ///< Equal
44
+ ARM64_CC_NE = 2, ///< Not equal: Not equal, or unordered
45
+ ARM64_CC_HS = 3, ///< Unsigned higher or same: >, ==, or unordered
46
+ ARM64_CC_LO = 4, ///< Unsigned lower or same: Less than
47
+ ARM64_CC_MI = 5, ///< Minus, negative: Less than
48
+ ARM64_CC_PL = 6, ///< Plus, positive or zero: >, ==, or unordered
49
+ ARM64_CC_VS = 7, ///< Overflow: Unordered
50
+ ARM64_CC_VC = 8, ///< No overflow: Ordered
51
+ ARM64_CC_HI = 9, ///< Unsigned higher: Greater than, or unordered
52
+ ARM64_CC_LS = 10, ///< Unsigned lower or same: Less than or equal
53
+ ARM64_CC_GE = 11, ///< Greater than or equal: Greater than or equal
54
+ ARM64_CC_LT = 12, ///< Less than: Less than, or unordered
55
+ ARM64_CC_GT = 13, ///< Signed greater than: Greater than
56
+ ARM64_CC_LE = 14, ///< Signed less than or equal: <, ==, or unordered
57
+ ARM64_CC_AL = 15, ///< Always (unconditional): Always (unconditional)
58
+ ARM64_CC_NV = 16, ///< Always (unconditional): Always (unconditional)
59
+ //< Note the NV exists purely to disassemble 0b1111. Execution is "always".
60
+ } arm64_cc;
61
+
62
+ /// System registers
63
+ typedef enum arm64_sysreg {
64
+ // System registers for MRS
65
+ ARM64_SYSREG_INVALID = 0,
66
+
67
+ ARM64_SYSREG_ACCDATA_EL1 = 0xC685,
68
+ ARM64_SYSREG_ACTLR_EL1 = 0xC081,
69
+ ARM64_SYSREG_ACTLR_EL2 = 0xE081,
70
+ ARM64_SYSREG_ACTLR_EL3 = 0xF081,
71
+ ARM64_SYSREG_AFSR0_EL1 = 0xC288,
72
+ ARM64_SYSREG_AFSR0_EL12 = 0xEA88,
73
+ ARM64_SYSREG_AFSR0_EL2 = 0xE288,
74
+ ARM64_SYSREG_AFSR0_EL3 = 0xF288,
75
+ ARM64_SYSREG_AFSR1_EL1 = 0xC289,
76
+ ARM64_SYSREG_AFSR1_EL12 = 0xEA89,
77
+ ARM64_SYSREG_AFSR1_EL2 = 0xE289,
78
+ ARM64_SYSREG_AFSR1_EL3 = 0xF289,
79
+ ARM64_SYSREG_AIDR_EL1 = 0xC807,
80
+ ARM64_SYSREG_AMAIR_EL1 = 0xC518,
81
+ ARM64_SYSREG_AMAIR_EL12 = 0xED18,
82
+ ARM64_SYSREG_AMAIR_EL2 = 0xE518,
83
+ ARM64_SYSREG_AMAIR_EL3 = 0xF518,
84
+ ARM64_SYSREG_AMCFGR_EL0 = 0xDE91,
85
+ ARM64_SYSREG_AMCGCR_EL0 = 0xDE92,
86
+ ARM64_SYSREG_AMCNTENCLR0_EL0 = 0xDE94,
87
+ ARM64_SYSREG_AMCNTENCLR1_EL0 = 0xDE98,
88
+ ARM64_SYSREG_AMCNTENSET0_EL0 = 0xDE95,
89
+ ARM64_SYSREG_AMCNTENSET1_EL0 = 0xDE99,
90
+ ARM64_SYSREG_AMCR_EL0 = 0xDE90,
91
+ ARM64_SYSREG_AMEVCNTR00_EL0 = 0xDEA0,
92
+ ARM64_SYSREG_AMEVCNTR01_EL0 = 0xDEA1,
93
+ ARM64_SYSREG_AMEVCNTR02_EL0 = 0xDEA2,
94
+ ARM64_SYSREG_AMEVCNTR03_EL0 = 0xDEA3,
95
+ ARM64_SYSREG_AMEVCNTR10_EL0 = 0xDEE0,
96
+ ARM64_SYSREG_AMEVCNTR110_EL0 = 0xDEEA,
97
+ ARM64_SYSREG_AMEVCNTR111_EL0 = 0xDEEB,
98
+ ARM64_SYSREG_AMEVCNTR112_EL0 = 0xDEEC,
99
+ ARM64_SYSREG_AMEVCNTR113_EL0 = 0xDEED,
100
+ ARM64_SYSREG_AMEVCNTR114_EL0 = 0xDEEE,
101
+ ARM64_SYSREG_AMEVCNTR115_EL0 = 0xDEEF,
102
+ ARM64_SYSREG_AMEVCNTR11_EL0 = 0xDEE1,
103
+ ARM64_SYSREG_AMEVCNTR12_EL0 = 0xDEE2,
104
+ ARM64_SYSREG_AMEVCNTR13_EL0 = 0xDEE3,
105
+ ARM64_SYSREG_AMEVCNTR14_EL0 = 0xDEE4,
106
+ ARM64_SYSREG_AMEVCNTR15_EL0 = 0xDEE5,
107
+ ARM64_SYSREG_AMEVCNTR16_EL0 = 0xDEE6,
108
+ ARM64_SYSREG_AMEVCNTR17_EL0 = 0xDEE7,
109
+ ARM64_SYSREG_AMEVCNTR18_EL0 = 0xDEE8,
110
+ ARM64_SYSREG_AMEVCNTR19_EL0 = 0xDEE9,
111
+ ARM64_SYSREG_AMEVCNTVOFF00_EL2 = 0xE6C0,
112
+ ARM64_SYSREG_AMEVCNTVOFF010_EL2 = 0xE6CA,
113
+ ARM64_SYSREG_AMEVCNTVOFF011_EL2 = 0xE6CB,
114
+ ARM64_SYSREG_AMEVCNTVOFF012_EL2 = 0xE6CC,
115
+ ARM64_SYSREG_AMEVCNTVOFF013_EL2 = 0xE6CD,
116
+ ARM64_SYSREG_AMEVCNTVOFF014_EL2 = 0xE6CE,
117
+ ARM64_SYSREG_AMEVCNTVOFF015_EL2 = 0xE6CF,
118
+ ARM64_SYSREG_AMEVCNTVOFF01_EL2 = 0xE6C1,
119
+ ARM64_SYSREG_AMEVCNTVOFF02_EL2 = 0xE6C2,
120
+ ARM64_SYSREG_AMEVCNTVOFF03_EL2 = 0xE6C3,
121
+ ARM64_SYSREG_AMEVCNTVOFF04_EL2 = 0xE6C4,
122
+ ARM64_SYSREG_AMEVCNTVOFF05_EL2 = 0xE6C5,
123
+ ARM64_SYSREG_AMEVCNTVOFF06_EL2 = 0xE6C6,
124
+ ARM64_SYSREG_AMEVCNTVOFF07_EL2 = 0xE6C7,
125
+ ARM64_SYSREG_AMEVCNTVOFF08_EL2 = 0xE6C8,
126
+ ARM64_SYSREG_AMEVCNTVOFF09_EL2 = 0xE6C9,
127
+ ARM64_SYSREG_AMEVCNTVOFF10_EL2 = 0xE6D0,
128
+ ARM64_SYSREG_AMEVCNTVOFF110_EL2 = 0xE6DA,
129
+ ARM64_SYSREG_AMEVCNTVOFF111_EL2 = 0xE6DB,
130
+ ARM64_SYSREG_AMEVCNTVOFF112_EL2 = 0xE6DC,
131
+ ARM64_SYSREG_AMEVCNTVOFF113_EL2 = 0xE6DD,
132
+ ARM64_SYSREG_AMEVCNTVOFF114_EL2 = 0xE6DE,
133
+ ARM64_SYSREG_AMEVCNTVOFF115_EL2 = 0xE6DF,
134
+ ARM64_SYSREG_AMEVCNTVOFF11_EL2 = 0xE6D1,
135
+ ARM64_SYSREG_AMEVCNTVOFF12_EL2 = 0xE6D2,
136
+ ARM64_SYSREG_AMEVCNTVOFF13_EL2 = 0xE6D3,
137
+ ARM64_SYSREG_AMEVCNTVOFF14_EL2 = 0xE6D4,
138
+ ARM64_SYSREG_AMEVCNTVOFF15_EL2 = 0xE6D5,
139
+ ARM64_SYSREG_AMEVCNTVOFF16_EL2 = 0xE6D6,
140
+ ARM64_SYSREG_AMEVCNTVOFF17_EL2 = 0xE6D7,
141
+ ARM64_SYSREG_AMEVCNTVOFF18_EL2 = 0xE6D8,
142
+ ARM64_SYSREG_AMEVCNTVOFF19_EL2 = 0xE6D9,
143
+ ARM64_SYSREG_AMEVTYPER00_EL0 = 0xDEB0,
144
+ ARM64_SYSREG_AMEVTYPER01_EL0 = 0xDEB1,
145
+ ARM64_SYSREG_AMEVTYPER02_EL0 = 0xDEB2,
146
+ ARM64_SYSREG_AMEVTYPER03_EL0 = 0xDEB3,
147
+ ARM64_SYSREG_AMEVTYPER10_EL0 = 0xDEF0,
148
+ ARM64_SYSREG_AMEVTYPER110_EL0 = 0xDEFA,
149
+ ARM64_SYSREG_AMEVTYPER111_EL0 = 0xDEFB,
150
+ ARM64_SYSREG_AMEVTYPER112_EL0 = 0xDEFC,
151
+ ARM64_SYSREG_AMEVTYPER113_EL0 = 0xDEFD,
152
+ ARM64_SYSREG_AMEVTYPER114_EL0 = 0xDEFE,
153
+ ARM64_SYSREG_AMEVTYPER115_EL0 = 0xDEFF,
154
+ ARM64_SYSREG_AMEVTYPER11_EL0 = 0xDEF1,
155
+ ARM64_SYSREG_AMEVTYPER12_EL0 = 0xDEF2,
156
+ ARM64_SYSREG_AMEVTYPER13_EL0 = 0xDEF3,
157
+ ARM64_SYSREG_AMEVTYPER14_EL0 = 0xDEF4,
158
+ ARM64_SYSREG_AMEVTYPER15_EL0 = 0xDEF5,
159
+ ARM64_SYSREG_AMEVTYPER16_EL0 = 0xDEF6,
160
+ ARM64_SYSREG_AMEVTYPER17_EL0 = 0xDEF7,
161
+ ARM64_SYSREG_AMEVTYPER18_EL0 = 0xDEF8,
162
+ ARM64_SYSREG_AMEVTYPER19_EL0 = 0xDEF9,
163
+ ARM64_SYSREG_AMUSERENR_EL0 = 0xDE93,
164
+ ARM64_SYSREG_APDAKEYHI_EL1 = 0xC111,
165
+ ARM64_SYSREG_APDAKEYLO_EL1 = 0xC110,
166
+ ARM64_SYSREG_APDBKEYHI_EL1 = 0xC113,
167
+ ARM64_SYSREG_APDBKEYLO_EL1 = 0xC112,
168
+ ARM64_SYSREG_APGAKEYHI_EL1 = 0xC119,
169
+ ARM64_SYSREG_APGAKEYLO_EL1 = 0xC118,
170
+ ARM64_SYSREG_APIAKEYHI_EL1 = 0xC109,
171
+ ARM64_SYSREG_APIAKEYLO_EL1 = 0xC108,
172
+ ARM64_SYSREG_APIBKEYHI_EL1 = 0xC10B,
173
+ ARM64_SYSREG_APIBKEYLO_EL1 = 0xC10A,
174
+ ARM64_SYSREG_BRBCR_EL1 = 0x8C80,
175
+ ARM64_SYSREG_BRBCR_EL12 = 0xAC80,
176
+ ARM64_SYSREG_BRBCR_EL2 = 0xA480,
177
+ ARM64_SYSREG_BRBFCR_EL1 = 0x8C81,
178
+ ARM64_SYSREG_BRBIDR0_EL1 = 0x8C90,
179
+ ARM64_SYSREG_BRBINF0_EL1 = 0x8C00,
180
+ ARM64_SYSREG_BRBINF10_EL1 = 0x8C50,
181
+ ARM64_SYSREG_BRBINF11_EL1 = 0x8C58,
182
+ ARM64_SYSREG_BRBINF12_EL1 = 0x8C60,
183
+ ARM64_SYSREG_BRBINF13_EL1 = 0x8C68,
184
+ ARM64_SYSREG_BRBINF14_EL1 = 0x8C70,
185
+ ARM64_SYSREG_BRBINF15_EL1 = 0x8C78,
186
+ ARM64_SYSREG_BRBINF16_EL1 = 0x8C04,
187
+ ARM64_SYSREG_BRBINF17_EL1 = 0x8C0C,
188
+ ARM64_SYSREG_BRBINF18_EL1 = 0x8C14,
189
+ ARM64_SYSREG_BRBINF19_EL1 = 0x8C1C,
190
+ ARM64_SYSREG_BRBINF1_EL1 = 0x8C08,
191
+ ARM64_SYSREG_BRBINF20_EL1 = 0x8C24,
192
+ ARM64_SYSREG_BRBINF21_EL1 = 0x8C2C,
193
+ ARM64_SYSREG_BRBINF22_EL1 = 0x8C34,
194
+ ARM64_SYSREG_BRBINF23_EL1 = 0x8C3C,
195
+ ARM64_SYSREG_BRBINF24_EL1 = 0x8C44,
196
+ ARM64_SYSREG_BRBINF25_EL1 = 0x8C4C,
197
+ ARM64_SYSREG_BRBINF26_EL1 = 0x8C54,
198
+ ARM64_SYSREG_BRBINF27_EL1 = 0x8C5C,
199
+ ARM64_SYSREG_BRBINF28_EL1 = 0x8C64,
200
+ ARM64_SYSREG_BRBINF29_EL1 = 0x8C6C,
201
+ ARM64_SYSREG_BRBINF2_EL1 = 0x8C10,
202
+ ARM64_SYSREG_BRBINF30_EL1 = 0x8C74,
203
+ ARM64_SYSREG_BRBINF31_EL1 = 0x8C7C,
204
+ ARM64_SYSREG_BRBINF3_EL1 = 0x8C18,
205
+ ARM64_SYSREG_BRBINF4_EL1 = 0x8C20,
206
+ ARM64_SYSREG_BRBINF5_EL1 = 0x8C28,
207
+ ARM64_SYSREG_BRBINF6_EL1 = 0x8C30,
208
+ ARM64_SYSREG_BRBINF7_EL1 = 0x8C38,
209
+ ARM64_SYSREG_BRBINF8_EL1 = 0x8C40,
210
+ ARM64_SYSREG_BRBINF9_EL1 = 0x8C48,
211
+ ARM64_SYSREG_BRBINFINJ_EL1 = 0x8C88,
212
+ ARM64_SYSREG_BRBSRC0_EL1 = 0x8C01,
213
+ ARM64_SYSREG_BRBSRC10_EL1 = 0x8C51,
214
+ ARM64_SYSREG_BRBSRC11_EL1 = 0x8C59,
215
+ ARM64_SYSREG_BRBSRC12_EL1 = 0x8C61,
216
+ ARM64_SYSREG_BRBSRC13_EL1 = 0x8C69,
217
+ ARM64_SYSREG_BRBSRC14_EL1 = 0x8C71,
218
+ ARM64_SYSREG_BRBSRC15_EL1 = 0x8C79,
219
+ ARM64_SYSREG_BRBSRC16_EL1 = 0x8C05,
220
+ ARM64_SYSREG_BRBSRC17_EL1 = 0x8C0D,
221
+ ARM64_SYSREG_BRBSRC18_EL1 = 0x8C15,
222
+ ARM64_SYSREG_BRBSRC19_EL1 = 0x8C1D,
223
+ ARM64_SYSREG_BRBSRC1_EL1 = 0x8C09,
224
+ ARM64_SYSREG_BRBSRC20_EL1 = 0x8C25,
225
+ ARM64_SYSREG_BRBSRC21_EL1 = 0x8C2D,
226
+ ARM64_SYSREG_BRBSRC22_EL1 = 0x8C35,
227
+ ARM64_SYSREG_BRBSRC23_EL1 = 0x8C3D,
228
+ ARM64_SYSREG_BRBSRC24_EL1 = 0x8C45,
229
+ ARM64_SYSREG_BRBSRC25_EL1 = 0x8C4D,
230
+ ARM64_SYSREG_BRBSRC26_EL1 = 0x8C55,
231
+ ARM64_SYSREG_BRBSRC27_EL1 = 0x8C5D,
232
+ ARM64_SYSREG_BRBSRC28_EL1 = 0x8C65,
233
+ ARM64_SYSREG_BRBSRC29_EL1 = 0x8C6D,
234
+ ARM64_SYSREG_BRBSRC2_EL1 = 0x8C11,
235
+ ARM64_SYSREG_BRBSRC30_EL1 = 0x8C75,
236
+ ARM64_SYSREG_BRBSRC31_EL1 = 0x8C7D,
237
+ ARM64_SYSREG_BRBSRC3_EL1 = 0x8C19,
238
+ ARM64_SYSREG_BRBSRC4_EL1 = 0x8C21,
239
+ ARM64_SYSREG_BRBSRC5_EL1 = 0x8C29,
240
+ ARM64_SYSREG_BRBSRC6_EL1 = 0x8C31,
241
+ ARM64_SYSREG_BRBSRC7_EL1 = 0x8C39,
242
+ ARM64_SYSREG_BRBSRC8_EL1 = 0x8C41,
243
+ ARM64_SYSREG_BRBSRC9_EL1 = 0x8C49,
244
+ ARM64_SYSREG_BRBSRCINJ_EL1 = 0x8C89,
245
+ ARM64_SYSREG_BRBTGT0_EL1 = 0x8C02,
246
+ ARM64_SYSREG_BRBTGT10_EL1 = 0x8C52,
247
+ ARM64_SYSREG_BRBTGT11_EL1 = 0x8C5A,
248
+ ARM64_SYSREG_BRBTGT12_EL1 = 0x8C62,
249
+ ARM64_SYSREG_BRBTGT13_EL1 = 0x8C6A,
250
+ ARM64_SYSREG_BRBTGT14_EL1 = 0x8C72,
251
+ ARM64_SYSREG_BRBTGT15_EL1 = 0x8C7A,
252
+ ARM64_SYSREG_BRBTGT16_EL1 = 0x8C06,
253
+ ARM64_SYSREG_BRBTGT17_EL1 = 0x8C0E,
254
+ ARM64_SYSREG_BRBTGT18_EL1 = 0x8C16,
255
+ ARM64_SYSREG_BRBTGT19_EL1 = 0x8C1E,
256
+ ARM64_SYSREG_BRBTGT1_EL1 = 0x8C0A,
257
+ ARM64_SYSREG_BRBTGT20_EL1 = 0x8C26,
258
+ ARM64_SYSREG_BRBTGT21_EL1 = 0x8C2E,
259
+ ARM64_SYSREG_BRBTGT22_EL1 = 0x8C36,
260
+ ARM64_SYSREG_BRBTGT23_EL1 = 0x8C3E,
261
+ ARM64_SYSREG_BRBTGT24_EL1 = 0x8C46,
262
+ ARM64_SYSREG_BRBTGT25_EL1 = 0x8C4E,
263
+ ARM64_SYSREG_BRBTGT26_EL1 = 0x8C56,
264
+ ARM64_SYSREG_BRBTGT27_EL1 = 0x8C5E,
265
+ ARM64_SYSREG_BRBTGT28_EL1 = 0x8C66,
266
+ ARM64_SYSREG_BRBTGT29_EL1 = 0x8C6E,
267
+ ARM64_SYSREG_BRBTGT2_EL1 = 0x8C12,
268
+ ARM64_SYSREG_BRBTGT30_EL1 = 0x8C76,
269
+ ARM64_SYSREG_BRBTGT31_EL1 = 0x8C7E,
270
+ ARM64_SYSREG_BRBTGT3_EL1 = 0x8C1A,
271
+ ARM64_SYSREG_BRBTGT4_EL1 = 0x8C22,
272
+ ARM64_SYSREG_BRBTGT5_EL1 = 0x8C2A,
273
+ ARM64_SYSREG_BRBTGT6_EL1 = 0x8C32,
274
+ ARM64_SYSREG_BRBTGT7_EL1 = 0x8C3A,
275
+ ARM64_SYSREG_BRBTGT8_EL1 = 0x8C42,
276
+ ARM64_SYSREG_BRBTGT9_EL1 = 0x8C4A,
277
+ ARM64_SYSREG_BRBTGTINJ_EL1 = 0x8C8A,
278
+ ARM64_SYSREG_BRBTS_EL1 = 0x8C82,
279
+ ARM64_SYSREG_CCSIDR2_EL1 = 0xC802,
280
+ ARM64_SYSREG_CCSIDR_EL1 = 0xC800,
281
+ ARM64_SYSREG_CLIDR_EL1 = 0xC801,
282
+ ARM64_SYSREG_CNTFRQ_EL0 = 0xDF00,
283
+ ARM64_SYSREG_CNTHCTL_EL2 = 0xE708,
284
+ ARM64_SYSREG_CNTHPS_CTL_EL2 = 0xE729,
285
+ ARM64_SYSREG_CNTHPS_CVAL_EL2 = 0xE72A,
286
+ ARM64_SYSREG_CNTHPS_TVAL_EL2 = 0xE728,
287
+ ARM64_SYSREG_CNTHP_CTL_EL2 = 0xE711,
288
+ ARM64_SYSREG_CNTHP_CVAL_EL2 = 0xE712,
289
+ ARM64_SYSREG_CNTHP_TVAL_EL2 = 0xE710,
290
+ ARM64_SYSREG_CNTHVS_CTL_EL2 = 0xE721,
291
+ ARM64_SYSREG_CNTHVS_CVAL_EL2 = 0xE722,
292
+ ARM64_SYSREG_CNTHVS_TVAL_EL2 = 0xE720,
293
+ ARM64_SYSREG_CNTHV_CTL_EL2 = 0xE719,
294
+ ARM64_SYSREG_CNTHV_CVAL_EL2 = 0xE71A,
295
+ ARM64_SYSREG_CNTHV_TVAL_EL2 = 0xE718,
296
+ ARM64_SYSREG_CNTISCALE_EL2 = 0xE705,
297
+ ARM64_SYSREG_CNTKCTL_EL1 = 0xC708,
298
+ ARM64_SYSREG_CNTKCTL_EL12 = 0xEF08,
299
+ ARM64_SYSREG_CNTPCTSS_EL0 = 0xDF05,
300
+ ARM64_SYSREG_CNTPCT_EL0 = 0xDF01,
301
+ ARM64_SYSREG_CNTPOFF_EL2 = 0xE706,
302
+ ARM64_SYSREG_CNTPS_CTL_EL1 = 0xFF11,
303
+ ARM64_SYSREG_CNTPS_CVAL_EL1 = 0xFF12,
304
+ ARM64_SYSREG_CNTPS_TVAL_EL1 = 0xFF10,
305
+ ARM64_SYSREG_CNTP_CTL_EL0 = 0xDF11,
306
+ ARM64_SYSREG_CNTP_CTL_EL02 = 0xEF11,
307
+ ARM64_SYSREG_CNTP_CVAL_EL0 = 0xDF12,
308
+ ARM64_SYSREG_CNTP_CVAL_EL02 = 0xEF12,
309
+ ARM64_SYSREG_CNTP_TVAL_EL0 = 0xDF10,
310
+ ARM64_SYSREG_CNTP_TVAL_EL02 = 0xEF10,
311
+ ARM64_SYSREG_CNTSCALE_EL2 = 0xE704,
312
+ ARM64_SYSREG_CNTVCTSS_EL0 = 0xDF06,
313
+ ARM64_SYSREG_CNTVCT_EL0 = 0xDF02,
314
+ ARM64_SYSREG_CNTVFRQ_EL2 = 0xE707,
315
+ ARM64_SYSREG_CNTVOFF_EL2 = 0xE703,
316
+ ARM64_SYSREG_CNTV_CTL_EL0 = 0xDF19,
317
+ ARM64_SYSREG_CNTV_CTL_EL02 = 0xEF19,
318
+ ARM64_SYSREG_CNTV_CVAL_EL0 = 0xDF1A,
319
+ ARM64_SYSREG_CNTV_CVAL_EL02 = 0xEF1A,
320
+ ARM64_SYSREG_CNTV_TVAL_EL0 = 0xDF18,
321
+ ARM64_SYSREG_CNTV_TVAL_EL02 = 0xEF18,
322
+ ARM64_SYSREG_CONTEXTIDR_EL1 = 0xC681,
323
+ ARM64_SYSREG_CONTEXTIDR_EL12 = 0xEE81,
324
+ ARM64_SYSREG_CONTEXTIDR_EL2 = 0xE681,
325
+ ARM64_SYSREG_CPACR_EL1 = 0xC082,
326
+ ARM64_SYSREG_CPACR_EL12 = 0xE882,
327
+ ARM64_SYSREG_CPM_IOACC_CTL_EL3 = 0xFF90,
328
+ ARM64_SYSREG_CPTR_EL2 = 0xE08A,
329
+ ARM64_SYSREG_CPTR_EL3 = 0xF08A,
330
+ ARM64_SYSREG_CSSELR_EL1 = 0xD000,
331
+ ARM64_SYSREG_CTR_EL0 = 0xD801,
332
+ ARM64_SYSREG_CURRENTEL = 0xC212,
333
+ ARM64_SYSREG_DACR32_EL2 = 0xE180,
334
+ ARM64_SYSREG_DAIF = 0xDA11,
335
+ ARM64_SYSREG_DBGAUTHSTATUS_EL1 = 0x83F6,
336
+ ARM64_SYSREG_DBGBCR0_EL1 = 0x8005,
337
+ ARM64_SYSREG_DBGBCR10_EL1 = 0x8055,
338
+ ARM64_SYSREG_DBGBCR11_EL1 = 0x805D,
339
+ ARM64_SYSREG_DBGBCR12_EL1 = 0x8065,
340
+ ARM64_SYSREG_DBGBCR13_EL1 = 0x806D,
341
+ ARM64_SYSREG_DBGBCR14_EL1 = 0x8075,
342
+ ARM64_SYSREG_DBGBCR15_EL1 = 0x807D,
343
+ ARM64_SYSREG_DBGBCR1_EL1 = 0x800D,
344
+ ARM64_SYSREG_DBGBCR2_EL1 = 0x8015,
345
+ ARM64_SYSREG_DBGBCR3_EL1 = 0x801D,
346
+ ARM64_SYSREG_DBGBCR4_EL1 = 0x8025,
347
+ ARM64_SYSREG_DBGBCR5_EL1 = 0x802D,
348
+ ARM64_SYSREG_DBGBCR6_EL1 = 0x8035,
349
+ ARM64_SYSREG_DBGBCR7_EL1 = 0x803D,
350
+ ARM64_SYSREG_DBGBCR8_EL1 = 0x8045,
351
+ ARM64_SYSREG_DBGBCR9_EL1 = 0x804D,
352
+ ARM64_SYSREG_DBGBVR0_EL1 = 0x8004,
353
+ ARM64_SYSREG_DBGBVR10_EL1 = 0x8054,
354
+ ARM64_SYSREG_DBGBVR11_EL1 = 0x805C,
355
+ ARM64_SYSREG_DBGBVR12_EL1 = 0x8064,
356
+ ARM64_SYSREG_DBGBVR13_EL1 = 0x806C,
357
+ ARM64_SYSREG_DBGBVR14_EL1 = 0x8074,
358
+ ARM64_SYSREG_DBGBVR15_EL1 = 0x807C,
359
+ ARM64_SYSREG_DBGBVR1_EL1 = 0x800C,
360
+ ARM64_SYSREG_DBGBVR2_EL1 = 0x8014,
361
+ ARM64_SYSREG_DBGBVR3_EL1 = 0x801C,
362
+ ARM64_SYSREG_DBGBVR4_EL1 = 0x8024,
363
+ ARM64_SYSREG_DBGBVR5_EL1 = 0x802C,
364
+ ARM64_SYSREG_DBGBVR6_EL1 = 0x8034,
365
+ ARM64_SYSREG_DBGBVR7_EL1 = 0x803C,
366
+ ARM64_SYSREG_DBGBVR8_EL1 = 0x8044,
367
+ ARM64_SYSREG_DBGBVR9_EL1 = 0x804C,
368
+ ARM64_SYSREG_DBGCLAIMCLR_EL1 = 0x83CE,
369
+ ARM64_SYSREG_DBGCLAIMSET_EL1 = 0x83C6,
370
+ ARM64_SYSREG_DBGDTRRX_EL0 = 0x9828,
371
+ ARM64_SYSREG_DBGDTRTX_EL0 = 0x9828,
372
+ ARM64_SYSREG_DBGDTR_EL0 = 0x9820,
373
+ ARM64_SYSREG_DBGPRCR_EL1 = 0x80A4,
374
+ ARM64_SYSREG_DBGVCR32_EL2 = 0xA038,
375
+ ARM64_SYSREG_DBGWCR0_EL1 = 0x8007,
376
+ ARM64_SYSREG_DBGWCR10_EL1 = 0x8057,
377
+ ARM64_SYSREG_DBGWCR11_EL1 = 0x805F,
378
+ ARM64_SYSREG_DBGWCR12_EL1 = 0x8067,
379
+ ARM64_SYSREG_DBGWCR13_EL1 = 0x806F,
380
+ ARM64_SYSREG_DBGWCR14_EL1 = 0x8077,
381
+ ARM64_SYSREG_DBGWCR15_EL1 = 0x807F,
382
+ ARM64_SYSREG_DBGWCR1_EL1 = 0x800F,
383
+ ARM64_SYSREG_DBGWCR2_EL1 = 0x8017,
384
+ ARM64_SYSREG_DBGWCR3_EL1 = 0x801F,
385
+ ARM64_SYSREG_DBGWCR4_EL1 = 0x8027,
386
+ ARM64_SYSREG_DBGWCR5_EL1 = 0x802F,
387
+ ARM64_SYSREG_DBGWCR6_EL1 = 0x8037,
388
+ ARM64_SYSREG_DBGWCR7_EL1 = 0x803F,
389
+ ARM64_SYSREG_DBGWCR8_EL1 = 0x8047,
390
+ ARM64_SYSREG_DBGWCR9_EL1 = 0x804F,
391
+ ARM64_SYSREG_DBGWVR0_EL1 = 0x8006,
392
+ ARM64_SYSREG_DBGWVR10_EL1 = 0x8056,
393
+ ARM64_SYSREG_DBGWVR11_EL1 = 0x805E,
394
+ ARM64_SYSREG_DBGWVR12_EL1 = 0x8066,
395
+ ARM64_SYSREG_DBGWVR13_EL1 = 0x806E,
396
+ ARM64_SYSREG_DBGWVR14_EL1 = 0x8076,
397
+ ARM64_SYSREG_DBGWVR15_EL1 = 0x807E,
398
+ ARM64_SYSREG_DBGWVR1_EL1 = 0x800E,
399
+ ARM64_SYSREG_DBGWVR2_EL1 = 0x8016,
400
+ ARM64_SYSREG_DBGWVR3_EL1 = 0x801E,
401
+ ARM64_SYSREG_DBGWVR4_EL1 = 0x8026,
402
+ ARM64_SYSREG_DBGWVR5_EL1 = 0x802E,
403
+ ARM64_SYSREG_DBGWVR6_EL1 = 0x8036,
404
+ ARM64_SYSREG_DBGWVR7_EL1 = 0x803E,
405
+ ARM64_SYSREG_DBGWVR8_EL1 = 0x8046,
406
+ ARM64_SYSREG_DBGWVR9_EL1 = 0x804E,
407
+ ARM64_SYSREG_DCZID_EL0 = 0xD807,
408
+ ARM64_SYSREG_DISR_EL1 = 0xC609,
409
+ ARM64_SYSREG_DIT = 0xDA15,
410
+ ARM64_SYSREG_DLR_EL0 = 0xDA29,
411
+ ARM64_SYSREG_DSPSR_EL0 = 0xDA28,
412
+ ARM64_SYSREG_ELR_EL1 = 0xC201,
413
+ ARM64_SYSREG_ELR_EL12 = 0xEA01,
414
+ ARM64_SYSREG_ELR_EL2 = 0xE201,
415
+ ARM64_SYSREG_ELR_EL3 = 0xF201,
416
+ ARM64_SYSREG_ERRIDR_EL1 = 0xC298,
417
+ ARM64_SYSREG_ERRSELR_EL1 = 0xC299,
418
+ ARM64_SYSREG_ERXADDR_EL1 = 0xC2A3,
419
+ ARM64_SYSREG_ERXCTLR_EL1 = 0xC2A1,
420
+ ARM64_SYSREG_ERXFR_EL1 = 0xC2A0,
421
+ ARM64_SYSREG_ERXMISC0_EL1 = 0xC2A8,
422
+ ARM64_SYSREG_ERXMISC1_EL1 = 0xC2A9,
423
+ ARM64_SYSREG_ERXMISC2_EL1 = 0xC2AA,
424
+ ARM64_SYSREG_ERXMISC3_EL1 = 0xC2AB,
425
+ ARM64_SYSREG_ERXPFGCDN_EL1 = 0xC2A6,
426
+ ARM64_SYSREG_ERXPFGCTL_EL1 = 0xC2A5,
427
+ ARM64_SYSREG_ERXPFGF_EL1 = 0xC2A4,
428
+ ARM64_SYSREG_ERXSTATUS_EL1 = 0xC2A2,
429
+ ARM64_SYSREG_ESR_EL1 = 0xC290,
430
+ ARM64_SYSREG_ESR_EL12 = 0xEA90,
431
+ ARM64_SYSREG_ESR_EL2 = 0xE290,
432
+ ARM64_SYSREG_ESR_EL3 = 0xF290,
433
+ ARM64_SYSREG_FAR_EL1 = 0xC300,
434
+ ARM64_SYSREG_FAR_EL12 = 0xEB00,
435
+ ARM64_SYSREG_FAR_EL2 = 0xE300,
436
+ ARM64_SYSREG_FAR_EL3 = 0xF300,
437
+ ARM64_SYSREG_FPCR = 0xDA20,
438
+ ARM64_SYSREG_FPEXC32_EL2 = 0xE298,
439
+ ARM64_SYSREG_FPSR = 0xDA21,
440
+ ARM64_SYSREG_GCR_EL1 = 0xC086,
441
+ ARM64_SYSREG_GMID_EL1 = 0xC804,
442
+ ARM64_SYSREG_GPCCR_EL3 = 0xF10E,
443
+ ARM64_SYSREG_GPTBR_EL3 = 0xF10C,
444
+ ARM64_SYSREG_HACR_EL2 = 0xE08F,
445
+ ARM64_SYSREG_HCRX_EL2 = 0xE092,
446
+ ARM64_SYSREG_HCR_EL2 = 0xE088,
447
+ ARM64_SYSREG_HDFGRTR_EL2 = 0xE18C,
448
+ ARM64_SYSREG_HDFGWTR_EL2 = 0xE18D,
449
+ ARM64_SYSREG_HFGITR_EL2 = 0xE08E,
450
+ ARM64_SYSREG_HFGRTR_EL2 = 0xE08C,
451
+ ARM64_SYSREG_HFGWTR_EL2 = 0xE08D,
452
+ ARM64_SYSREG_HPFAR_EL2 = 0xE304,
453
+ ARM64_SYSREG_HSTR_EL2 = 0xE08B,
454
+ ARM64_SYSREG_ICC_AP0R0_EL1 = 0xC644,
455
+ ARM64_SYSREG_ICC_AP0R1_EL1 = 0xC645,
456
+ ARM64_SYSREG_ICC_AP0R2_EL1 = 0xC646,
457
+ ARM64_SYSREG_ICC_AP0R3_EL1 = 0xC647,
458
+ ARM64_SYSREG_ICC_AP1R0_EL1 = 0xC648,
459
+ ARM64_SYSREG_ICC_AP1R1_EL1 = 0xC649,
460
+ ARM64_SYSREG_ICC_AP1R2_EL1 = 0xC64A,
461
+ ARM64_SYSREG_ICC_AP1R3_EL1 = 0xC64B,
462
+ ARM64_SYSREG_ICC_ASGI1R_EL1 = 0xC65E,
463
+ ARM64_SYSREG_ICC_BPR0_EL1 = 0xC643,
464
+ ARM64_SYSREG_ICC_BPR1_EL1 = 0xC663,
465
+ ARM64_SYSREG_ICC_CTLR_EL1 = 0xC664,
466
+ ARM64_SYSREG_ICC_CTLR_EL3 = 0xF664,
467
+ ARM64_SYSREG_ICC_DIR_EL1 = 0xC659,
468
+ ARM64_SYSREG_ICC_EOIR0_EL1 = 0xC641,
469
+ ARM64_SYSREG_ICC_EOIR1_EL1 = 0xC661,
470
+ ARM64_SYSREG_ICC_HPPIR0_EL1 = 0xC642,
471
+ ARM64_SYSREG_ICC_HPPIR1_EL1 = 0xC662,
472
+ ARM64_SYSREG_ICC_IAR0_EL1 = 0xC640,
473
+ ARM64_SYSREG_ICC_IAR1_EL1 = 0xC660,
474
+ ARM64_SYSREG_ICC_IGRPEN0_EL1 = 0xC666,
475
+ ARM64_SYSREG_ICC_IGRPEN1_EL1 = 0xC667,
476
+ ARM64_SYSREG_ICC_IGRPEN1_EL3 = 0xF667,
477
+ ARM64_SYSREG_ICC_PMR_EL1 = 0xC230,
478
+ ARM64_SYSREG_ICC_RPR_EL1 = 0xC65B,
479
+ ARM64_SYSREG_ICC_SGI0R_EL1 = 0xC65F,
480
+ ARM64_SYSREG_ICC_SGI1R_EL1 = 0xC65D,
481
+ ARM64_SYSREG_ICC_SRE_EL1 = 0xC665,
482
+ ARM64_SYSREG_ICC_SRE_EL2 = 0xE64D,
483
+ ARM64_SYSREG_ICC_SRE_EL3 = 0xF665,
484
+ ARM64_SYSREG_ICH_AP0R0_EL2 = 0xE640,
485
+ ARM64_SYSREG_ICH_AP0R1_EL2 = 0xE641,
486
+ ARM64_SYSREG_ICH_AP0R2_EL2 = 0xE642,
487
+ ARM64_SYSREG_ICH_AP0R3_EL2 = 0xE643,
488
+ ARM64_SYSREG_ICH_AP1R0_EL2 = 0xE648,
489
+ ARM64_SYSREG_ICH_AP1R1_EL2 = 0xE649,
490
+ ARM64_SYSREG_ICH_AP1R2_EL2 = 0xE64A,
491
+ ARM64_SYSREG_ICH_AP1R3_EL2 = 0xE64B,
492
+ ARM64_SYSREG_ICH_EISR_EL2 = 0xE65B,
493
+ ARM64_SYSREG_ICH_ELRSR_EL2 = 0xE65D,
494
+ ARM64_SYSREG_ICH_HCR_EL2 = 0xE658,
495
+ ARM64_SYSREG_ICH_LR0_EL2 = 0xE660,
496
+ ARM64_SYSREG_ICH_LR10_EL2 = 0xE66A,
497
+ ARM64_SYSREG_ICH_LR11_EL2 = 0xE66B,
498
+ ARM64_SYSREG_ICH_LR12_EL2 = 0xE66C,
499
+ ARM64_SYSREG_ICH_LR13_EL2 = 0xE66D,
500
+ ARM64_SYSREG_ICH_LR14_EL2 = 0xE66E,
501
+ ARM64_SYSREG_ICH_LR15_EL2 = 0xE66F,
502
+ ARM64_SYSREG_ICH_LR1_EL2 = 0xE661,
503
+ ARM64_SYSREG_ICH_LR2_EL2 = 0xE662,
504
+ ARM64_SYSREG_ICH_LR3_EL2 = 0xE663,
505
+ ARM64_SYSREG_ICH_LR4_EL2 = 0xE664,
506
+ ARM64_SYSREG_ICH_LR5_EL2 = 0xE665,
507
+ ARM64_SYSREG_ICH_LR6_EL2 = 0xE666,
508
+ ARM64_SYSREG_ICH_LR7_EL2 = 0xE667,
509
+ ARM64_SYSREG_ICH_LR8_EL2 = 0xE668,
510
+ ARM64_SYSREG_ICH_LR9_EL2 = 0xE669,
511
+ ARM64_SYSREG_ICH_MISR_EL2 = 0xE65A,
512
+ ARM64_SYSREG_ICH_VMCR_EL2 = 0xE65F,
513
+ ARM64_SYSREG_ICH_VTR_EL2 = 0xE659,
514
+ ARM64_SYSREG_ID_AA64AFR0_EL1 = 0xC02C,
515
+ ARM64_SYSREG_ID_AA64AFR1_EL1 = 0xC02D,
516
+ ARM64_SYSREG_ID_AA64DFR0_EL1 = 0xC028,
517
+ ARM64_SYSREG_ID_AA64DFR1_EL1 = 0xC029,
518
+ ARM64_SYSREG_ID_AA64ISAR0_EL1 = 0xC030,
519
+ ARM64_SYSREG_ID_AA64ISAR1_EL1 = 0xC031,
520
+ ARM64_SYSREG_ID_AA64ISAR2_EL1 = 0xC032,
521
+ ARM64_SYSREG_ID_AA64MMFR0_EL1 = 0xC038,
522
+ ARM64_SYSREG_ID_AA64MMFR1_EL1 = 0xC039,
523
+ ARM64_SYSREG_ID_AA64MMFR2_EL1 = 0xC03A,
524
+ ARM64_SYSREG_ID_AA64PFR0_EL1 = 0xC020,
525
+ ARM64_SYSREG_ID_AA64PFR1_EL1 = 0xC021,
526
+ ARM64_SYSREG_ID_AA64SMFR0_EL1 = 0xC025,
527
+ ARM64_SYSREG_ID_AA64ZFR0_EL1 = 0xC024,
528
+ ARM64_SYSREG_ID_AFR0_EL1 = 0xC00B,
529
+ ARM64_SYSREG_ID_DFR0_EL1 = 0xC00A,
530
+ ARM64_SYSREG_ID_ISAR0_EL1 = 0xC010,
531
+ ARM64_SYSREG_ID_ISAR1_EL1 = 0xC011,
532
+ ARM64_SYSREG_ID_ISAR2_EL1 = 0xC012,
533
+ ARM64_SYSREG_ID_ISAR3_EL1 = 0xC013,
534
+ ARM64_SYSREG_ID_ISAR4_EL1 = 0xC014,
535
+ ARM64_SYSREG_ID_ISAR5_EL1 = 0xC015,
536
+ ARM64_SYSREG_ID_ISAR6_EL1 = 0xC017,
537
+ ARM64_SYSREG_ID_MMFR0_EL1 = 0xC00C,
538
+ ARM64_SYSREG_ID_MMFR1_EL1 = 0xC00D,
539
+ ARM64_SYSREG_ID_MMFR2_EL1 = 0xC00E,
540
+ ARM64_SYSREG_ID_MMFR3_EL1 = 0xC00F,
541
+ ARM64_SYSREG_ID_MMFR4_EL1 = 0xC016,
542
+ ARM64_SYSREG_ID_MMFR5_EL1 = 0xC01E,
543
+ ARM64_SYSREG_ID_PFR0_EL1 = 0xC008,
544
+ ARM64_SYSREG_ID_PFR1_EL1 = 0xC009,
545
+ ARM64_SYSREG_ID_PFR2_EL1 = 0xC01C,
546
+ ARM64_SYSREG_IFSR32_EL2 = 0xE281,
547
+ ARM64_SYSREG_ISR_EL1 = 0xC608,
548
+ ARM64_SYSREG_LORC_EL1 = 0xC523,
549
+ ARM64_SYSREG_LOREA_EL1 = 0xC521,
550
+ ARM64_SYSREG_LORID_EL1 = 0xC527,
551
+ ARM64_SYSREG_LORN_EL1 = 0xC522,
552
+ ARM64_SYSREG_LORSA_EL1 = 0xC520,
553
+ ARM64_SYSREG_MAIR_EL1 = 0xC510,
554
+ ARM64_SYSREG_MAIR_EL12 = 0xED10,
555
+ ARM64_SYSREG_MAIR_EL2 = 0xE510,
556
+ ARM64_SYSREG_MAIR_EL3 = 0xF510,
557
+ ARM64_SYSREG_MDCCINT_EL1 = 0x8010,
558
+ ARM64_SYSREG_MDCCSR_EL0 = 0x9808,
559
+ ARM64_SYSREG_MDCR_EL2 = 0xE089,
560
+ ARM64_SYSREG_MDCR_EL3 = 0xF099,
561
+ ARM64_SYSREG_MDRAR_EL1 = 0x8080,
562
+ ARM64_SYSREG_MDSCR_EL1 = 0x8012,
563
+ ARM64_SYSREG_MFAR_EL3 = 0xF305,
564
+ ARM64_SYSREG_MIDR_EL1 = 0xC000,
565
+ ARM64_SYSREG_MPAM0_EL1 = 0xC529,
566
+ ARM64_SYSREG_MPAM1_EL1 = 0xC528,
567
+ ARM64_SYSREG_MPAM1_EL12 = 0xED28,
568
+ ARM64_SYSREG_MPAM2_EL2 = 0xE528,
569
+ ARM64_SYSREG_MPAM3_EL3 = 0xF528,
570
+ ARM64_SYSREG_MPAMHCR_EL2 = 0xE520,
571
+ ARM64_SYSREG_MPAMIDR_EL1 = 0xC524,
572
+ ARM64_SYSREG_MPAMSM_EL1 = 0xC52B,
573
+ ARM64_SYSREG_MPAMVPM0_EL2 = 0xE530,
574
+ ARM64_SYSREG_MPAMVPM1_EL2 = 0xE531,
575
+ ARM64_SYSREG_MPAMVPM2_EL2 = 0xE532,
576
+ ARM64_SYSREG_MPAMVPM3_EL2 = 0xE533,
577
+ ARM64_SYSREG_MPAMVPM4_EL2 = 0xE534,
578
+ ARM64_SYSREG_MPAMVPM5_EL2 = 0xE535,
579
+ ARM64_SYSREG_MPAMVPM6_EL2 = 0xE536,
580
+ ARM64_SYSREG_MPAMVPM7_EL2 = 0xE537,
581
+ ARM64_SYSREG_MPAMVPMV_EL2 = 0xE521,
582
+ ARM64_SYSREG_MPIDR_EL1 = 0xC005,
583
+ ARM64_SYSREG_MPUIR_EL1 = 0xC004,
584
+ ARM64_SYSREG_MPUIR_EL2 = 0xE004,
585
+ ARM64_SYSREG_MVFR0_EL1 = 0xC018,
586
+ ARM64_SYSREG_MVFR1_EL1 = 0xC019,
587
+ ARM64_SYSREG_MVFR2_EL1 = 0xC01A,
588
+ ARM64_SYSREG_NZCV = 0xDA10,
589
+ ARM64_SYSREG_OSDLR_EL1 = 0x809C,
590
+ ARM64_SYSREG_OSDTRRX_EL1 = 0x8002,
591
+ ARM64_SYSREG_OSDTRTX_EL1 = 0x801A,
592
+ ARM64_SYSREG_OSECCR_EL1 = 0x8032,
593
+ ARM64_SYSREG_OSLAR_EL1 = 0x8084,
594
+ ARM64_SYSREG_OSLSR_EL1 = 0x808C,
595
+ ARM64_SYSREG_PAN = 0xC213,
596
+ ARM64_SYSREG_PAR_EL1 = 0xC3A0,
597
+ ARM64_SYSREG_PMBIDR_EL1 = 0xC4D7,
598
+ ARM64_SYSREG_PMBLIMITR_EL1 = 0xC4D0,
599
+ ARM64_SYSREG_PMBPTR_EL1 = 0xC4D1,
600
+ ARM64_SYSREG_PMBSR_EL1 = 0xC4D3,
601
+ ARM64_SYSREG_PMCCFILTR_EL0 = 0xDF7F,
602
+ ARM64_SYSREG_PMCCNTR_EL0 = 0xDCE8,
603
+ ARM64_SYSREG_PMCEID0_EL0 = 0xDCE6,
604
+ ARM64_SYSREG_PMCEID1_EL0 = 0xDCE7,
605
+ ARM64_SYSREG_PMCNTENCLR_EL0 = 0xDCE2,
606
+ ARM64_SYSREG_PMCNTENSET_EL0 = 0xDCE1,
607
+ ARM64_SYSREG_PMCR_EL0 = 0xDCE0,
608
+ ARM64_SYSREG_PMEVCNTR0_EL0 = 0xDF40,
609
+ ARM64_SYSREG_PMEVCNTR10_EL0 = 0xDF4A,
610
+ ARM64_SYSREG_PMEVCNTR11_EL0 = 0xDF4B,
611
+ ARM64_SYSREG_PMEVCNTR12_EL0 = 0xDF4C,
612
+ ARM64_SYSREG_PMEVCNTR13_EL0 = 0xDF4D,
613
+ ARM64_SYSREG_PMEVCNTR14_EL0 = 0xDF4E,
614
+ ARM64_SYSREG_PMEVCNTR15_EL0 = 0xDF4F,
615
+ ARM64_SYSREG_PMEVCNTR16_EL0 = 0xDF50,
616
+ ARM64_SYSREG_PMEVCNTR17_EL0 = 0xDF51,
617
+ ARM64_SYSREG_PMEVCNTR18_EL0 = 0xDF52,
618
+ ARM64_SYSREG_PMEVCNTR19_EL0 = 0xDF53,
619
+ ARM64_SYSREG_PMEVCNTR1_EL0 = 0xDF41,
620
+ ARM64_SYSREG_PMEVCNTR20_EL0 = 0xDF54,
621
+ ARM64_SYSREG_PMEVCNTR21_EL0 = 0xDF55,
622
+ ARM64_SYSREG_PMEVCNTR22_EL0 = 0xDF56,
623
+ ARM64_SYSREG_PMEVCNTR23_EL0 = 0xDF57,
624
+ ARM64_SYSREG_PMEVCNTR24_EL0 = 0xDF58,
625
+ ARM64_SYSREG_PMEVCNTR25_EL0 = 0xDF59,
626
+ ARM64_SYSREG_PMEVCNTR26_EL0 = 0xDF5A,
627
+ ARM64_SYSREG_PMEVCNTR27_EL0 = 0xDF5B,
628
+ ARM64_SYSREG_PMEVCNTR28_EL0 = 0xDF5C,
629
+ ARM64_SYSREG_PMEVCNTR29_EL0 = 0xDF5D,
630
+ ARM64_SYSREG_PMEVCNTR2_EL0 = 0xDF42,
631
+ ARM64_SYSREG_PMEVCNTR30_EL0 = 0xDF5E,
632
+ ARM64_SYSREG_PMEVCNTR3_EL0 = 0xDF43,
633
+ ARM64_SYSREG_PMEVCNTR4_EL0 = 0xDF44,
634
+ ARM64_SYSREG_PMEVCNTR5_EL0 = 0xDF45,
635
+ ARM64_SYSREG_PMEVCNTR6_EL0 = 0xDF46,
636
+ ARM64_SYSREG_PMEVCNTR7_EL0 = 0xDF47,
637
+ ARM64_SYSREG_PMEVCNTR8_EL0 = 0xDF48,
638
+ ARM64_SYSREG_PMEVCNTR9_EL0 = 0xDF49,
639
+ ARM64_SYSREG_PMEVTYPER0_EL0 = 0xDF60,
640
+ ARM64_SYSREG_PMEVTYPER10_EL0 = 0xDF6A,
641
+ ARM64_SYSREG_PMEVTYPER11_EL0 = 0xDF6B,
642
+ ARM64_SYSREG_PMEVTYPER12_EL0 = 0xDF6C,
643
+ ARM64_SYSREG_PMEVTYPER13_EL0 = 0xDF6D,
644
+ ARM64_SYSREG_PMEVTYPER14_EL0 = 0xDF6E,
645
+ ARM64_SYSREG_PMEVTYPER15_EL0 = 0xDF6F,
646
+ ARM64_SYSREG_PMEVTYPER16_EL0 = 0xDF70,
647
+ ARM64_SYSREG_PMEVTYPER17_EL0 = 0xDF71,
648
+ ARM64_SYSREG_PMEVTYPER18_EL0 = 0xDF72,
649
+ ARM64_SYSREG_PMEVTYPER19_EL0 = 0xDF73,
650
+ ARM64_SYSREG_PMEVTYPER1_EL0 = 0xDF61,
651
+ ARM64_SYSREG_PMEVTYPER20_EL0 = 0xDF74,
652
+ ARM64_SYSREG_PMEVTYPER21_EL0 = 0xDF75,
653
+ ARM64_SYSREG_PMEVTYPER22_EL0 = 0xDF76,
654
+ ARM64_SYSREG_PMEVTYPER23_EL0 = 0xDF77,
655
+ ARM64_SYSREG_PMEVTYPER24_EL0 = 0xDF78,
656
+ ARM64_SYSREG_PMEVTYPER25_EL0 = 0xDF79,
657
+ ARM64_SYSREG_PMEVTYPER26_EL0 = 0xDF7A,
658
+ ARM64_SYSREG_PMEVTYPER27_EL0 = 0xDF7B,
659
+ ARM64_SYSREG_PMEVTYPER28_EL0 = 0xDF7C,
660
+ ARM64_SYSREG_PMEVTYPER29_EL0 = 0xDF7D,
661
+ ARM64_SYSREG_PMEVTYPER2_EL0 = 0xDF62,
662
+ ARM64_SYSREG_PMEVTYPER30_EL0 = 0xDF7E,
663
+ ARM64_SYSREG_PMEVTYPER3_EL0 = 0xDF63,
664
+ ARM64_SYSREG_PMEVTYPER4_EL0 = 0xDF64,
665
+ ARM64_SYSREG_PMEVTYPER5_EL0 = 0xDF65,
666
+ ARM64_SYSREG_PMEVTYPER6_EL0 = 0xDF66,
667
+ ARM64_SYSREG_PMEVTYPER7_EL0 = 0xDF67,
668
+ ARM64_SYSREG_PMEVTYPER8_EL0 = 0xDF68,
669
+ ARM64_SYSREG_PMEVTYPER9_EL0 = 0xDF69,
670
+ ARM64_SYSREG_PMINTENCLR_EL1 = 0xC4F2,
671
+ ARM64_SYSREG_PMINTENSET_EL1 = 0xC4F1,
672
+ ARM64_SYSREG_PMMIR_EL1 = 0xC4F6,
673
+ ARM64_SYSREG_PMOVSCLR_EL0 = 0xDCE3,
674
+ ARM64_SYSREG_PMOVSSET_EL0 = 0xDCF3,
675
+ ARM64_SYSREG_PMSCR_EL1 = 0xC4C8,
676
+ ARM64_SYSREG_PMSCR_EL12 = 0xECC8,
677
+ ARM64_SYSREG_PMSCR_EL2 = 0xE4C8,
678
+ ARM64_SYSREG_PMSELR_EL0 = 0xDCE5,
679
+ ARM64_SYSREG_PMSEVFR_EL1 = 0xC4CD,
680
+ ARM64_SYSREG_PMSFCR_EL1 = 0xC4CC,
681
+ ARM64_SYSREG_PMSICR_EL1 = 0xC4CA,
682
+ ARM64_SYSREG_PMSIDR_EL1 = 0xC4CF,
683
+ ARM64_SYSREG_PMSIRR_EL1 = 0xC4CB,
684
+ ARM64_SYSREG_PMSLATFR_EL1 = 0xC4CE,
685
+ ARM64_SYSREG_PMSNEVFR_EL1 = 0xC4C9,
686
+ ARM64_SYSREG_PMSWINC_EL0 = 0xDCE4,
687
+ ARM64_SYSREG_PMUSERENR_EL0 = 0xDCF0,
688
+ ARM64_SYSREG_PMXEVCNTR_EL0 = 0xDCEA,
689
+ ARM64_SYSREG_PMXEVTYPER_EL0 = 0xDCE9,
690
+ ARM64_SYSREG_PRBAR10_EL1 = 0xC368,
691
+ ARM64_SYSREG_PRBAR10_EL2 = 0xE368,
692
+ ARM64_SYSREG_PRBAR11_EL1 = 0xC36C,
693
+ ARM64_SYSREG_PRBAR11_EL2 = 0xE36C,
694
+ ARM64_SYSREG_PRBAR12_EL1 = 0xC370,
695
+ ARM64_SYSREG_PRBAR12_EL2 = 0xE370,
696
+ ARM64_SYSREG_PRBAR13_EL1 = 0xC374,
697
+ ARM64_SYSREG_PRBAR13_EL2 = 0xE374,
698
+ ARM64_SYSREG_PRBAR14_EL1 = 0xC378,
699
+ ARM64_SYSREG_PRBAR14_EL2 = 0xE378,
700
+ ARM64_SYSREG_PRBAR15_EL1 = 0xC37C,
701
+ ARM64_SYSREG_PRBAR15_EL2 = 0xE37C,
702
+ ARM64_SYSREG_PRBAR1_EL1 = 0xC344,
703
+ ARM64_SYSREG_PRBAR1_EL2 = 0xE344,
704
+ ARM64_SYSREG_PRBAR2_EL1 = 0xC348,
705
+ ARM64_SYSREG_PRBAR2_EL2 = 0xE348,
706
+ ARM64_SYSREG_PRBAR3_EL1 = 0xC34C,
707
+ ARM64_SYSREG_PRBAR3_EL2 = 0xE34C,
708
+ ARM64_SYSREG_PRBAR4_EL1 = 0xC350,
709
+ ARM64_SYSREG_PRBAR4_EL2 = 0xE350,
710
+ ARM64_SYSREG_PRBAR5_EL1 = 0xC354,
711
+ ARM64_SYSREG_PRBAR5_EL2 = 0xE354,
712
+ ARM64_SYSREG_PRBAR6_EL1 = 0xC358,
713
+ ARM64_SYSREG_PRBAR6_EL2 = 0xE358,
714
+ ARM64_SYSREG_PRBAR7_EL1 = 0xC35C,
715
+ ARM64_SYSREG_PRBAR7_EL2 = 0xE35C,
716
+ ARM64_SYSREG_PRBAR8_EL1 = 0xC360,
717
+ ARM64_SYSREG_PRBAR8_EL2 = 0xE360,
718
+ ARM64_SYSREG_PRBAR9_EL1 = 0xC364,
719
+ ARM64_SYSREG_PRBAR9_EL2 = 0xE364,
720
+ ARM64_SYSREG_PRBAR_EL1 = 0xC340,
721
+ ARM64_SYSREG_PRBAR_EL2 = 0xE340,
722
+ ARM64_SYSREG_PRENR_EL1 = 0xC309,
723
+ ARM64_SYSREG_PRENR_EL2 = 0xE309,
724
+ ARM64_SYSREG_PRLAR10_EL1 = 0xC369,
725
+ ARM64_SYSREG_PRLAR10_EL2 = 0xE369,
726
+ ARM64_SYSREG_PRLAR11_EL1 = 0xC36D,
727
+ ARM64_SYSREG_PRLAR11_EL2 = 0xE36D,
728
+ ARM64_SYSREG_PRLAR12_EL1 = 0xC371,
729
+ ARM64_SYSREG_PRLAR12_EL2 = 0xE371,
730
+ ARM64_SYSREG_PRLAR13_EL1 = 0xC375,
731
+ ARM64_SYSREG_PRLAR13_EL2 = 0xE375,
732
+ ARM64_SYSREG_PRLAR14_EL1 = 0xC379,
733
+ ARM64_SYSREG_PRLAR14_EL2 = 0xE379,
734
+ ARM64_SYSREG_PRLAR15_EL1 = 0xC37D,
735
+ ARM64_SYSREG_PRLAR15_EL2 = 0xE37D,
736
+ ARM64_SYSREG_PRLAR1_EL1 = 0xC345,
737
+ ARM64_SYSREG_PRLAR1_EL2 = 0xE345,
738
+ ARM64_SYSREG_PRLAR2_EL1 = 0xC349,
739
+ ARM64_SYSREG_PRLAR2_EL2 = 0xE349,
740
+ ARM64_SYSREG_PRLAR3_EL1 = 0xC34D,
741
+ ARM64_SYSREG_PRLAR3_EL2 = 0xE34D,
742
+ ARM64_SYSREG_PRLAR4_EL1 = 0xC351,
743
+ ARM64_SYSREG_PRLAR4_EL2 = 0xE351,
744
+ ARM64_SYSREG_PRLAR5_EL1 = 0xC355,
745
+ ARM64_SYSREG_PRLAR5_EL2 = 0xE355,
746
+ ARM64_SYSREG_PRLAR6_EL1 = 0xC359,
747
+ ARM64_SYSREG_PRLAR6_EL2 = 0xE359,
748
+ ARM64_SYSREG_PRLAR7_EL1 = 0xC35D,
749
+ ARM64_SYSREG_PRLAR7_EL2 = 0xE35D,
750
+ ARM64_SYSREG_PRLAR8_EL1 = 0xC361,
751
+ ARM64_SYSREG_PRLAR8_EL2 = 0xE361,
752
+ ARM64_SYSREG_PRLAR9_EL1 = 0xC365,
753
+ ARM64_SYSREG_PRLAR9_EL2 = 0xE365,
754
+ ARM64_SYSREG_PRLAR_EL1 = 0xC341,
755
+ ARM64_SYSREG_PRLAR_EL2 = 0xE341,
756
+ ARM64_SYSREG_PRSELR_EL1 = 0xC311,
757
+ ARM64_SYSREG_PRSELR_EL2 = 0xE311,
758
+ ARM64_SYSREG_REVIDR_EL1 = 0xC006,
759
+ ARM64_SYSREG_RGSR_EL1 = 0xC085,
760
+ ARM64_SYSREG_RMR_EL1 = 0xC602,
761
+ ARM64_SYSREG_RMR_EL2 = 0xE602,
762
+ ARM64_SYSREG_RMR_EL3 = 0xF602,
763
+ ARM64_SYSREG_RNDR = 0xD920,
764
+ ARM64_SYSREG_RNDRRS = 0xD921,
765
+ ARM64_SYSREG_RVBAR_EL1 = 0xC601,
766
+ ARM64_SYSREG_RVBAR_EL2 = 0xE601,
767
+ ARM64_SYSREG_RVBAR_EL3 = 0xF601,
768
+ ARM64_SYSREG_SCR_EL3 = 0xF088,
769
+ ARM64_SYSREG_SCTLR_EL1 = 0xC080,
770
+ ARM64_SYSREG_SCTLR_EL12 = 0xE880,
771
+ ARM64_SYSREG_SCTLR_EL2 = 0xE080,
772
+ ARM64_SYSREG_SCTLR_EL3 = 0xF080,
773
+ ARM64_SYSREG_SCXTNUM_EL0 = 0xDE87,
774
+ ARM64_SYSREG_SCXTNUM_EL1 = 0xC687,
775
+ ARM64_SYSREG_SCXTNUM_EL12 = 0xEE87,
776
+ ARM64_SYSREG_SCXTNUM_EL2 = 0xE687,
777
+ ARM64_SYSREG_SCXTNUM_EL3 = 0xF687,
778
+ ARM64_SYSREG_SDER32_EL2 = 0xE099,
779
+ ARM64_SYSREG_SDER32_EL3 = 0xF089,
780
+ ARM64_SYSREG_SMCR_EL1 = 0xC096,
781
+ ARM64_SYSREG_SMCR_EL12 = 0xE896,
782
+ ARM64_SYSREG_SMCR_EL2 = 0xE096,
783
+ ARM64_SYSREG_SMCR_EL3 = 0xF096,
784
+ ARM64_SYSREG_SMIDR_EL1 = 0xC806,
785
+ ARM64_SYSREG_SMPRIMAP_EL2 = 0xE095,
786
+ ARM64_SYSREG_SMPRI_EL1 = 0xC094,
787
+ ARM64_SYSREG_SPSEL = 0xC210,
788
+ ARM64_SYSREG_SPSR_ABT = 0xE219,
789
+ ARM64_SYSREG_SPSR_EL1 = 0xC200,
790
+ ARM64_SYSREG_SPSR_EL12 = 0xEA00,
791
+ ARM64_SYSREG_SPSR_EL2 = 0xE200,
792
+ ARM64_SYSREG_SPSR_EL3 = 0xF200,
793
+ ARM64_SYSREG_SPSR_FIQ = 0xE21B,
794
+ ARM64_SYSREG_SPSR_IRQ = 0xE218,
795
+ ARM64_SYSREG_SPSR_UND = 0xE21A,
796
+ ARM64_SYSREG_SP_EL0 = 0xC208,
797
+ ARM64_SYSREG_SP_EL1 = 0xE208,
798
+ ARM64_SYSREG_SP_EL2 = 0xF208,
799
+ ARM64_SYSREG_SSBS = 0xDA16,
800
+ ARM64_SYSREG_SVCR = 0xDA12,
801
+ ARM64_SYSREG_TCO = 0xDA17,
802
+ ARM64_SYSREG_TCR_EL1 = 0xC102,
803
+ ARM64_SYSREG_TCR_EL12 = 0xE902,
804
+ ARM64_SYSREG_TCR_EL2 = 0xE102,
805
+ ARM64_SYSREG_TCR_EL3 = 0xF102,
806
+ ARM64_SYSREG_TEECR32_EL1 = 0x9000,
807
+ ARM64_SYSREG_TEEHBR32_EL1 = 0x9080,
808
+ ARM64_SYSREG_TFSRE0_EL1 = 0xC2B1,
809
+ ARM64_SYSREG_TFSR_EL1 = 0xC2B0,
810
+ ARM64_SYSREG_TFSR_EL12 = 0xEAB0,
811
+ ARM64_SYSREG_TFSR_EL2 = 0xE2B0,
812
+ ARM64_SYSREG_TFSR_EL3 = 0xF2B0,
813
+ ARM64_SYSREG_TPIDR2_EL0 = 0xDE85,
814
+ ARM64_SYSREG_TPIDRRO_EL0 = 0xDE83,
815
+ ARM64_SYSREG_TPIDR_EL0 = 0xDE82,
816
+ ARM64_SYSREG_TPIDR_EL1 = 0xC684,
817
+ ARM64_SYSREG_TPIDR_EL2 = 0xE682,
818
+ ARM64_SYSREG_TPIDR_EL3 = 0xF682,
819
+ ARM64_SYSREG_TRBBASER_EL1 = 0xC4DA,
820
+ ARM64_SYSREG_TRBIDR_EL1 = 0xC4DF,
821
+ ARM64_SYSREG_TRBLIMITR_EL1 = 0xC4D8,
822
+ ARM64_SYSREG_TRBMAR_EL1 = 0xC4DC,
823
+ ARM64_SYSREG_TRBPTR_EL1 = 0xC4D9,
824
+ ARM64_SYSREG_TRBSR_EL1 = 0xC4DB,
825
+ ARM64_SYSREG_TRBTRG_EL1 = 0xC4DE,
826
+ ARM64_SYSREG_TRCACATR0 = 0x8902,
827
+ ARM64_SYSREG_TRCACATR1 = 0x8912,
828
+ ARM64_SYSREG_TRCACATR10 = 0x8923,
829
+ ARM64_SYSREG_TRCACATR11 = 0x8933,
830
+ ARM64_SYSREG_TRCACATR12 = 0x8943,
831
+ ARM64_SYSREG_TRCACATR13 = 0x8953,
832
+ ARM64_SYSREG_TRCACATR14 = 0x8963,
833
+ ARM64_SYSREG_TRCACATR15 = 0x8973,
834
+ ARM64_SYSREG_TRCACATR2 = 0x8922,
835
+ ARM64_SYSREG_TRCACATR3 = 0x8932,
836
+ ARM64_SYSREG_TRCACATR4 = 0x8942,
837
+ ARM64_SYSREG_TRCACATR5 = 0x8952,
838
+ ARM64_SYSREG_TRCACATR6 = 0x8962,
839
+ ARM64_SYSREG_TRCACATR7 = 0x8972,
840
+ ARM64_SYSREG_TRCACATR8 = 0x8903,
841
+ ARM64_SYSREG_TRCACATR9 = 0x8913,
842
+ ARM64_SYSREG_TRCACVR0 = 0x8900,
843
+ ARM64_SYSREG_TRCACVR1 = 0x8910,
844
+ ARM64_SYSREG_TRCACVR10 = 0x8921,
845
+ ARM64_SYSREG_TRCACVR11 = 0x8931,
846
+ ARM64_SYSREG_TRCACVR12 = 0x8941,
847
+ ARM64_SYSREG_TRCACVR13 = 0x8951,
848
+ ARM64_SYSREG_TRCACVR14 = 0x8961,
849
+ ARM64_SYSREG_TRCACVR15 = 0x8971,
850
+ ARM64_SYSREG_TRCACVR2 = 0x8920,
851
+ ARM64_SYSREG_TRCACVR3 = 0x8930,
852
+ ARM64_SYSREG_TRCACVR4 = 0x8940,
853
+ ARM64_SYSREG_TRCACVR5 = 0x8950,
854
+ ARM64_SYSREG_TRCACVR6 = 0x8960,
855
+ ARM64_SYSREG_TRCACVR7 = 0x8970,
856
+ ARM64_SYSREG_TRCACVR8 = 0x8901,
857
+ ARM64_SYSREG_TRCACVR9 = 0x8911,
858
+ ARM64_SYSREG_TRCAUTHSTATUS = 0x8BF6,
859
+ ARM64_SYSREG_TRCAUXCTLR = 0x8830,
860
+ ARM64_SYSREG_TRCBBCTLR = 0x8878,
861
+ ARM64_SYSREG_TRCCCCTLR = 0x8870,
862
+ ARM64_SYSREG_TRCCIDCCTLR0 = 0x8982,
863
+ ARM64_SYSREG_TRCCIDCCTLR1 = 0x898A,
864
+ ARM64_SYSREG_TRCCIDCVR0 = 0x8980,
865
+ ARM64_SYSREG_TRCCIDCVR1 = 0x8990,
866
+ ARM64_SYSREG_TRCCIDCVR2 = 0x89A0,
867
+ ARM64_SYSREG_TRCCIDCVR3 = 0x89B0,
868
+ ARM64_SYSREG_TRCCIDCVR4 = 0x89C0,
869
+ ARM64_SYSREG_TRCCIDCVR5 = 0x89D0,
870
+ ARM64_SYSREG_TRCCIDCVR6 = 0x89E0,
871
+ ARM64_SYSREG_TRCCIDCVR7 = 0x89F0,
872
+ ARM64_SYSREG_TRCCIDR0 = 0x8BE7,
873
+ ARM64_SYSREG_TRCCIDR1 = 0x8BEF,
874
+ ARM64_SYSREG_TRCCIDR2 = 0x8BF7,
875
+ ARM64_SYSREG_TRCCIDR3 = 0x8BFF,
876
+ ARM64_SYSREG_TRCCLAIMCLR = 0x8BCE,
877
+ ARM64_SYSREG_TRCCLAIMSET = 0x8BC6,
878
+ ARM64_SYSREG_TRCCNTCTLR0 = 0x8825,
879
+ ARM64_SYSREG_TRCCNTCTLR1 = 0x882D,
880
+ ARM64_SYSREG_TRCCNTCTLR2 = 0x8835,
881
+ ARM64_SYSREG_TRCCNTCTLR3 = 0x883D,
882
+ ARM64_SYSREG_TRCCNTRLDVR0 = 0x8805,
883
+ ARM64_SYSREG_TRCCNTRLDVR1 = 0x880D,
884
+ ARM64_SYSREG_TRCCNTRLDVR2 = 0x8815,
885
+ ARM64_SYSREG_TRCCNTRLDVR3 = 0x881D,
886
+ ARM64_SYSREG_TRCCNTVR0 = 0x8845,
887
+ ARM64_SYSREG_TRCCNTVR1 = 0x884D,
888
+ ARM64_SYSREG_TRCCNTVR2 = 0x8855,
889
+ ARM64_SYSREG_TRCCNTVR3 = 0x885D,
890
+ ARM64_SYSREG_TRCCONFIGR = 0x8820,
891
+ ARM64_SYSREG_TRCDEVAFF0 = 0x8BD6,
892
+ ARM64_SYSREG_TRCDEVAFF1 = 0x8BDE,
893
+ ARM64_SYSREG_TRCDEVARCH = 0x8BFE,
894
+ ARM64_SYSREG_TRCDEVID = 0x8B97,
895
+ ARM64_SYSREG_TRCDEVTYPE = 0x8B9F,
896
+ ARM64_SYSREG_TRCDVCMR0 = 0x8906,
897
+ ARM64_SYSREG_TRCDVCMR1 = 0x8926,
898
+ ARM64_SYSREG_TRCDVCMR2 = 0x8946,
899
+ ARM64_SYSREG_TRCDVCMR3 = 0x8966,
900
+ ARM64_SYSREG_TRCDVCMR4 = 0x8907,
901
+ ARM64_SYSREG_TRCDVCMR5 = 0x8927,
902
+ ARM64_SYSREG_TRCDVCMR6 = 0x8947,
903
+ ARM64_SYSREG_TRCDVCMR7 = 0x8967,
904
+ ARM64_SYSREG_TRCDVCVR0 = 0x8904,
905
+ ARM64_SYSREG_TRCDVCVR1 = 0x8924,
906
+ ARM64_SYSREG_TRCDVCVR2 = 0x8944,
907
+ ARM64_SYSREG_TRCDVCVR3 = 0x8964,
908
+ ARM64_SYSREG_TRCDVCVR4 = 0x8905,
909
+ ARM64_SYSREG_TRCDVCVR5 = 0x8925,
910
+ ARM64_SYSREG_TRCDVCVR6 = 0x8945,
911
+ ARM64_SYSREG_TRCDVCVR7 = 0x8965,
912
+ ARM64_SYSREG_TRCEVENTCTL0R = 0x8840,
913
+ ARM64_SYSREG_TRCEVENTCTL1R = 0x8848,
914
+ ARM64_SYSREG_TRCEXTINSELR = 0x8844,
915
+ ARM64_SYSREG_TRCEXTINSELR0 = 0x8844,
916
+ ARM64_SYSREG_TRCEXTINSELR1 = 0x884C,
917
+ ARM64_SYSREG_TRCEXTINSELR2 = 0x8854,
918
+ ARM64_SYSREG_TRCEXTINSELR3 = 0x885C,
919
+ ARM64_SYSREG_TRCIDR0 = 0x8847,
920
+ ARM64_SYSREG_TRCIDR1 = 0x884F,
921
+ ARM64_SYSREG_TRCIDR10 = 0x8816,
922
+ ARM64_SYSREG_TRCIDR11 = 0x881E,
923
+ ARM64_SYSREG_TRCIDR12 = 0x8826,
924
+ ARM64_SYSREG_TRCIDR13 = 0x882E,
925
+ ARM64_SYSREG_TRCIDR2 = 0x8857,
926
+ ARM64_SYSREG_TRCIDR3 = 0x885F,
927
+ ARM64_SYSREG_TRCIDR4 = 0x8867,
928
+ ARM64_SYSREG_TRCIDR5 = 0x886F,
929
+ ARM64_SYSREG_TRCIDR6 = 0x8877,
930
+ ARM64_SYSREG_TRCIDR7 = 0x887F,
931
+ ARM64_SYSREG_TRCIDR8 = 0x8806,
932
+ ARM64_SYSREG_TRCIDR9 = 0x880E,
933
+ ARM64_SYSREG_TRCIMSPEC0 = 0x8807,
934
+ ARM64_SYSREG_TRCIMSPEC1 = 0x880F,
935
+ ARM64_SYSREG_TRCIMSPEC2 = 0x8817,
936
+ ARM64_SYSREG_TRCIMSPEC3 = 0x881F,
937
+ ARM64_SYSREG_TRCIMSPEC4 = 0x8827,
938
+ ARM64_SYSREG_TRCIMSPEC5 = 0x882F,
939
+ ARM64_SYSREG_TRCIMSPEC6 = 0x8837,
940
+ ARM64_SYSREG_TRCIMSPEC7 = 0x883F,
941
+ ARM64_SYSREG_TRCITCTRL = 0x8B84,
942
+ ARM64_SYSREG_TRCLAR = 0x8BE6,
943
+ ARM64_SYSREG_TRCLSR = 0x8BEE,
944
+ ARM64_SYSREG_TRCOSLAR = 0x8884,
945
+ ARM64_SYSREG_TRCOSLSR = 0x888C,
946
+ ARM64_SYSREG_TRCPDCR = 0x88A4,
947
+ ARM64_SYSREG_TRCPDSR = 0x88AC,
948
+ ARM64_SYSREG_TRCPIDR0 = 0x8BC7,
949
+ ARM64_SYSREG_TRCPIDR1 = 0x8BCF,
950
+ ARM64_SYSREG_TRCPIDR2 = 0x8BD7,
951
+ ARM64_SYSREG_TRCPIDR3 = 0x8BDF,
952
+ ARM64_SYSREG_TRCPIDR4 = 0x8BA7,
953
+ ARM64_SYSREG_TRCPIDR5 = 0x8BAF,
954
+ ARM64_SYSREG_TRCPIDR6 = 0x8BB7,
955
+ ARM64_SYSREG_TRCPIDR7 = 0x8BBF,
956
+ ARM64_SYSREG_TRCPRGCTLR = 0x8808,
957
+ ARM64_SYSREG_TRCPROCSELR = 0x8810,
958
+ ARM64_SYSREG_TRCQCTLR = 0x8809,
959
+ ARM64_SYSREG_TRCRSCTLR10 = 0x88D0,
960
+ ARM64_SYSREG_TRCRSCTLR11 = 0x88D8,
961
+ ARM64_SYSREG_TRCRSCTLR12 = 0x88E0,
962
+ ARM64_SYSREG_TRCRSCTLR13 = 0x88E8,
963
+ ARM64_SYSREG_TRCRSCTLR14 = 0x88F0,
964
+ ARM64_SYSREG_TRCRSCTLR15 = 0x88F8,
965
+ ARM64_SYSREG_TRCRSCTLR16 = 0x8881,
966
+ ARM64_SYSREG_TRCRSCTLR17 = 0x8889,
967
+ ARM64_SYSREG_TRCRSCTLR18 = 0x8891,
968
+ ARM64_SYSREG_TRCRSCTLR19 = 0x8899,
969
+ ARM64_SYSREG_TRCRSCTLR2 = 0x8890,
970
+ ARM64_SYSREG_TRCRSCTLR20 = 0x88A1,
971
+ ARM64_SYSREG_TRCRSCTLR21 = 0x88A9,
972
+ ARM64_SYSREG_TRCRSCTLR22 = 0x88B1,
973
+ ARM64_SYSREG_TRCRSCTLR23 = 0x88B9,
974
+ ARM64_SYSREG_TRCRSCTLR24 = 0x88C1,
975
+ ARM64_SYSREG_TRCRSCTLR25 = 0x88C9,
976
+ ARM64_SYSREG_TRCRSCTLR26 = 0x88D1,
977
+ ARM64_SYSREG_TRCRSCTLR27 = 0x88D9,
978
+ ARM64_SYSREG_TRCRSCTLR28 = 0x88E1,
979
+ ARM64_SYSREG_TRCRSCTLR29 = 0x88E9,
980
+ ARM64_SYSREG_TRCRSCTLR3 = 0x8898,
981
+ ARM64_SYSREG_TRCRSCTLR30 = 0x88F1,
982
+ ARM64_SYSREG_TRCRSCTLR31 = 0x88F9,
983
+ ARM64_SYSREG_TRCRSCTLR4 = 0x88A0,
984
+ ARM64_SYSREG_TRCRSCTLR5 = 0x88A8,
985
+ ARM64_SYSREG_TRCRSCTLR6 = 0x88B0,
986
+ ARM64_SYSREG_TRCRSCTLR7 = 0x88B8,
987
+ ARM64_SYSREG_TRCRSCTLR8 = 0x88C0,
988
+ ARM64_SYSREG_TRCRSCTLR9 = 0x88C8,
989
+ ARM64_SYSREG_TRCRSR = 0x8850,
990
+ ARM64_SYSREG_TRCSEQEVR0 = 0x8804,
991
+ ARM64_SYSREG_TRCSEQEVR1 = 0x880C,
992
+ ARM64_SYSREG_TRCSEQEVR2 = 0x8814,
993
+ ARM64_SYSREG_TRCSEQRSTEVR = 0x8834,
994
+ ARM64_SYSREG_TRCSEQSTR = 0x883C,
995
+ ARM64_SYSREG_TRCSSCCR0 = 0x8882,
996
+ ARM64_SYSREG_TRCSSCCR1 = 0x888A,
997
+ ARM64_SYSREG_TRCSSCCR2 = 0x8892,
998
+ ARM64_SYSREG_TRCSSCCR3 = 0x889A,
999
+ ARM64_SYSREG_TRCSSCCR4 = 0x88A2,
1000
+ ARM64_SYSREG_TRCSSCCR5 = 0x88AA,
1001
+ ARM64_SYSREG_TRCSSCCR6 = 0x88B2,
1002
+ ARM64_SYSREG_TRCSSCCR7 = 0x88BA,
1003
+ ARM64_SYSREG_TRCSSCSR0 = 0x88C2,
1004
+ ARM64_SYSREG_TRCSSCSR1 = 0x88CA,
1005
+ ARM64_SYSREG_TRCSSCSR2 = 0x88D2,
1006
+ ARM64_SYSREG_TRCSSCSR3 = 0x88DA,
1007
+ ARM64_SYSREG_TRCSSCSR4 = 0x88E2,
1008
+ ARM64_SYSREG_TRCSSCSR5 = 0x88EA,
1009
+ ARM64_SYSREG_TRCSSCSR6 = 0x88F2,
1010
+ ARM64_SYSREG_TRCSSCSR7 = 0x88FA,
1011
+ ARM64_SYSREG_TRCSSPCICR0 = 0x8883,
1012
+ ARM64_SYSREG_TRCSSPCICR1 = 0x888B,
1013
+ ARM64_SYSREG_TRCSSPCICR2 = 0x8893,
1014
+ ARM64_SYSREG_TRCSSPCICR3 = 0x889B,
1015
+ ARM64_SYSREG_TRCSSPCICR4 = 0x88A3,
1016
+ ARM64_SYSREG_TRCSSPCICR5 = 0x88AB,
1017
+ ARM64_SYSREG_TRCSSPCICR6 = 0x88B3,
1018
+ ARM64_SYSREG_TRCSSPCICR7 = 0x88BB,
1019
+ ARM64_SYSREG_TRCSTALLCTLR = 0x8858,
1020
+ ARM64_SYSREG_TRCSTATR = 0x8818,
1021
+ ARM64_SYSREG_TRCSYNCPR = 0x8868,
1022
+ ARM64_SYSREG_TRCTRACEIDR = 0x8801,
1023
+ ARM64_SYSREG_TRCTSCTLR = 0x8860,
1024
+ ARM64_SYSREG_TRCVDARCCTLR = 0x8852,
1025
+ ARM64_SYSREG_TRCVDCTLR = 0x8842,
1026
+ ARM64_SYSREG_TRCVDSACCTLR = 0x884A,
1027
+ ARM64_SYSREG_TRCVICTLR = 0x8802,
1028
+ ARM64_SYSREG_TRCVIIECTLR = 0x880A,
1029
+ ARM64_SYSREG_TRCVIPCSSCTLR = 0x881A,
1030
+ ARM64_SYSREG_TRCVISSCTLR = 0x8812,
1031
+ ARM64_SYSREG_TRCVMIDCCTLR0 = 0x8992,
1032
+ ARM64_SYSREG_TRCVMIDCCTLR1 = 0x899A,
1033
+ ARM64_SYSREG_TRCVMIDCVR0 = 0x8981,
1034
+ ARM64_SYSREG_TRCVMIDCVR1 = 0x8991,
1035
+ ARM64_SYSREG_TRCVMIDCVR2 = 0x89A1,
1036
+ ARM64_SYSREG_TRCVMIDCVR3 = 0x89B1,
1037
+ ARM64_SYSREG_TRCVMIDCVR4 = 0x89C1,
1038
+ ARM64_SYSREG_TRCVMIDCVR5 = 0x89D1,
1039
+ ARM64_SYSREG_TRCVMIDCVR6 = 0x89E1,
1040
+ ARM64_SYSREG_TRCVMIDCVR7 = 0x89F1,
1041
+ ARM64_SYSREG_TRFCR_EL1 = 0xC091,
1042
+ ARM64_SYSREG_TRFCR_EL12 = 0xE891,
1043
+ ARM64_SYSREG_TRFCR_EL2 = 0xE091,
1044
+ ARM64_SYSREG_TTBR0_EL1 = 0xC100,
1045
+ ARM64_SYSREG_TTBR0_EL12 = 0xE900,
1046
+ ARM64_SYSREG_TTBR0_EL2 = 0xE100,
1047
+ ARM64_SYSREG_TTBR0_EL3 = 0xF100,
1048
+ ARM64_SYSREG_TTBR1_EL1 = 0xC101,
1049
+ ARM64_SYSREG_TTBR1_EL12 = 0xE901,
1050
+ ARM64_SYSREG_TTBR1_EL2 = 0xE101,
1051
+ ARM64_SYSREG_UAO = 0xC214,
1052
+ ARM64_SYSREG_VBAR_EL1 = 0xC600,
1053
+ ARM64_SYSREG_VBAR_EL12 = 0xEE00,
1054
+ ARM64_SYSREG_VBAR_EL2 = 0xE600,
1055
+ ARM64_SYSREG_VBAR_EL3 = 0xF600,
1056
+ ARM64_SYSREG_VDISR_EL2 = 0xE609,
1057
+ ARM64_SYSREG_VMPIDR_EL2 = 0xE005,
1058
+ ARM64_SYSREG_VNCR_EL2 = 0xE110,
1059
+ ARM64_SYSREG_VPIDR_EL2 = 0xE000,
1060
+ ARM64_SYSREG_VSCTLR_EL2 = 0xE100,
1061
+ ARM64_SYSREG_VSESR_EL2 = 0xE293,
1062
+ ARM64_SYSREG_VSTCR_EL2 = 0xE132,
1063
+ ARM64_SYSREG_VSTTBR_EL2 = 0xE130,
1064
+ ARM64_SYSREG_VTCR_EL2 = 0xE10A,
1065
+ ARM64_SYSREG_VTTBR_EL2 = 0xE108,
1066
+ ARM64_SYSREG_ZCR_EL1 = 0xC090,
1067
+ ARM64_SYSREG_ZCR_EL12 = 0xE890,
1068
+ ARM64_SYSREG_ZCR_EL2 = 0xE090,
1069
+ ARM64_SYSREG_ZCR_EL3 = 0xF090,
1070
+ } arm64_sysreg;
1071
+
1072
+ /// System PState Field (MSR instruction)
1073
+ typedef enum arm64_pstate {
1074
+ ARM64_PSTATE_INVALID = 0,
1075
+ ARM64_PSTATE_SPSEL = 0x05,
1076
+ ARM64_PSTATE_DAIFSET = 0x1e,
1077
+ ARM64_PSTATE_DAIFCLR = 0x1f,
1078
+ ARM64_PSTATE_PAN = 0x4,
1079
+ ARM64_PSTATE_UAO = 0x3,
1080
+ ARM64_PSTATE_DIT = 0x1a,
1081
+ } arm64_pstate;
1082
+
1083
+ /// Vector arrangement specifier (for FloatingPoint/Advanced SIMD insn)
1084
+ typedef enum arm64_vas {
1085
+ ARM64_VAS_INVALID = 0,
1086
+ ARM64_VAS_16B,
1087
+ ARM64_VAS_8B,
1088
+ ARM64_VAS_4B,
1089
+ ARM64_VAS_1B,
1090
+ ARM64_VAS_8H,
1091
+ ARM64_VAS_4H,
1092
+ ARM64_VAS_2H,
1093
+ ARM64_VAS_1H,
1094
+ ARM64_VAS_4S,
1095
+ ARM64_VAS_2S,
1096
+ ARM64_VAS_1S,
1097
+ ARM64_VAS_2D,
1098
+ ARM64_VAS_1D,
1099
+ ARM64_VAS_1Q,
1100
+ } arm64_vas;
1101
+
1102
+ /// Memory barrier operands
1103
+ typedef enum arm64_barrier_op {
1104
+ ARM64_BARRIER_INVALID = 0,
1105
+ ARM64_BARRIER_OSHLD = 0x1,
1106
+ ARM64_BARRIER_OSHST = 0x2,
1107
+ ARM64_BARRIER_OSH = 0x3,
1108
+ ARM64_BARRIER_NSHLD = 0x5,
1109
+ ARM64_BARRIER_NSHST = 0x6,
1110
+ ARM64_BARRIER_NSH = 0x7,
1111
+ ARM64_BARRIER_ISHLD = 0x9,
1112
+ ARM64_BARRIER_ISHST = 0xa,
1113
+ ARM64_BARRIER_ISH = 0xb,
1114
+ ARM64_BARRIER_LD = 0xd,
1115
+ ARM64_BARRIER_ST = 0xe,
1116
+ ARM64_BARRIER_SY = 0xf
1117
+ } arm64_barrier_op;
1118
+
1119
+ /// Operand type for instruction's operands
1120
+ typedef enum arm64_op_type {
1121
+ ARM64_OP_INVALID = 0, ///< = CS_OP_INVALID (Uninitialized).
1122
+ ARM64_OP_REG, ///< = CS_OP_REG (Register operand).
1123
+ ARM64_OP_IMM, ///< = CS_OP_IMM (Immediate operand).
1124
+ ARM64_OP_MEM, ///< = CS_OP_MEM (Memory operand).
1125
+ ARM64_OP_FP, ///< = CS_OP_FP (Floating-Point operand).
1126
+ ARM64_OP_CIMM = 64, ///< C-Immediate
1127
+ ARM64_OP_REG_MRS, ///< MRS register operand.
1128
+ ARM64_OP_REG_MSR, ///< MSR register operand.
1129
+ ARM64_OP_PSTATE, ///< PState operand.
1130
+ ARM64_OP_SYS, ///< SYS operand for IC/DC/AT/TLBI instructions.
1131
+ ARM64_OP_SVCR, ///< SVCR operand for MSR SVCR instructions.
1132
+ ARM64_OP_PREFETCH, ///< Prefetch operand (PRFM).
1133
+ ARM64_OP_BARRIER, ///< Memory barrier operand (ISB/DMB/DSB instructions).
1134
+ ARM64_OP_SME_INDEX, ///< SME instruction operand with with index.
1135
+ } arm64_op_type;
1136
+
1137
+ /// SYS operands (IC/DC/AC/TLBI)
1138
+ typedef enum arm64_sys_op {
1139
+ ARM64_SYS_INVALID = 0,
1140
+
1141
+ /// TLBI operations
1142
+ ARM64_TLBI_ALLE1,
1143
+ ARM64_TLBI_ALLE1IS,
1144
+ ARM64_TLBI_ALLE1ISNXS,
1145
+ ARM64_TLBI_ALLE1NXS,
1146
+ ARM64_TLBI_ALLE1OS,
1147
+ ARM64_TLBI_ALLE1OSNXS,
1148
+ ARM64_TLBI_ALLE2,
1149
+ ARM64_TLBI_ALLE2IS,
1150
+ ARM64_TLBI_ALLE2ISNXS,
1151
+ ARM64_TLBI_ALLE2NXS,
1152
+ ARM64_TLBI_ALLE2OS,
1153
+ ARM64_TLBI_ALLE2OSNXS,
1154
+ ARM64_TLBI_ALLE3,
1155
+ ARM64_TLBI_ALLE3IS,
1156
+ ARM64_TLBI_ALLE3ISNXS,
1157
+ ARM64_TLBI_ALLE3NXS,
1158
+ ARM64_TLBI_ALLE3OS,
1159
+ ARM64_TLBI_ALLE3OSNXS,
1160
+ ARM64_TLBI_ASIDE1,
1161
+ ARM64_TLBI_ASIDE1IS,
1162
+ ARM64_TLBI_ASIDE1ISNXS,
1163
+ ARM64_TLBI_ASIDE1NXS,
1164
+ ARM64_TLBI_ASIDE1OS,
1165
+ ARM64_TLBI_ASIDE1OSNXS,
1166
+ ARM64_TLBI_IPAS2E1,
1167
+ ARM64_TLBI_IPAS2E1IS,
1168
+ ARM64_TLBI_IPAS2E1ISNXS,
1169
+ ARM64_TLBI_IPAS2E1NXS,
1170
+ ARM64_TLBI_IPAS2E1OS,
1171
+ ARM64_TLBI_IPAS2E1OSNXS,
1172
+ ARM64_TLBI_IPAS2LE1,
1173
+ ARM64_TLBI_IPAS2LE1IS,
1174
+ ARM64_TLBI_IPAS2LE1ISNXS,
1175
+ ARM64_TLBI_IPAS2LE1NXS,
1176
+ ARM64_TLBI_IPAS2LE1OS,
1177
+ ARM64_TLBI_IPAS2LE1OSNXS,
1178
+ ARM64_TLBI_PAALL,
1179
+ ARM64_TLBI_PAALLNXS,
1180
+ ARM64_TLBI_PAALLOS,
1181
+ ARM64_TLBI_PAALLOSNXS,
1182
+ ARM64_TLBI_RIPAS2E1,
1183
+ ARM64_TLBI_RIPAS2E1IS,
1184
+ ARM64_TLBI_RIPAS2E1ISNXS,
1185
+ ARM64_TLBI_RIPAS2E1NXS,
1186
+ ARM64_TLBI_RIPAS2E1OS,
1187
+ ARM64_TLBI_RIPAS2E1OSNXS,
1188
+ ARM64_TLBI_RIPAS2LE1,
1189
+ ARM64_TLBI_RIPAS2LE1IS,
1190
+ ARM64_TLBI_RIPAS2LE1ISNXS,
1191
+ ARM64_TLBI_RIPAS2LE1NXS,
1192
+ ARM64_TLBI_RIPAS2LE1OS,
1193
+ ARM64_TLBI_RIPAS2LE1OSNXS,
1194
+ ARM64_TLBI_RPALOS,
1195
+ ARM64_TLBI_RPALOSNXS,
1196
+ ARM64_TLBI_RPAOS,
1197
+ ARM64_TLBI_RPAOSNXS,
1198
+ ARM64_TLBI_RVAAE1,
1199
+ ARM64_TLBI_RVAAE1IS,
1200
+ ARM64_TLBI_RVAAE1ISNXS,
1201
+ ARM64_TLBI_RVAAE1NXS,
1202
+ ARM64_TLBI_RVAAE1OS,
1203
+ ARM64_TLBI_RVAAE1OSNXS,
1204
+ ARM64_TLBI_RVAALE1,
1205
+ ARM64_TLBI_RVAALE1IS,
1206
+ ARM64_TLBI_RVAALE1ISNXS,
1207
+ ARM64_TLBI_RVAALE1NXS,
1208
+ ARM64_TLBI_RVAALE1OS,
1209
+ ARM64_TLBI_RVAALE1OSNXS,
1210
+ ARM64_TLBI_RVAE1,
1211
+ ARM64_TLBI_RVAE1IS,
1212
+ ARM64_TLBI_RVAE1ISNXS,
1213
+ ARM64_TLBI_RVAE1NXS,
1214
+ ARM64_TLBI_RVAE1OS,
1215
+ ARM64_TLBI_RVAE1OSNXS,
1216
+ ARM64_TLBI_RVAE2,
1217
+ ARM64_TLBI_RVAE2IS,
1218
+ ARM64_TLBI_RVAE2ISNXS,
1219
+ ARM64_TLBI_RVAE2NXS,
1220
+ ARM64_TLBI_RVAE2OS,
1221
+ ARM64_TLBI_RVAE2OSNXS,
1222
+ ARM64_TLBI_RVAE3,
1223
+ ARM64_TLBI_RVAE3IS,
1224
+ ARM64_TLBI_RVAE3ISNXS,
1225
+ ARM64_TLBI_RVAE3NXS,
1226
+ ARM64_TLBI_RVAE3OS,
1227
+ ARM64_TLBI_RVAE3OSNXS,
1228
+ ARM64_TLBI_RVALE1,
1229
+ ARM64_TLBI_RVALE1IS,
1230
+ ARM64_TLBI_RVALE1ISNXS,
1231
+ ARM64_TLBI_RVALE1NXS,
1232
+ ARM64_TLBI_RVALE1OS,
1233
+ ARM64_TLBI_RVALE1OSNXS,
1234
+ ARM64_TLBI_RVALE2,
1235
+ ARM64_TLBI_RVALE2IS,
1236
+ ARM64_TLBI_RVALE2ISNXS,
1237
+ ARM64_TLBI_RVALE2NXS,
1238
+ ARM64_TLBI_RVALE2OS,
1239
+ ARM64_TLBI_RVALE2OSNXS,
1240
+ ARM64_TLBI_RVALE3,
1241
+ ARM64_TLBI_RVALE3IS,
1242
+ ARM64_TLBI_RVALE3ISNXS,
1243
+ ARM64_TLBI_RVALE3NXS,
1244
+ ARM64_TLBI_RVALE3OS,
1245
+ ARM64_TLBI_RVALE3OSNXS,
1246
+ ARM64_TLBI_VAAE1,
1247
+ ARM64_TLBI_VAAE1IS,
1248
+ ARM64_TLBI_VAAE1ISNXS,
1249
+ ARM64_TLBI_VAAE1NXS,
1250
+ ARM64_TLBI_VAAE1OS,
1251
+ ARM64_TLBI_VAAE1OSNXS,
1252
+ ARM64_TLBI_VAALE1,
1253
+ ARM64_TLBI_VAALE1IS,
1254
+ ARM64_TLBI_VAALE1ISNXS,
1255
+ ARM64_TLBI_VAALE1NXS,
1256
+ ARM64_TLBI_VAALE1OS,
1257
+ ARM64_TLBI_VAALE1OSNXS,
1258
+ ARM64_TLBI_VAE1,
1259
+ ARM64_TLBI_VAE1IS,
1260
+ ARM64_TLBI_VAE1ISNXS,
1261
+ ARM64_TLBI_VAE1NXS,
1262
+ ARM64_TLBI_VAE1OS,
1263
+ ARM64_TLBI_VAE1OSNXS,
1264
+ ARM64_TLBI_VAE2,
1265
+ ARM64_TLBI_VAE2IS,
1266
+ ARM64_TLBI_VAE2ISNXS,
1267
+ ARM64_TLBI_VAE2NXS,
1268
+ ARM64_TLBI_VAE2OS,
1269
+ ARM64_TLBI_VAE2OSNXS,
1270
+ ARM64_TLBI_VAE3,
1271
+ ARM64_TLBI_VAE3IS,
1272
+ ARM64_TLBI_VAE3ISNXS,
1273
+ ARM64_TLBI_VAE3NXS,
1274
+ ARM64_TLBI_VAE3OS,
1275
+ ARM64_TLBI_VAE3OSNXS,
1276
+ ARM64_TLBI_VALE1,
1277
+ ARM64_TLBI_VALE1IS,
1278
+ ARM64_TLBI_VALE1ISNXS,
1279
+ ARM64_TLBI_VALE1NXS,
1280
+ ARM64_TLBI_VALE1OS,
1281
+ ARM64_TLBI_VALE1OSNXS,
1282
+ ARM64_TLBI_VALE2,
1283
+ ARM64_TLBI_VALE2IS,
1284
+ ARM64_TLBI_VALE2ISNXS,
1285
+ ARM64_TLBI_VALE2NXS,
1286
+ ARM64_TLBI_VALE2OS,
1287
+ ARM64_TLBI_VALE2OSNXS,
1288
+ ARM64_TLBI_VALE3,
1289
+ ARM64_TLBI_VALE3IS,
1290
+ ARM64_TLBI_VALE3ISNXS,
1291
+ ARM64_TLBI_VALE3NXS,
1292
+ ARM64_TLBI_VALE3OS,
1293
+ ARM64_TLBI_VALE3OSNXS,
1294
+ ARM64_TLBI_VMALLE1,
1295
+ ARM64_TLBI_VMALLE1IS,
1296
+ ARM64_TLBI_VMALLE1ISNXS,
1297
+ ARM64_TLBI_VMALLE1NXS,
1298
+ ARM64_TLBI_VMALLE1OS,
1299
+ ARM64_TLBI_VMALLE1OSNXS,
1300
+ ARM64_TLBI_VMALLS12E1,
1301
+ ARM64_TLBI_VMALLS12E1IS,
1302
+ ARM64_TLBI_VMALLS12E1ISNXS,
1303
+ ARM64_TLBI_VMALLS12E1NXS,
1304
+ ARM64_TLBI_VMALLS12E1OS,
1305
+ ARM64_TLBI_VMALLS12E1OSNXS,
1306
+
1307
+ /// AT operations
1308
+ ARM64_AT_S1E1R,
1309
+ ARM64_AT_S1E2R,
1310
+ ARM64_AT_S1E3R,
1311
+ ARM64_AT_S1E1W,
1312
+ ARM64_AT_S1E2W,
1313
+ ARM64_AT_S1E3W,
1314
+ ARM64_AT_S1E0R,
1315
+ ARM64_AT_S1E0W,
1316
+ ARM64_AT_S12E1R,
1317
+ ARM64_AT_S12E1W,
1318
+ ARM64_AT_S12E0R,
1319
+ ARM64_AT_S12E0W,
1320
+ ARM64_AT_S1E1RP,
1321
+ ARM64_AT_S1E1WP,
1322
+
1323
+ /// DC operations
1324
+ ARM64_DC_CGDSW,
1325
+ ARM64_DC_CGDVAC,
1326
+ ARM64_DC_CGDVADP,
1327
+ ARM64_DC_CGDVAP,
1328
+ ARM64_DC_CGSW,
1329
+ ARM64_DC_CGVAC,
1330
+ ARM64_DC_CGVADP,
1331
+ ARM64_DC_CGVAP,
1332
+ ARM64_DC_CIGDSW,
1333
+ ARM64_DC_CIGDVAC,
1334
+ ARM64_DC_CIGSW,
1335
+ ARM64_DC_CIGVAC,
1336
+ ARM64_DC_CISW,
1337
+ ARM64_DC_CIVAC,
1338
+ ARM64_DC_CSW,
1339
+ ARM64_DC_CVAC,
1340
+ ARM64_DC_CVADP,
1341
+ ARM64_DC_CVAP,
1342
+ ARM64_DC_CVAU,
1343
+ ARM64_DC_GVA,
1344
+ ARM64_DC_GZVA,
1345
+ ARM64_DC_IGDSW,
1346
+ ARM64_DC_IGDVAC,
1347
+ ARM64_DC_IGSW,
1348
+ ARM64_DC_IGVAC,
1349
+ ARM64_DC_ISW,
1350
+ ARM64_DC_IVAC,
1351
+ ARM64_DC_ZVA,
1352
+
1353
+ /// IC operations
1354
+ ARM64_IC_IALLUIS,
1355
+ ARM64_IC_IALLU,
1356
+ ARM64_IC_IVAU,
1357
+ } arm64_sys_op;
1358
+
1359
+ /// SVCR operands
1360
+ typedef enum arm64_svcr_op {
1361
+ ARM64_SVCR_INVALID = 0,
1362
+
1363
+ ARM64_SVCR_SVCRSM = 0x1,
1364
+ ARM64_SVCR_SVCRSMZA = 0x3,
1365
+ ARM64_SVCR_SVCRZA = 0x2,
1366
+ } arm64_svcr_op;
1367
+
1368
+ /// Prefetch operations (PRFM)
1369
+ typedef enum arm64_prefetch_op {
1370
+ ARM64_PRFM_INVALID = 0,
1371
+ ARM64_PRFM_PLDL1KEEP = 0x00 + 1,
1372
+ ARM64_PRFM_PLDL1STRM = 0x01 + 1,
1373
+ ARM64_PRFM_PLDL2KEEP = 0x02 + 1,
1374
+ ARM64_PRFM_PLDL2STRM = 0x03 + 1,
1375
+ ARM64_PRFM_PLDL3KEEP = 0x04 + 1,
1376
+ ARM64_PRFM_PLDL3STRM = 0x05 + 1,
1377
+ ARM64_PRFM_PLIL1KEEP = 0x08 + 1,
1378
+ ARM64_PRFM_PLIL1STRM = 0x09 + 1,
1379
+ ARM64_PRFM_PLIL2KEEP = 0x0a + 1,
1380
+ ARM64_PRFM_PLIL2STRM = 0x0b + 1,
1381
+ ARM64_PRFM_PLIL3KEEP = 0x0c + 1,
1382
+ ARM64_PRFM_PLIL3STRM = 0x0d + 1,
1383
+ ARM64_PRFM_PSTL1KEEP = 0x10 + 1,
1384
+ ARM64_PRFM_PSTL1STRM = 0x11 + 1,
1385
+ ARM64_PRFM_PSTL2KEEP = 0x12 + 1,
1386
+ ARM64_PRFM_PSTL2STRM = 0x13 + 1,
1387
+ ARM64_PRFM_PSTL3KEEP = 0x14 + 1,
1388
+ ARM64_PRFM_PSTL3STRM = 0x15 + 1,
1389
+ } arm64_prefetch_op;
1390
+
1391
+ /// ARM64 registers
1392
+ typedef enum arm64_reg {
1393
+ ARM64_REG_INVALID = 0,
1394
+
1395
+ ARM64_REG_FFR = 1,
1396
+ ARM64_REG_FP = 2,
1397
+ ARM64_REG_LR = 3,
1398
+ ARM64_REG_NZCV = 4,
1399
+ ARM64_REG_SP = 5,
1400
+ ARM64_REG_VG = 6,
1401
+ ARM64_REG_WSP = 7,
1402
+ ARM64_REG_WZR = 8,
1403
+ ARM64_REG_XZR = 9,
1404
+ ARM64_REG_ZA = 10,
1405
+ ARM64_REG_B0 = 11,
1406
+ ARM64_REG_B1 = 12,
1407
+ ARM64_REG_B2 = 13,
1408
+ ARM64_REG_B3 = 14,
1409
+ ARM64_REG_B4 = 15,
1410
+ ARM64_REG_B5 = 16,
1411
+ ARM64_REG_B6 = 17,
1412
+ ARM64_REG_B7 = 18,
1413
+ ARM64_REG_B8 = 19,
1414
+ ARM64_REG_B9 = 20,
1415
+ ARM64_REG_B10 = 21,
1416
+ ARM64_REG_B11 = 22,
1417
+ ARM64_REG_B12 = 23,
1418
+ ARM64_REG_B13 = 24,
1419
+ ARM64_REG_B14 = 25,
1420
+ ARM64_REG_B15 = 26,
1421
+ ARM64_REG_B16 = 27,
1422
+ ARM64_REG_B17 = 28,
1423
+ ARM64_REG_B18 = 29,
1424
+ ARM64_REG_B19 = 30,
1425
+ ARM64_REG_B20 = 31,
1426
+ ARM64_REG_B21 = 32,
1427
+ ARM64_REG_B22 = 33,
1428
+ ARM64_REG_B23 = 34,
1429
+ ARM64_REG_B24 = 35,
1430
+ ARM64_REG_B25 = 36,
1431
+ ARM64_REG_B26 = 37,
1432
+ ARM64_REG_B27 = 38,
1433
+ ARM64_REG_B28 = 39,
1434
+ ARM64_REG_B29 = 40,
1435
+ ARM64_REG_B30 = 41,
1436
+ ARM64_REG_B31 = 42,
1437
+ ARM64_REG_D0 = 43,
1438
+ ARM64_REG_D1 = 44,
1439
+ ARM64_REG_D2 = 45,
1440
+ ARM64_REG_D3 = 46,
1441
+ ARM64_REG_D4 = 47,
1442
+ ARM64_REG_D5 = 48,
1443
+ ARM64_REG_D6 = 49,
1444
+ ARM64_REG_D7 = 50,
1445
+ ARM64_REG_D8 = 51,
1446
+ ARM64_REG_D9 = 52,
1447
+ ARM64_REG_D10 = 53,
1448
+ ARM64_REG_D11 = 54,
1449
+ ARM64_REG_D12 = 55,
1450
+ ARM64_REG_D13 = 56,
1451
+ ARM64_REG_D14 = 57,
1452
+ ARM64_REG_D15 = 58,
1453
+ ARM64_REG_D16 = 59,
1454
+ ARM64_REG_D17 = 60,
1455
+ ARM64_REG_D18 = 61,
1456
+ ARM64_REG_D19 = 62,
1457
+ ARM64_REG_D20 = 63,
1458
+ ARM64_REG_D21 = 64,
1459
+ ARM64_REG_D22 = 65,
1460
+ ARM64_REG_D23 = 66,
1461
+ ARM64_REG_D24 = 67,
1462
+ ARM64_REG_D25 = 68,
1463
+ ARM64_REG_D26 = 69,
1464
+ ARM64_REG_D27 = 70,
1465
+ ARM64_REG_D28 = 71,
1466
+ ARM64_REG_D29 = 72,
1467
+ ARM64_REG_D30 = 73,
1468
+ ARM64_REG_D31 = 74,
1469
+ ARM64_REG_H0 = 75,
1470
+ ARM64_REG_H1 = 76,
1471
+ ARM64_REG_H2 = 77,
1472
+ ARM64_REG_H3 = 78,
1473
+ ARM64_REG_H4 = 79,
1474
+ ARM64_REG_H5 = 80,
1475
+ ARM64_REG_H6 = 81,
1476
+ ARM64_REG_H7 = 82,
1477
+ ARM64_REG_H8 = 83,
1478
+ ARM64_REG_H9 = 84,
1479
+ ARM64_REG_H10 = 85,
1480
+ ARM64_REG_H11 = 86,
1481
+ ARM64_REG_H12 = 87,
1482
+ ARM64_REG_H13 = 88,
1483
+ ARM64_REG_H14 = 89,
1484
+ ARM64_REG_H15 = 90,
1485
+ ARM64_REG_H16 = 91,
1486
+ ARM64_REG_H17 = 92,
1487
+ ARM64_REG_H18 = 93,
1488
+ ARM64_REG_H19 = 94,
1489
+ ARM64_REG_H20 = 95,
1490
+ ARM64_REG_H21 = 96,
1491
+ ARM64_REG_H22 = 97,
1492
+ ARM64_REG_H23 = 98,
1493
+ ARM64_REG_H24 = 99,
1494
+ ARM64_REG_H25 = 100,
1495
+ ARM64_REG_H26 = 101,
1496
+ ARM64_REG_H27 = 102,
1497
+ ARM64_REG_H28 = 103,
1498
+ ARM64_REG_H29 = 104,
1499
+ ARM64_REG_H30 = 105,
1500
+ ARM64_REG_H31 = 106,
1501
+ ARM64_REG_P0 = 107,
1502
+ ARM64_REG_P1 = 108,
1503
+ ARM64_REG_P2 = 109,
1504
+ ARM64_REG_P3 = 110,
1505
+ ARM64_REG_P4 = 111,
1506
+ ARM64_REG_P5 = 112,
1507
+ ARM64_REG_P6 = 113,
1508
+ ARM64_REG_P7 = 114,
1509
+ ARM64_REG_P8 = 115,
1510
+ ARM64_REG_P9 = 116,
1511
+ ARM64_REG_P10 = 117,
1512
+ ARM64_REG_P11 = 118,
1513
+ ARM64_REG_P12 = 119,
1514
+ ARM64_REG_P13 = 120,
1515
+ ARM64_REG_P14 = 121,
1516
+ ARM64_REG_P15 = 122,
1517
+ ARM64_REG_Q0 = 123,
1518
+ ARM64_REG_Q1 = 124,
1519
+ ARM64_REG_Q2 = 125,
1520
+ ARM64_REG_Q3 = 126,
1521
+ ARM64_REG_Q4 = 127,
1522
+ ARM64_REG_Q5 = 128,
1523
+ ARM64_REG_Q6 = 129,
1524
+ ARM64_REG_Q7 = 130,
1525
+ ARM64_REG_Q8 = 131,
1526
+ ARM64_REG_Q9 = 132,
1527
+ ARM64_REG_Q10 = 133,
1528
+ ARM64_REG_Q11 = 134,
1529
+ ARM64_REG_Q12 = 135,
1530
+ ARM64_REG_Q13 = 136,
1531
+ ARM64_REG_Q14 = 137,
1532
+ ARM64_REG_Q15 = 138,
1533
+ ARM64_REG_Q16 = 139,
1534
+ ARM64_REG_Q17 = 140,
1535
+ ARM64_REG_Q18 = 141,
1536
+ ARM64_REG_Q19 = 142,
1537
+ ARM64_REG_Q20 = 143,
1538
+ ARM64_REG_Q21 = 144,
1539
+ ARM64_REG_Q22 = 145,
1540
+ ARM64_REG_Q23 = 146,
1541
+ ARM64_REG_Q24 = 147,
1542
+ ARM64_REG_Q25 = 148,
1543
+ ARM64_REG_Q26 = 149,
1544
+ ARM64_REG_Q27 = 150,
1545
+ ARM64_REG_Q28 = 151,
1546
+ ARM64_REG_Q29 = 152,
1547
+ ARM64_REG_Q30 = 153,
1548
+ ARM64_REG_Q31 = 154,
1549
+ ARM64_REG_S0 = 155,
1550
+ ARM64_REG_S1 = 156,
1551
+ ARM64_REG_S2 = 157,
1552
+ ARM64_REG_S3 = 158,
1553
+ ARM64_REG_S4 = 159,
1554
+ ARM64_REG_S5 = 160,
1555
+ ARM64_REG_S6 = 161,
1556
+ ARM64_REG_S7 = 162,
1557
+ ARM64_REG_S8 = 163,
1558
+ ARM64_REG_S9 = 164,
1559
+ ARM64_REG_S10 = 165,
1560
+ ARM64_REG_S11 = 166,
1561
+ ARM64_REG_S12 = 167,
1562
+ ARM64_REG_S13 = 168,
1563
+ ARM64_REG_S14 = 169,
1564
+ ARM64_REG_S15 = 170,
1565
+ ARM64_REG_S16 = 171,
1566
+ ARM64_REG_S17 = 172,
1567
+ ARM64_REG_S18 = 173,
1568
+ ARM64_REG_S19 = 174,
1569
+ ARM64_REG_S20 = 175,
1570
+ ARM64_REG_S21 = 176,
1571
+ ARM64_REG_S22 = 177,
1572
+ ARM64_REG_S23 = 178,
1573
+ ARM64_REG_S24 = 179,
1574
+ ARM64_REG_S25 = 180,
1575
+ ARM64_REG_S26 = 181,
1576
+ ARM64_REG_S27 = 182,
1577
+ ARM64_REG_S28 = 183,
1578
+ ARM64_REG_S29 = 184,
1579
+ ARM64_REG_S30 = 185,
1580
+ ARM64_REG_S31 = 186,
1581
+ ARM64_REG_W0 = 187,
1582
+ ARM64_REG_W1 = 188,
1583
+ ARM64_REG_W2 = 189,
1584
+ ARM64_REG_W3 = 190,
1585
+ ARM64_REG_W4 = 191,
1586
+ ARM64_REG_W5 = 192,
1587
+ ARM64_REG_W6 = 193,
1588
+ ARM64_REG_W7 = 194,
1589
+ ARM64_REG_W8 = 195,
1590
+ ARM64_REG_W9 = 196,
1591
+ ARM64_REG_W10 = 197,
1592
+ ARM64_REG_W11 = 198,
1593
+ ARM64_REG_W12 = 199,
1594
+ ARM64_REG_W13 = 200,
1595
+ ARM64_REG_W14 = 201,
1596
+ ARM64_REG_W15 = 202,
1597
+ ARM64_REG_W16 = 203,
1598
+ ARM64_REG_W17 = 204,
1599
+ ARM64_REG_W18 = 205,
1600
+ ARM64_REG_W19 = 206,
1601
+ ARM64_REG_W20 = 207,
1602
+ ARM64_REG_W21 = 208,
1603
+ ARM64_REG_W22 = 209,
1604
+ ARM64_REG_W23 = 210,
1605
+ ARM64_REG_W24 = 211,
1606
+ ARM64_REG_W25 = 212,
1607
+ ARM64_REG_W26 = 213,
1608
+ ARM64_REG_W27 = 214,
1609
+ ARM64_REG_W28 = 215,
1610
+ ARM64_REG_W29 = 216,
1611
+ ARM64_REG_W30 = 217,
1612
+ ARM64_REG_X0 = 218,
1613
+ ARM64_REG_X1 = 219,
1614
+ ARM64_REG_X2 = 220,
1615
+ ARM64_REG_X3 = 221,
1616
+ ARM64_REG_X4 = 222,
1617
+ ARM64_REG_X5 = 223,
1618
+ ARM64_REG_X6 = 224,
1619
+ ARM64_REG_X7 = 225,
1620
+ ARM64_REG_X8 = 226,
1621
+ ARM64_REG_X9 = 227,
1622
+ ARM64_REG_X10 = 228,
1623
+ ARM64_REG_X11 = 229,
1624
+ ARM64_REG_X12 = 230,
1625
+ ARM64_REG_X13 = 231,
1626
+ ARM64_REG_X14 = 232,
1627
+ ARM64_REG_X15 = 233,
1628
+ ARM64_REG_X16 = 234,
1629
+ ARM64_REG_X17 = 235,
1630
+ ARM64_REG_X18 = 236,
1631
+ ARM64_REG_X19 = 237,
1632
+ ARM64_REG_X20 = 238,
1633
+ ARM64_REG_X21 = 239,
1634
+ ARM64_REG_X22 = 240,
1635
+ ARM64_REG_X23 = 241,
1636
+ ARM64_REG_X24 = 242,
1637
+ ARM64_REG_X25 = 243,
1638
+ ARM64_REG_X26 = 244,
1639
+ ARM64_REG_X27 = 245,
1640
+ ARM64_REG_X28 = 246,
1641
+ ARM64_REG_Z0 = 247,
1642
+ ARM64_REG_Z1 = 248,
1643
+ ARM64_REG_Z2 = 249,
1644
+ ARM64_REG_Z3 = 250,
1645
+ ARM64_REG_Z4 = 251,
1646
+ ARM64_REG_Z5 = 252,
1647
+ ARM64_REG_Z6 = 253,
1648
+ ARM64_REG_Z7 = 254,
1649
+ ARM64_REG_Z8 = 255,
1650
+ ARM64_REG_Z9 = 256,
1651
+ ARM64_REG_Z10 = 257,
1652
+ ARM64_REG_Z11 = 258,
1653
+ ARM64_REG_Z12 = 259,
1654
+ ARM64_REG_Z13 = 260,
1655
+ ARM64_REG_Z14 = 261,
1656
+ ARM64_REG_Z15 = 262,
1657
+ ARM64_REG_Z16 = 263,
1658
+ ARM64_REG_Z17 = 264,
1659
+ ARM64_REG_Z18 = 265,
1660
+ ARM64_REG_Z19 = 266,
1661
+ ARM64_REG_Z20 = 267,
1662
+ ARM64_REG_Z21 = 268,
1663
+ ARM64_REG_Z22 = 269,
1664
+ ARM64_REG_Z23 = 270,
1665
+ ARM64_REG_Z24 = 271,
1666
+ ARM64_REG_Z25 = 272,
1667
+ ARM64_REG_Z26 = 273,
1668
+ ARM64_REG_Z27 = 274,
1669
+ ARM64_REG_Z28 = 275,
1670
+ ARM64_REG_Z29 = 276,
1671
+ ARM64_REG_Z30 = 277,
1672
+ ARM64_REG_Z31 = 278,
1673
+ ARM64_REG_ZAB0 = 279,
1674
+ ARM64_REG_ZAD0 = 280,
1675
+ ARM64_REG_ZAD1 = 281,
1676
+ ARM64_REG_ZAD2 = 282,
1677
+ ARM64_REG_ZAD3 = 283,
1678
+ ARM64_REG_ZAD4 = 284,
1679
+ ARM64_REG_ZAD5 = 285,
1680
+ ARM64_REG_ZAD6 = 286,
1681
+ ARM64_REG_ZAD7 = 287,
1682
+ ARM64_REG_ZAH0 = 288,
1683
+ ARM64_REG_ZAH1 = 289,
1684
+ ARM64_REG_ZAQ0 = 290,
1685
+ ARM64_REG_ZAQ1 = 291,
1686
+ ARM64_REG_ZAQ2 = 292,
1687
+ ARM64_REG_ZAQ3 = 293,
1688
+ ARM64_REG_ZAQ4 = 294,
1689
+ ARM64_REG_ZAQ5 = 295,
1690
+ ARM64_REG_ZAQ6 = 296,
1691
+ ARM64_REG_ZAQ7 = 297,
1692
+ ARM64_REG_ZAQ8 = 298,
1693
+ ARM64_REG_ZAQ9 = 299,
1694
+ ARM64_REG_ZAQ10 = 300,
1695
+ ARM64_REG_ZAQ11 = 301,
1696
+ ARM64_REG_ZAQ12 = 302,
1697
+ ARM64_REG_ZAQ13 = 303,
1698
+ ARM64_REG_ZAQ14 = 304,
1699
+ ARM64_REG_ZAQ15 = 305,
1700
+ ARM64_REG_ZAS0 = 306,
1701
+ ARM64_REG_ZAS1 = 307,
1702
+ ARM64_REG_ZAS2 = 308,
1703
+ ARM64_REG_ZAS3 = 309,
1704
+
1705
+ ARM64_REG_V0,
1706
+ ARM64_REG_V1,
1707
+ ARM64_REG_V2,
1708
+ ARM64_REG_V3,
1709
+ ARM64_REG_V4,
1710
+ ARM64_REG_V5,
1711
+ ARM64_REG_V6,
1712
+ ARM64_REG_V7,
1713
+ ARM64_REG_V8,
1714
+ ARM64_REG_V9,
1715
+ ARM64_REG_V10,
1716
+ ARM64_REG_V11,
1717
+ ARM64_REG_V12,
1718
+ ARM64_REG_V13,
1719
+ ARM64_REG_V14,
1720
+ ARM64_REG_V15,
1721
+ ARM64_REG_V16,
1722
+ ARM64_REG_V17,
1723
+ ARM64_REG_V18,
1724
+ ARM64_REG_V19,
1725
+ ARM64_REG_V20,
1726
+ ARM64_REG_V21,
1727
+ ARM64_REG_V22,
1728
+ ARM64_REG_V23,
1729
+ ARM64_REG_V24,
1730
+ ARM64_REG_V25,
1731
+ ARM64_REG_V26,
1732
+ ARM64_REG_V27,
1733
+ ARM64_REG_V28,
1734
+ ARM64_REG_V29,
1735
+ ARM64_REG_V30,
1736
+ ARM64_REG_V31,
1737
+
1738
+ ARM64_REG_ENDING, // <-- mark the end of the list of registers
1739
+
1740
+ // alias registers
1741
+ ARM64_REG_IP0 = ARM64_REG_X16,
1742
+ ARM64_REG_IP1 = ARM64_REG_X17,
1743
+ ARM64_REG_X29 = ARM64_REG_FP,
1744
+ ARM64_REG_X30 = ARM64_REG_LR,
1745
+ } arm64_reg;
1746
+
1747
+ /// Instruction's operand referring to memory
1748
+ /// This is associated with ARM64_OP_MEM operand type above
1749
+ typedef struct arm64_op_mem {
1750
+ arm64_reg base; ///< base register
1751
+ arm64_reg index; ///< index register
1752
+ int32_t disp; ///< displacement/offset value
1753
+ } arm64_op_mem;
1754
+
1755
+ /// SME Instruction's operand has index
1756
+ /// This is associated with ARM64_OP_SME_INDEX operand type above
1757
+ typedef struct arm64_op_sme_index {
1758
+ arm64_reg reg; ///< register being indexed
1759
+ arm64_reg base; ///< base register
1760
+ int32_t disp; ///< displacement/offset value
1761
+ } arm64_op_sme_index;
1762
+
1763
+ /// Instruction operand
1764
+ typedef struct cs_arm64_op {
1765
+ int vector_index; ///< Vector Index for some vector operands (or -1 if
1766
+ ///< irrelevant)
1767
+ arm64_vas vas; ///< Vector Arrangement Specifier
1768
+ struct {
1769
+ arm64_shifter type; ///< shifter type of this operand
1770
+ unsigned int value; ///< shifter value of this operand
1771
+ } shift;
1772
+ arm64_extender ext; ///< extender type of this operand
1773
+ arm64_op_type type; ///< operand type
1774
+ arm64_svcr_op svcr; ///< MSR/MRS SVCR instruction variant.
1775
+ union {
1776
+ arm64_reg reg; ///< register value for REG operand
1777
+ int64_t imm; ///< immediate value, or index for C-IMM or IMM operand
1778
+ double fp; ///< floating point value for FP operand
1779
+ arm64_op_mem mem; ///< base/index/scale/disp value for MEM operand
1780
+ arm64_pstate pstate; ///< PState field of MSR instruction.
1781
+ arm64_sys_op sys; ///< IC/DC/AT/TLBI operation (see arm64_ic_op,
1782
+ ///< arm64_dc_op, arm64_at_op, arm64_tlbi_op)
1783
+ arm64_prefetch_op prefetch; ///< PRFM operation.
1784
+ arm64_barrier_op
1785
+ barrier; ///< Memory barrier operation (ISB/DMB/DSB instructions).
1786
+ arm64_op_sme_index sme_index; ///< base/disp value for matrix tile slice
1787
+ ///< instructions.
1788
+ };
1789
+
1790
+ /// How is this operand accessed? (READ, WRITE or READ|WRITE)
1791
+ /// This field is combined of cs_ac_type.
1792
+ /// NOTE: this field is irrelevant if engine is compiled in DIET mode.
1793
+ uint8_t access;
1794
+ } cs_arm64_op;
1795
+
1796
+ /// Instruction structure
1797
+ typedef struct cs_arm64 {
1798
+ arm64_cc cc; ///< conditional code for this insn
1799
+ bool update_flags; ///< does this insn update flags?
1800
+ bool writeback; ///< does this insn request writeback? 'True' means 'yes'
1801
+ bool post_index; ///< only set if writeback is 'True', if 'False' pre-index, otherwise post.
1802
+
1803
+ /// Number of operands of this instruction,
1804
+ /// or 0 when instruction has no operand.
1805
+ uint8_t op_count;
1806
+
1807
+ cs_arm64_op operands[8]; ///< operands for this instruction.
1808
+ } cs_arm64;
1809
+
1810
+ /// ARM64 instruction
1811
+ typedef enum arm64_insn {
1812
+ ARM64_INS_INVALID = 0,
1813
+
1814
+ ARM64_INS_ABS,
1815
+ ARM64_INS_ADC,
1816
+ ARM64_INS_ADCLB,
1817
+ ARM64_INS_ADCLT,
1818
+ ARM64_INS_ADCS,
1819
+ ARM64_INS_ADD,
1820
+ ARM64_INS_ADDG,
1821
+ ARM64_INS_ADDHA,
1822
+ ARM64_INS_ADDHN,
1823
+ ARM64_INS_ADDHN2,
1824
+ ARM64_INS_ADDHNB,
1825
+ ARM64_INS_ADDHNT,
1826
+ ARM64_INS_ADDP,
1827
+ ARM64_INS_ADDPL,
1828
+ ARM64_INS_ADDS,
1829
+ ARM64_INS_ADDV,
1830
+ ARM64_INS_ADDVA,
1831
+ ARM64_INS_ADDVL,
1832
+ ARM64_INS_ADR,
1833
+ ARM64_INS_ADRP,
1834
+ ARM64_INS_AESD,
1835
+ ARM64_INS_AESE,
1836
+ ARM64_INS_AESIMC,
1837
+ ARM64_INS_AESMC,
1838
+ ARM64_INS_AND,
1839
+ ARM64_INS_ANDS,
1840
+ ARM64_INS_ANDV,
1841
+ ARM64_INS_ASR,
1842
+ ARM64_INS_ASRD,
1843
+ ARM64_INS_ASRR,
1844
+ ARM64_INS_ASRV,
1845
+ ARM64_INS_AUTDA,
1846
+ ARM64_INS_AUTDB,
1847
+ ARM64_INS_AUTDZA,
1848
+ ARM64_INS_AUTDZB,
1849
+ ARM64_INS_AUTIA,
1850
+ ARM64_INS_AUTIA1716,
1851
+ ARM64_INS_AUTIASP,
1852
+ ARM64_INS_AUTIAZ,
1853
+ ARM64_INS_AUTIB,
1854
+ ARM64_INS_AUTIB1716,
1855
+ ARM64_INS_AUTIBSP,
1856
+ ARM64_INS_AUTIBZ,
1857
+ ARM64_INS_AUTIZA,
1858
+ ARM64_INS_AUTIZB,
1859
+ ARM64_INS_AXFLAG,
1860
+ ARM64_INS_B,
1861
+ ARM64_INS_BC,
1862
+ ARM64_INS_BCAX,
1863
+ ARM64_INS_BDEP,
1864
+ ARM64_INS_BEXT,
1865
+ ARM64_INS_BFCVT,
1866
+ ARM64_INS_BFCVTN,
1867
+ ARM64_INS_BFCVTN2,
1868
+ ARM64_INS_BFCVTNT,
1869
+ ARM64_INS_BFDOT,
1870
+ ARM64_INS_BFM,
1871
+ ARM64_INS_BFMLALB,
1872
+ ARM64_INS_BFMLALT,
1873
+ ARM64_INS_BFMMLA,
1874
+ ARM64_INS_BFMOPA,
1875
+ ARM64_INS_BFMOPS,
1876
+ ARM64_INS_BGRP,
1877
+ ARM64_INS_BIC,
1878
+ ARM64_INS_BICS,
1879
+ ARM64_INS_BIF,
1880
+ ARM64_INS_BIT,
1881
+ ARM64_INS_BL,
1882
+ ARM64_INS_BLR,
1883
+ ARM64_INS_BLRAA,
1884
+ ARM64_INS_BLRAAZ,
1885
+ ARM64_INS_BLRAB,
1886
+ ARM64_INS_BLRABZ,
1887
+ ARM64_INS_BR,
1888
+ ARM64_INS_BRAA,
1889
+ ARM64_INS_BRAAZ,
1890
+ ARM64_INS_BRAB,
1891
+ ARM64_INS_BRABZ,
1892
+ ARM64_INS_BRB,
1893
+ ARM64_INS_BRK,
1894
+ ARM64_INS_BRKA,
1895
+ ARM64_INS_BRKAS,
1896
+ ARM64_INS_BRKB,
1897
+ ARM64_INS_BRKBS,
1898
+ ARM64_INS_BRKN,
1899
+ ARM64_INS_BRKNS,
1900
+ ARM64_INS_BRKPA,
1901
+ ARM64_INS_BRKPAS,
1902
+ ARM64_INS_BRKPB,
1903
+ ARM64_INS_BRKPBS,
1904
+ ARM64_INS_BSL,
1905
+ ARM64_INS_BSL1N,
1906
+ ARM64_INS_BSL2N,
1907
+ ARM64_INS_BTI,
1908
+ ARM64_INS_CADD,
1909
+ ARM64_INS_CAS,
1910
+ ARM64_INS_CASA,
1911
+ ARM64_INS_CASAB,
1912
+ ARM64_INS_CASAH,
1913
+ ARM64_INS_CASAL,
1914
+ ARM64_INS_CASALB,
1915
+ ARM64_INS_CASALH,
1916
+ ARM64_INS_CASB,
1917
+ ARM64_INS_CASH,
1918
+ ARM64_INS_CASL,
1919
+ ARM64_INS_CASLB,
1920
+ ARM64_INS_CASLH,
1921
+ ARM64_INS_CASP,
1922
+ ARM64_INS_CASPA,
1923
+ ARM64_INS_CASPAL,
1924
+ ARM64_INS_CASPL,
1925
+ ARM64_INS_CBNZ,
1926
+ ARM64_INS_CBZ,
1927
+ ARM64_INS_CCMN,
1928
+ ARM64_INS_CCMP,
1929
+ ARM64_INS_CDOT,
1930
+ ARM64_INS_CFINV,
1931
+ ARM64_INS_CINC,
1932
+ ARM64_INS_CINV,
1933
+ ARM64_INS_CLASTA,
1934
+ ARM64_INS_CLASTB,
1935
+ ARM64_INS_CLREX,
1936
+ ARM64_INS_CLS,
1937
+ ARM64_INS_CLZ,
1938
+ ARM64_INS_CMEQ,
1939
+ ARM64_INS_CMGE,
1940
+ ARM64_INS_CMGT,
1941
+ ARM64_INS_CMHI,
1942
+ ARM64_INS_CMHS,
1943
+ ARM64_INS_CMLA,
1944
+ ARM64_INS_CMLE,
1945
+ ARM64_INS_CMLO,
1946
+ ARM64_INS_CMLS,
1947
+ ARM64_INS_CMLT,
1948
+ ARM64_INS_CMN,
1949
+ ARM64_INS_CMP,
1950
+ ARM64_INS_CMPEQ,
1951
+ ARM64_INS_CMPGE,
1952
+ ARM64_INS_CMPGT,
1953
+ ARM64_INS_CMPHI,
1954
+ ARM64_INS_CMPHS,
1955
+ ARM64_INS_CMPLE,
1956
+ ARM64_INS_CMPLO,
1957
+ ARM64_INS_CMPLS,
1958
+ ARM64_INS_CMPLT,
1959
+ ARM64_INS_CMPNE,
1960
+ ARM64_INS_CMPP,
1961
+ ARM64_INS_CMTST,
1962
+ ARM64_INS_CNEG,
1963
+ ARM64_INS_CNOT,
1964
+ ARM64_INS_CNT,
1965
+ ARM64_INS_CNTB,
1966
+ ARM64_INS_CNTD,
1967
+ ARM64_INS_CNTH,
1968
+ ARM64_INS_CNTP,
1969
+ ARM64_INS_CNTW,
1970
+ ARM64_INS_COMPACT,
1971
+ ARM64_INS_CPY,
1972
+ ARM64_INS_CPYE,
1973
+ ARM64_INS_CPYEN,
1974
+ ARM64_INS_CPYERN,
1975
+ ARM64_INS_CPYERT,
1976
+ ARM64_INS_CPYERTN,
1977
+ ARM64_INS_CPYERTRN,
1978
+ ARM64_INS_CPYERTWN,
1979
+ ARM64_INS_CPYET,
1980
+ ARM64_INS_CPYETN,
1981
+ ARM64_INS_CPYETRN,
1982
+ ARM64_INS_CPYETWN,
1983
+ ARM64_INS_CPYEWN,
1984
+ ARM64_INS_CPYEWT,
1985
+ ARM64_INS_CPYEWTN,
1986
+ ARM64_INS_CPYEWTRN,
1987
+ ARM64_INS_CPYEWTWN,
1988
+ ARM64_INS_CPYFE,
1989
+ ARM64_INS_CPYFEN,
1990
+ ARM64_INS_CPYFERN,
1991
+ ARM64_INS_CPYFERT,
1992
+ ARM64_INS_CPYFERTN,
1993
+ ARM64_INS_CPYFERTRN,
1994
+ ARM64_INS_CPYFERTWN,
1995
+ ARM64_INS_CPYFET,
1996
+ ARM64_INS_CPYFETN,
1997
+ ARM64_INS_CPYFETRN,
1998
+ ARM64_INS_CPYFETWN,
1999
+ ARM64_INS_CPYFEWN,
2000
+ ARM64_INS_CPYFEWT,
2001
+ ARM64_INS_CPYFEWTN,
2002
+ ARM64_INS_CPYFEWTRN,
2003
+ ARM64_INS_CPYFEWTWN,
2004
+ ARM64_INS_CPYFM,
2005
+ ARM64_INS_CPYFMN,
2006
+ ARM64_INS_CPYFMRN,
2007
+ ARM64_INS_CPYFMRT,
2008
+ ARM64_INS_CPYFMRTN,
2009
+ ARM64_INS_CPYFMRTRN,
2010
+ ARM64_INS_CPYFMRTWN,
2011
+ ARM64_INS_CPYFMT,
2012
+ ARM64_INS_CPYFMTN,
2013
+ ARM64_INS_CPYFMTRN,
2014
+ ARM64_INS_CPYFMTWN,
2015
+ ARM64_INS_CPYFMWN,
2016
+ ARM64_INS_CPYFMWT,
2017
+ ARM64_INS_CPYFMWTN,
2018
+ ARM64_INS_CPYFMWTRN,
2019
+ ARM64_INS_CPYFMWTWN,
2020
+ ARM64_INS_CPYFP,
2021
+ ARM64_INS_CPYFPN,
2022
+ ARM64_INS_CPYFPRN,
2023
+ ARM64_INS_CPYFPRT,
2024
+ ARM64_INS_CPYFPRTN,
2025
+ ARM64_INS_CPYFPRTRN,
2026
+ ARM64_INS_CPYFPRTWN,
2027
+ ARM64_INS_CPYFPT,
2028
+ ARM64_INS_CPYFPTN,
2029
+ ARM64_INS_CPYFPTRN,
2030
+ ARM64_INS_CPYFPTWN,
2031
+ ARM64_INS_CPYFPWN,
2032
+ ARM64_INS_CPYFPWT,
2033
+ ARM64_INS_CPYFPWTN,
2034
+ ARM64_INS_CPYFPWTRN,
2035
+ ARM64_INS_CPYFPWTWN,
2036
+ ARM64_INS_CPYM,
2037
+ ARM64_INS_CPYMN,
2038
+ ARM64_INS_CPYMRN,
2039
+ ARM64_INS_CPYMRT,
2040
+ ARM64_INS_CPYMRTN,
2041
+ ARM64_INS_CPYMRTRN,
2042
+ ARM64_INS_CPYMRTWN,
2043
+ ARM64_INS_CPYMT,
2044
+ ARM64_INS_CPYMTN,
2045
+ ARM64_INS_CPYMTRN,
2046
+ ARM64_INS_CPYMTWN,
2047
+ ARM64_INS_CPYMWN,
2048
+ ARM64_INS_CPYMWT,
2049
+ ARM64_INS_CPYMWTN,
2050
+ ARM64_INS_CPYMWTRN,
2051
+ ARM64_INS_CPYMWTWN,
2052
+ ARM64_INS_CPYP,
2053
+ ARM64_INS_CPYPN,
2054
+ ARM64_INS_CPYPRN,
2055
+ ARM64_INS_CPYPRT,
2056
+ ARM64_INS_CPYPRTN,
2057
+ ARM64_INS_CPYPRTRN,
2058
+ ARM64_INS_CPYPRTWN,
2059
+ ARM64_INS_CPYPT,
2060
+ ARM64_INS_CPYPTN,
2061
+ ARM64_INS_CPYPTRN,
2062
+ ARM64_INS_CPYPTWN,
2063
+ ARM64_INS_CPYPWN,
2064
+ ARM64_INS_CPYPWT,
2065
+ ARM64_INS_CPYPWTN,
2066
+ ARM64_INS_CPYPWTRN,
2067
+ ARM64_INS_CPYPWTWN,
2068
+ ARM64_INS_CRC32B,
2069
+ ARM64_INS_CRC32CB,
2070
+ ARM64_INS_CRC32CH,
2071
+ ARM64_INS_CRC32CW,
2072
+ ARM64_INS_CRC32CX,
2073
+ ARM64_INS_CRC32H,
2074
+ ARM64_INS_CRC32W,
2075
+ ARM64_INS_CRC32X,
2076
+ ARM64_INS_CSDB,
2077
+ ARM64_INS_CSEL,
2078
+ ARM64_INS_CSET,
2079
+ ARM64_INS_CSETM,
2080
+ ARM64_INS_CSINC,
2081
+ ARM64_INS_CSINV,
2082
+ ARM64_INS_CSNEG,
2083
+ ARM64_INS_CTERMEQ,
2084
+ ARM64_INS_CTERMNE,
2085
+ ARM64_INS_DCPS1,
2086
+ ARM64_INS_DCPS2,
2087
+ ARM64_INS_DCPS3,
2088
+ ARM64_INS_DECB,
2089
+ ARM64_INS_DECD,
2090
+ ARM64_INS_DECH,
2091
+ ARM64_INS_DECP,
2092
+ ARM64_INS_DECW,
2093
+ ARM64_INS_DFB,
2094
+ ARM64_INS_DGH,
2095
+ ARM64_INS_DMB,
2096
+ ARM64_INS_DRPS,
2097
+ ARM64_INS_DSB,
2098
+ ARM64_INS_DUP,
2099
+ ARM64_INS_DUPM,
2100
+ ARM64_INS_EON,
2101
+ ARM64_INS_EOR,
2102
+ ARM64_INS_EOR3,
2103
+ ARM64_INS_EORBT,
2104
+ ARM64_INS_EORS,
2105
+ ARM64_INS_EORTB,
2106
+ ARM64_INS_EORV,
2107
+ ARM64_INS_ERET,
2108
+ ARM64_INS_ERETAA,
2109
+ ARM64_INS_ERETAB,
2110
+ ARM64_INS_ESB,
2111
+ ARM64_INS_EXT,
2112
+ ARM64_INS_EXTR,
2113
+ ARM64_INS_FABD,
2114
+ ARM64_INS_FABS,
2115
+ ARM64_INS_FACGE,
2116
+ ARM64_INS_FACGT,
2117
+ ARM64_INS_FACLE,
2118
+ ARM64_INS_FACLT,
2119
+ ARM64_INS_FADD,
2120
+ ARM64_INS_FADDA,
2121
+ ARM64_INS_FADDP,
2122
+ ARM64_INS_FADDV,
2123
+ ARM64_INS_FCADD,
2124
+ ARM64_INS_FCCMP,
2125
+ ARM64_INS_FCCMPE,
2126
+ ARM64_INS_FCMEQ,
2127
+ ARM64_INS_FCMGE,
2128
+ ARM64_INS_FCMGT,
2129
+ ARM64_INS_FCMLA,
2130
+ ARM64_INS_FCMLE,
2131
+ ARM64_INS_FCMLT,
2132
+ ARM64_INS_FCMNE,
2133
+ ARM64_INS_FCMP,
2134
+ ARM64_INS_FCMPE,
2135
+ ARM64_INS_FCMUO,
2136
+ ARM64_INS_FCPY,
2137
+ ARM64_INS_FCSEL,
2138
+ ARM64_INS_FCVT,
2139
+ ARM64_INS_FCVTAS,
2140
+ ARM64_INS_FCVTAU,
2141
+ ARM64_INS_FCVTL,
2142
+ ARM64_INS_FCVTL2,
2143
+ ARM64_INS_FCVTLT,
2144
+ ARM64_INS_FCVTMS,
2145
+ ARM64_INS_FCVTMU,
2146
+ ARM64_INS_FCVTN,
2147
+ ARM64_INS_FCVTN2,
2148
+ ARM64_INS_FCVTNS,
2149
+ ARM64_INS_FCVTNT,
2150
+ ARM64_INS_FCVTNU,
2151
+ ARM64_INS_FCVTPS,
2152
+ ARM64_INS_FCVTPU,
2153
+ ARM64_INS_FCVTX,
2154
+ ARM64_INS_FCVTXN,
2155
+ ARM64_INS_FCVTXN2,
2156
+ ARM64_INS_FCVTXNT,
2157
+ ARM64_INS_FCVTZS,
2158
+ ARM64_INS_FCVTZU,
2159
+ ARM64_INS_FDIV,
2160
+ ARM64_INS_FDIVR,
2161
+ ARM64_INS_FDUP,
2162
+ ARM64_INS_FEXPA,
2163
+ ARM64_INS_FJCVTZS,
2164
+ ARM64_INS_FLOGB,
2165
+ ARM64_INS_FMAD,
2166
+ ARM64_INS_FMADD,
2167
+ ARM64_INS_FMAX,
2168
+ ARM64_INS_FMAXNM,
2169
+ ARM64_INS_FMAXNMP,
2170
+ ARM64_INS_FMAXNMV,
2171
+ ARM64_INS_FMAXP,
2172
+ ARM64_INS_FMAXV,
2173
+ ARM64_INS_FMIN,
2174
+ ARM64_INS_FMINNM,
2175
+ ARM64_INS_FMINNMP,
2176
+ ARM64_INS_FMINNMV,
2177
+ ARM64_INS_FMINP,
2178
+ ARM64_INS_FMINV,
2179
+ ARM64_INS_FMLA,
2180
+ ARM64_INS_FMLAL,
2181
+ ARM64_INS_FMLAL2,
2182
+ ARM64_INS_FMLALB,
2183
+ ARM64_INS_FMLALT,
2184
+ ARM64_INS_FMLS,
2185
+ ARM64_INS_FMLSL,
2186
+ ARM64_INS_FMLSL2,
2187
+ ARM64_INS_FMLSLB,
2188
+ ARM64_INS_FMLSLT,
2189
+ ARM64_INS_FMMLA,
2190
+ ARM64_INS_FMOPA,
2191
+ ARM64_INS_FMOPS,
2192
+ ARM64_INS_FMOV,
2193
+ ARM64_INS_FMSB,
2194
+ ARM64_INS_FMSUB,
2195
+ ARM64_INS_FMUL,
2196
+ ARM64_INS_FMULX,
2197
+ ARM64_INS_FNEG,
2198
+ ARM64_INS_FNMAD,
2199
+ ARM64_INS_FNMADD,
2200
+ ARM64_INS_FNMLA,
2201
+ ARM64_INS_FNMLS,
2202
+ ARM64_INS_FNMSB,
2203
+ ARM64_INS_FNMSUB,
2204
+ ARM64_INS_FNMUL,
2205
+ ARM64_INS_FRECPE,
2206
+ ARM64_INS_FRECPS,
2207
+ ARM64_INS_FRECPX,
2208
+ ARM64_INS_FRINT32X,
2209
+ ARM64_INS_FRINT32Z,
2210
+ ARM64_INS_FRINT64X,
2211
+ ARM64_INS_FRINT64Z,
2212
+ ARM64_INS_FRINTA,
2213
+ ARM64_INS_FRINTI,
2214
+ ARM64_INS_FRINTM,
2215
+ ARM64_INS_FRINTN,
2216
+ ARM64_INS_FRINTP,
2217
+ ARM64_INS_FRINTX,
2218
+ ARM64_INS_FRINTZ,
2219
+ ARM64_INS_FRSQRTE,
2220
+ ARM64_INS_FRSQRTS,
2221
+ ARM64_INS_FSCALE,
2222
+ ARM64_INS_FSQRT,
2223
+ ARM64_INS_FSUB,
2224
+ ARM64_INS_FSUBR,
2225
+ ARM64_INS_FTMAD,
2226
+ ARM64_INS_FTSMUL,
2227
+ ARM64_INS_FTSSEL,
2228
+ ARM64_INS_GMI,
2229
+ ARM64_INS_HINT,
2230
+ ARM64_INS_HISTCNT,
2231
+ ARM64_INS_HISTSEG,
2232
+ ARM64_INS_HLT,
2233
+ ARM64_INS_HVC,
2234
+ ARM64_INS_INCB,
2235
+ ARM64_INS_INCD,
2236
+ ARM64_INS_INCH,
2237
+ ARM64_INS_INCP,
2238
+ ARM64_INS_INCW,
2239
+ ARM64_INS_INDEX,
2240
+ ARM64_INS_INS,
2241
+ ARM64_INS_INSR,
2242
+ ARM64_INS_IRG,
2243
+ ARM64_INS_ISB,
2244
+ ARM64_INS_LASTA,
2245
+ ARM64_INS_LASTB,
2246
+ ARM64_INS_LD1,
2247
+ ARM64_INS_LD1B,
2248
+ ARM64_INS_LD1D,
2249
+ ARM64_INS_LD1H,
2250
+ ARM64_INS_LD1Q,
2251
+ ARM64_INS_LD1R,
2252
+ ARM64_INS_LD1RB,
2253
+ ARM64_INS_LD1RD,
2254
+ ARM64_INS_LD1RH,
2255
+ ARM64_INS_LD1ROB,
2256
+ ARM64_INS_LD1ROD,
2257
+ ARM64_INS_LD1ROH,
2258
+ ARM64_INS_LD1ROW,
2259
+ ARM64_INS_LD1RQB,
2260
+ ARM64_INS_LD1RQD,
2261
+ ARM64_INS_LD1RQH,
2262
+ ARM64_INS_LD1RQW,
2263
+ ARM64_INS_LD1RSB,
2264
+ ARM64_INS_LD1RSH,
2265
+ ARM64_INS_LD1RSW,
2266
+ ARM64_INS_LD1RW,
2267
+ ARM64_INS_LD1SB,
2268
+ ARM64_INS_LD1SH,
2269
+ ARM64_INS_LD1SW,
2270
+ ARM64_INS_LD1W,
2271
+ ARM64_INS_LD2,
2272
+ ARM64_INS_LD2B,
2273
+ ARM64_INS_LD2D,
2274
+ ARM64_INS_LD2H,
2275
+ ARM64_INS_LD2R,
2276
+ ARM64_INS_LD2W,
2277
+ ARM64_INS_LD3,
2278
+ ARM64_INS_LD3B,
2279
+ ARM64_INS_LD3D,
2280
+ ARM64_INS_LD3H,
2281
+ ARM64_INS_LD3R,
2282
+ ARM64_INS_LD3W,
2283
+ ARM64_INS_LD4,
2284
+ ARM64_INS_LD4B,
2285
+ ARM64_INS_LD4D,
2286
+ ARM64_INS_LD4H,
2287
+ ARM64_INS_LD4R,
2288
+ ARM64_INS_LD4W,
2289
+ ARM64_INS_LD64B,
2290
+ ARM64_INS_LDADD,
2291
+ ARM64_INS_LDADDA,
2292
+ ARM64_INS_LDADDAB,
2293
+ ARM64_INS_LDADDAH,
2294
+ ARM64_INS_LDADDAL,
2295
+ ARM64_INS_LDADDALB,
2296
+ ARM64_INS_LDADDALH,
2297
+ ARM64_INS_LDADDB,
2298
+ ARM64_INS_LDADDH,
2299
+ ARM64_INS_LDADDL,
2300
+ ARM64_INS_LDADDLB,
2301
+ ARM64_INS_LDADDLH,
2302
+ ARM64_INS_LDAPR,
2303
+ ARM64_INS_LDAPRB,
2304
+ ARM64_INS_LDAPRH,
2305
+ ARM64_INS_LDAPUR,
2306
+ ARM64_INS_LDAPURB,
2307
+ ARM64_INS_LDAPURH,
2308
+ ARM64_INS_LDAPURSB,
2309
+ ARM64_INS_LDAPURSH,
2310
+ ARM64_INS_LDAPURSW,
2311
+ ARM64_INS_LDAR,
2312
+ ARM64_INS_LDARB,
2313
+ ARM64_INS_LDARH,
2314
+ ARM64_INS_LDAXP,
2315
+ ARM64_INS_LDAXR,
2316
+ ARM64_INS_LDAXRB,
2317
+ ARM64_INS_LDAXRH,
2318
+ ARM64_INS_LDCLR,
2319
+ ARM64_INS_LDCLRA,
2320
+ ARM64_INS_LDCLRAB,
2321
+ ARM64_INS_LDCLRAH,
2322
+ ARM64_INS_LDCLRAL,
2323
+ ARM64_INS_LDCLRALB,
2324
+ ARM64_INS_LDCLRALH,
2325
+ ARM64_INS_LDCLRB,
2326
+ ARM64_INS_LDCLRH,
2327
+ ARM64_INS_LDCLRL,
2328
+ ARM64_INS_LDCLRLB,
2329
+ ARM64_INS_LDCLRLH,
2330
+ ARM64_INS_LDEOR,
2331
+ ARM64_INS_LDEORA,
2332
+ ARM64_INS_LDEORAB,
2333
+ ARM64_INS_LDEORAH,
2334
+ ARM64_INS_LDEORAL,
2335
+ ARM64_INS_LDEORALB,
2336
+ ARM64_INS_LDEORALH,
2337
+ ARM64_INS_LDEORB,
2338
+ ARM64_INS_LDEORH,
2339
+ ARM64_INS_LDEORL,
2340
+ ARM64_INS_LDEORLB,
2341
+ ARM64_INS_LDEORLH,
2342
+ ARM64_INS_LDFF1B,
2343
+ ARM64_INS_LDFF1D,
2344
+ ARM64_INS_LDFF1H,
2345
+ ARM64_INS_LDFF1SB,
2346
+ ARM64_INS_LDFF1SH,
2347
+ ARM64_INS_LDFF1SW,
2348
+ ARM64_INS_LDFF1W,
2349
+ ARM64_INS_LDG,
2350
+ ARM64_INS_LDGM,
2351
+ ARM64_INS_LDLAR,
2352
+ ARM64_INS_LDLARB,
2353
+ ARM64_INS_LDLARH,
2354
+ ARM64_INS_LDNF1B,
2355
+ ARM64_INS_LDNF1D,
2356
+ ARM64_INS_LDNF1H,
2357
+ ARM64_INS_LDNF1SB,
2358
+ ARM64_INS_LDNF1SH,
2359
+ ARM64_INS_LDNF1SW,
2360
+ ARM64_INS_LDNF1W,
2361
+ ARM64_INS_LDNP,
2362
+ ARM64_INS_LDNT1B,
2363
+ ARM64_INS_LDNT1D,
2364
+ ARM64_INS_LDNT1H,
2365
+ ARM64_INS_LDNT1SB,
2366
+ ARM64_INS_LDNT1SH,
2367
+ ARM64_INS_LDNT1SW,
2368
+ ARM64_INS_LDNT1W,
2369
+ ARM64_INS_LDP,
2370
+ ARM64_INS_LDPSW,
2371
+ ARM64_INS_LDR,
2372
+ ARM64_INS_LDRAA,
2373
+ ARM64_INS_LDRAB,
2374
+ ARM64_INS_LDRB,
2375
+ ARM64_INS_LDRH,
2376
+ ARM64_INS_LDRSB,
2377
+ ARM64_INS_LDRSH,
2378
+ ARM64_INS_LDRSW,
2379
+ ARM64_INS_LDSET,
2380
+ ARM64_INS_LDSETA,
2381
+ ARM64_INS_LDSETAB,
2382
+ ARM64_INS_LDSETAH,
2383
+ ARM64_INS_LDSETAL,
2384
+ ARM64_INS_LDSETALB,
2385
+ ARM64_INS_LDSETALH,
2386
+ ARM64_INS_LDSETB,
2387
+ ARM64_INS_LDSETH,
2388
+ ARM64_INS_LDSETL,
2389
+ ARM64_INS_LDSETLB,
2390
+ ARM64_INS_LDSETLH,
2391
+ ARM64_INS_LDSMAX,
2392
+ ARM64_INS_LDSMAXA,
2393
+ ARM64_INS_LDSMAXAB,
2394
+ ARM64_INS_LDSMAXAH,
2395
+ ARM64_INS_LDSMAXAL,
2396
+ ARM64_INS_LDSMAXALB,
2397
+ ARM64_INS_LDSMAXALH,
2398
+ ARM64_INS_LDSMAXB,
2399
+ ARM64_INS_LDSMAXH,
2400
+ ARM64_INS_LDSMAXL,
2401
+ ARM64_INS_LDSMAXLB,
2402
+ ARM64_INS_LDSMAXLH,
2403
+ ARM64_INS_LDSMIN,
2404
+ ARM64_INS_LDSMINA,
2405
+ ARM64_INS_LDSMINAB,
2406
+ ARM64_INS_LDSMINAH,
2407
+ ARM64_INS_LDSMINAL,
2408
+ ARM64_INS_LDSMINALB,
2409
+ ARM64_INS_LDSMINALH,
2410
+ ARM64_INS_LDSMINB,
2411
+ ARM64_INS_LDSMINH,
2412
+ ARM64_INS_LDSMINL,
2413
+ ARM64_INS_LDSMINLB,
2414
+ ARM64_INS_LDSMINLH,
2415
+ ARM64_INS_LDTR,
2416
+ ARM64_INS_LDTRB,
2417
+ ARM64_INS_LDTRH,
2418
+ ARM64_INS_LDTRSB,
2419
+ ARM64_INS_LDTRSH,
2420
+ ARM64_INS_LDTRSW,
2421
+ ARM64_INS_LDUMAX,
2422
+ ARM64_INS_LDUMAXA,
2423
+ ARM64_INS_LDUMAXAB,
2424
+ ARM64_INS_LDUMAXAH,
2425
+ ARM64_INS_LDUMAXAL,
2426
+ ARM64_INS_LDUMAXALB,
2427
+ ARM64_INS_LDUMAXALH,
2428
+ ARM64_INS_LDUMAXB,
2429
+ ARM64_INS_LDUMAXH,
2430
+ ARM64_INS_LDUMAXL,
2431
+ ARM64_INS_LDUMAXLB,
2432
+ ARM64_INS_LDUMAXLH,
2433
+ ARM64_INS_LDUMIN,
2434
+ ARM64_INS_LDUMINA,
2435
+ ARM64_INS_LDUMINAB,
2436
+ ARM64_INS_LDUMINAH,
2437
+ ARM64_INS_LDUMINAL,
2438
+ ARM64_INS_LDUMINALB,
2439
+ ARM64_INS_LDUMINALH,
2440
+ ARM64_INS_LDUMINB,
2441
+ ARM64_INS_LDUMINH,
2442
+ ARM64_INS_LDUMINL,
2443
+ ARM64_INS_LDUMINLB,
2444
+ ARM64_INS_LDUMINLH,
2445
+ ARM64_INS_LDUR,
2446
+ ARM64_INS_LDURB,
2447
+ ARM64_INS_LDURH,
2448
+ ARM64_INS_LDURSB,
2449
+ ARM64_INS_LDURSH,
2450
+ ARM64_INS_LDURSW,
2451
+ ARM64_INS_LDXP,
2452
+ ARM64_INS_LDXR,
2453
+ ARM64_INS_LDXRB,
2454
+ ARM64_INS_LDXRH,
2455
+ ARM64_INS_LSL,
2456
+ ARM64_INS_LSLR,
2457
+ ARM64_INS_LSLV,
2458
+ ARM64_INS_LSR,
2459
+ ARM64_INS_LSRR,
2460
+ ARM64_INS_LSRV,
2461
+ ARM64_INS_MAD,
2462
+ ARM64_INS_MADD,
2463
+ ARM64_INS_MATCH,
2464
+ ARM64_INS_MLA,
2465
+ ARM64_INS_MLS,
2466
+ ARM64_INS_MNEG,
2467
+ ARM64_INS_MOV,
2468
+ ARM64_INS_MOVA,
2469
+ ARM64_INS_MOVI,
2470
+ ARM64_INS_MOVK,
2471
+ ARM64_INS_MOVN,
2472
+ ARM64_INS_MOVPRFX,
2473
+ ARM64_INS_MOVS,
2474
+ ARM64_INS_MOVZ,
2475
+ ARM64_INS_MRS,
2476
+ ARM64_INS_MSB,
2477
+ ARM64_INS_MSR,
2478
+ ARM64_INS_MSUB,
2479
+ ARM64_INS_MUL,
2480
+ ARM64_INS_MVN,
2481
+ ARM64_INS_MVNI,
2482
+ ARM64_INS_NAND,
2483
+ ARM64_INS_NANDS,
2484
+ ARM64_INS_NBSL,
2485
+ ARM64_INS_NEG,
2486
+ ARM64_INS_NEGS,
2487
+ ARM64_INS_NGC,
2488
+ ARM64_INS_NGCS,
2489
+ ARM64_INS_NMATCH,
2490
+ ARM64_INS_NOP,
2491
+ ARM64_INS_NOR,
2492
+ ARM64_INS_NORS,
2493
+ ARM64_INS_NOT,
2494
+ ARM64_INS_NOTS,
2495
+ ARM64_INS_ORN,
2496
+ ARM64_INS_ORNS,
2497
+ ARM64_INS_ORR,
2498
+ ARM64_INS_ORRS,
2499
+ ARM64_INS_ORV,
2500
+ ARM64_INS_PACDA,
2501
+ ARM64_INS_PACDB,
2502
+ ARM64_INS_PACDZA,
2503
+ ARM64_INS_PACDZB,
2504
+ ARM64_INS_PACGA,
2505
+ ARM64_INS_PACIA,
2506
+ ARM64_INS_PACIA1716,
2507
+ ARM64_INS_PACIASP,
2508
+ ARM64_INS_PACIAZ,
2509
+ ARM64_INS_PACIB,
2510
+ ARM64_INS_PACIB1716,
2511
+ ARM64_INS_PACIBSP,
2512
+ ARM64_INS_PACIBZ,
2513
+ ARM64_INS_PACIZA,
2514
+ ARM64_INS_PACIZB,
2515
+ ARM64_INS_PFALSE,
2516
+ ARM64_INS_PFIRST,
2517
+ ARM64_INS_PMUL,
2518
+ ARM64_INS_PMULL,
2519
+ ARM64_INS_PMULL2,
2520
+ ARM64_INS_PMULLB,
2521
+ ARM64_INS_PMULLT,
2522
+ ARM64_INS_PNEXT,
2523
+ ARM64_INS_PRFB,
2524
+ ARM64_INS_PRFD,
2525
+ ARM64_INS_PRFH,
2526
+ ARM64_INS_PRFM,
2527
+ ARM64_INS_PRFUM,
2528
+ ARM64_INS_PRFW,
2529
+ ARM64_INS_PSB,
2530
+ ARM64_INS_PSEL,
2531
+ ARM64_INS_PSSBB,
2532
+ ARM64_INS_PTEST,
2533
+ ARM64_INS_PTRUE,
2534
+ ARM64_INS_PTRUES,
2535
+ ARM64_INS_PUNPKHI,
2536
+ ARM64_INS_PUNPKLO,
2537
+ ARM64_INS_RADDHN,
2538
+ ARM64_INS_RADDHN2,
2539
+ ARM64_INS_RADDHNB,
2540
+ ARM64_INS_RADDHNT,
2541
+ ARM64_INS_RAX1,
2542
+ ARM64_INS_RBIT,
2543
+ ARM64_INS_RDFFR,
2544
+ ARM64_INS_RDFFRS,
2545
+ ARM64_INS_RDVL,
2546
+ ARM64_INS_RET,
2547
+ ARM64_INS_RETAA,
2548
+ ARM64_INS_RETAB,
2549
+ ARM64_INS_REV,
2550
+ ARM64_INS_REV16,
2551
+ ARM64_INS_REV32,
2552
+ ARM64_INS_REV64,
2553
+ ARM64_INS_REVB,
2554
+ ARM64_INS_REVD,
2555
+ ARM64_INS_REVH,
2556
+ ARM64_INS_REVW,
2557
+ ARM64_INS_RMIF,
2558
+ ARM64_INS_ROR,
2559
+ ARM64_INS_RORV,
2560
+ ARM64_INS_RSHRN,
2561
+ ARM64_INS_RSHRN2,
2562
+ ARM64_INS_RSHRNB,
2563
+ ARM64_INS_RSHRNT,
2564
+ ARM64_INS_RSUBHN,
2565
+ ARM64_INS_RSUBHN2,
2566
+ ARM64_INS_RSUBHNB,
2567
+ ARM64_INS_RSUBHNT,
2568
+ ARM64_INS_SABA,
2569
+ ARM64_INS_SABAL,
2570
+ ARM64_INS_SABAL2,
2571
+ ARM64_INS_SABALB,
2572
+ ARM64_INS_SABALT,
2573
+ ARM64_INS_SABD,
2574
+ ARM64_INS_SABDL,
2575
+ ARM64_INS_SABDL2,
2576
+ ARM64_INS_SABDLB,
2577
+ ARM64_INS_SABDLT,
2578
+ ARM64_INS_SADALP,
2579
+ ARM64_INS_SADDL,
2580
+ ARM64_INS_SADDL2,
2581
+ ARM64_INS_SADDLB,
2582
+ ARM64_INS_SADDLBT,
2583
+ ARM64_INS_SADDLP,
2584
+ ARM64_INS_SADDLT,
2585
+ ARM64_INS_SADDLV,
2586
+ ARM64_INS_SADDV,
2587
+ ARM64_INS_SADDW,
2588
+ ARM64_INS_SADDW2,
2589
+ ARM64_INS_SADDWB,
2590
+ ARM64_INS_SADDWT,
2591
+ ARM64_INS_SB,
2592
+ ARM64_INS_SBC,
2593
+ ARM64_INS_SBCLB,
2594
+ ARM64_INS_SBCLT,
2595
+ ARM64_INS_SBCS,
2596
+ ARM64_INS_SBFM,
2597
+ ARM64_INS_SCLAMP,
2598
+ ARM64_INS_SCVTF,
2599
+ ARM64_INS_SDIV,
2600
+ ARM64_INS_SDIVR,
2601
+ ARM64_INS_SDOT,
2602
+ ARM64_INS_SEL,
2603
+ ARM64_INS_SETE,
2604
+ ARM64_INS_SETEN,
2605
+ ARM64_INS_SETET,
2606
+ ARM64_INS_SETETN,
2607
+ ARM64_INS_SETF16,
2608
+ ARM64_INS_SETF8,
2609
+ ARM64_INS_SETFFR,
2610
+ ARM64_INS_SETGE,
2611
+ ARM64_INS_SETGEN,
2612
+ ARM64_INS_SETGET,
2613
+ ARM64_INS_SETGETN,
2614
+ ARM64_INS_SETGM,
2615
+ ARM64_INS_SETGMN,
2616
+ ARM64_INS_SETGMT,
2617
+ ARM64_INS_SETGMTN,
2618
+ ARM64_INS_SETGP,
2619
+ ARM64_INS_SETGPN,
2620
+ ARM64_INS_SETGPT,
2621
+ ARM64_INS_SETGPTN,
2622
+ ARM64_INS_SETM,
2623
+ ARM64_INS_SETMN,
2624
+ ARM64_INS_SETMT,
2625
+ ARM64_INS_SETMTN,
2626
+ ARM64_INS_SETP,
2627
+ ARM64_INS_SETPN,
2628
+ ARM64_INS_SETPT,
2629
+ ARM64_INS_SETPTN,
2630
+ ARM64_INS_SEV,
2631
+ ARM64_INS_SEVL,
2632
+ ARM64_INS_SHA1C,
2633
+ ARM64_INS_SHA1H,
2634
+ ARM64_INS_SHA1M,
2635
+ ARM64_INS_SHA1P,
2636
+ ARM64_INS_SHA1SU0,
2637
+ ARM64_INS_SHA1SU1,
2638
+ ARM64_INS_SHA256H,
2639
+ ARM64_INS_SHA256H2,
2640
+ ARM64_INS_SHA256SU0,
2641
+ ARM64_INS_SHA256SU1,
2642
+ ARM64_INS_SHA512H,
2643
+ ARM64_INS_SHA512H2,
2644
+ ARM64_INS_SHA512SU0,
2645
+ ARM64_INS_SHA512SU1,
2646
+ ARM64_INS_SHADD,
2647
+ ARM64_INS_SHL,
2648
+ ARM64_INS_SHLL,
2649
+ ARM64_INS_SHLL2,
2650
+ ARM64_INS_SHRN,
2651
+ ARM64_INS_SHRN2,
2652
+ ARM64_INS_SHRNB,
2653
+ ARM64_INS_SHRNT,
2654
+ ARM64_INS_SHSUB,
2655
+ ARM64_INS_SHSUBR,
2656
+ ARM64_INS_SLI,
2657
+ ARM64_INS_SM3PARTW1,
2658
+ ARM64_INS_SM3PARTW2,
2659
+ ARM64_INS_SM3SS1,
2660
+ ARM64_INS_SM3TT1A,
2661
+ ARM64_INS_SM3TT1B,
2662
+ ARM64_INS_SM3TT2A,
2663
+ ARM64_INS_SM3TT2B,
2664
+ ARM64_INS_SM4E,
2665
+ ARM64_INS_SM4EKEY,
2666
+ ARM64_INS_SMADDL,
2667
+ ARM64_INS_SMAX,
2668
+ ARM64_INS_SMAXP,
2669
+ ARM64_INS_SMAXV,
2670
+ ARM64_INS_SMC,
2671
+ ARM64_INS_SMIN,
2672
+ ARM64_INS_SMINP,
2673
+ ARM64_INS_SMINV,
2674
+ ARM64_INS_SMLAL,
2675
+ ARM64_INS_SMLAL2,
2676
+ ARM64_INS_SMLALB,
2677
+ ARM64_INS_SMLALT,
2678
+ ARM64_INS_SMLSL,
2679
+ ARM64_INS_SMLSL2,
2680
+ ARM64_INS_SMLSLB,
2681
+ ARM64_INS_SMLSLT,
2682
+ ARM64_INS_SMMLA,
2683
+ ARM64_INS_SMNEGL,
2684
+ ARM64_INS_SMOPA,
2685
+ ARM64_INS_SMOPS,
2686
+ ARM64_INS_SMOV,
2687
+ ARM64_INS_SMSTART,
2688
+ ARM64_INS_SMSTOP,
2689
+ ARM64_INS_SMSUBL,
2690
+ ARM64_INS_SMULH,
2691
+ ARM64_INS_SMULL,
2692
+ ARM64_INS_SMULL2,
2693
+ ARM64_INS_SMULLB,
2694
+ ARM64_INS_SMULLT,
2695
+ ARM64_INS_SPLICE,
2696
+ ARM64_INS_SQABS,
2697
+ ARM64_INS_SQADD,
2698
+ ARM64_INS_SQCADD,
2699
+ ARM64_INS_SQDECB,
2700
+ ARM64_INS_SQDECD,
2701
+ ARM64_INS_SQDECH,
2702
+ ARM64_INS_SQDECP,
2703
+ ARM64_INS_SQDECW,
2704
+ ARM64_INS_SQDMLAL,
2705
+ ARM64_INS_SQDMLAL2,
2706
+ ARM64_INS_SQDMLALB,
2707
+ ARM64_INS_SQDMLALBT,
2708
+ ARM64_INS_SQDMLALT,
2709
+ ARM64_INS_SQDMLSL,
2710
+ ARM64_INS_SQDMLSL2,
2711
+ ARM64_INS_SQDMLSLB,
2712
+ ARM64_INS_SQDMLSLBT,
2713
+ ARM64_INS_SQDMLSLT,
2714
+ ARM64_INS_SQDMULH,
2715
+ ARM64_INS_SQDMULL,
2716
+ ARM64_INS_SQDMULL2,
2717
+ ARM64_INS_SQDMULLB,
2718
+ ARM64_INS_SQDMULLT,
2719
+ ARM64_INS_SQINCB,
2720
+ ARM64_INS_SQINCD,
2721
+ ARM64_INS_SQINCH,
2722
+ ARM64_INS_SQINCP,
2723
+ ARM64_INS_SQINCW,
2724
+ ARM64_INS_SQNEG,
2725
+ ARM64_INS_SQRDCMLAH,
2726
+ ARM64_INS_SQRDMLAH,
2727
+ ARM64_INS_SQRDMLSH,
2728
+ ARM64_INS_SQRDMULH,
2729
+ ARM64_INS_SQRSHL,
2730
+ ARM64_INS_SQRSHLR,
2731
+ ARM64_INS_SQRSHRN,
2732
+ ARM64_INS_SQRSHRN2,
2733
+ ARM64_INS_SQRSHRNB,
2734
+ ARM64_INS_SQRSHRNT,
2735
+ ARM64_INS_SQRSHRUN,
2736
+ ARM64_INS_SQRSHRUN2,
2737
+ ARM64_INS_SQRSHRUNB,
2738
+ ARM64_INS_SQRSHRUNT,
2739
+ ARM64_INS_SQSHL,
2740
+ ARM64_INS_SQSHLR,
2741
+ ARM64_INS_SQSHLU,
2742
+ ARM64_INS_SQSHRN,
2743
+ ARM64_INS_SQSHRN2,
2744
+ ARM64_INS_SQSHRNB,
2745
+ ARM64_INS_SQSHRNT,
2746
+ ARM64_INS_SQSHRUN,
2747
+ ARM64_INS_SQSHRUN2,
2748
+ ARM64_INS_SQSHRUNB,
2749
+ ARM64_INS_SQSHRUNT,
2750
+ ARM64_INS_SQSUB,
2751
+ ARM64_INS_SQSUBR,
2752
+ ARM64_INS_SQXTN,
2753
+ ARM64_INS_SQXTN2,
2754
+ ARM64_INS_SQXTNB,
2755
+ ARM64_INS_SQXTNT,
2756
+ ARM64_INS_SQXTUN,
2757
+ ARM64_INS_SQXTUN2,
2758
+ ARM64_INS_SQXTUNB,
2759
+ ARM64_INS_SQXTUNT,
2760
+ ARM64_INS_SRHADD,
2761
+ ARM64_INS_SRI,
2762
+ ARM64_INS_SRSHL,
2763
+ ARM64_INS_SRSHLR,
2764
+ ARM64_INS_SRSHR,
2765
+ ARM64_INS_SRSRA,
2766
+ ARM64_INS_SSBB,
2767
+ ARM64_INS_SSHL,
2768
+ ARM64_INS_SSHLL,
2769
+ ARM64_INS_SSHLL2,
2770
+ ARM64_INS_SSHLLB,
2771
+ ARM64_INS_SSHLLT,
2772
+ ARM64_INS_SSHR,
2773
+ ARM64_INS_SSRA,
2774
+ ARM64_INS_SSUBL,
2775
+ ARM64_INS_SSUBL2,
2776
+ ARM64_INS_SSUBLB,
2777
+ ARM64_INS_SSUBLBT,
2778
+ ARM64_INS_SSUBLT,
2779
+ ARM64_INS_SSUBLTB,
2780
+ ARM64_INS_SSUBW,
2781
+ ARM64_INS_SSUBW2,
2782
+ ARM64_INS_SSUBWB,
2783
+ ARM64_INS_SSUBWT,
2784
+ ARM64_INS_ST1,
2785
+ ARM64_INS_ST1B,
2786
+ ARM64_INS_ST1D,
2787
+ ARM64_INS_ST1H,
2788
+ ARM64_INS_ST1Q,
2789
+ ARM64_INS_ST1W,
2790
+ ARM64_INS_ST2,
2791
+ ARM64_INS_ST2B,
2792
+ ARM64_INS_ST2D,
2793
+ ARM64_INS_ST2G,
2794
+ ARM64_INS_ST2H,
2795
+ ARM64_INS_ST2W,
2796
+ ARM64_INS_ST3,
2797
+ ARM64_INS_ST3B,
2798
+ ARM64_INS_ST3D,
2799
+ ARM64_INS_ST3H,
2800
+ ARM64_INS_ST3W,
2801
+ ARM64_INS_ST4,
2802
+ ARM64_INS_ST4B,
2803
+ ARM64_INS_ST4D,
2804
+ ARM64_INS_ST4H,
2805
+ ARM64_INS_ST4W,
2806
+ ARM64_INS_ST64B,
2807
+ ARM64_INS_ST64BV,
2808
+ ARM64_INS_ST64BV0,
2809
+ ARM64_INS_STADD,
2810
+ ARM64_INS_STADDB,
2811
+ ARM64_INS_STADDH,
2812
+ ARM64_INS_STADDL,
2813
+ ARM64_INS_STADDLB,
2814
+ ARM64_INS_STADDLH,
2815
+ ARM64_INS_STCLR,
2816
+ ARM64_INS_STCLRB,
2817
+ ARM64_INS_STCLRH,
2818
+ ARM64_INS_STCLRL,
2819
+ ARM64_INS_STCLRLB,
2820
+ ARM64_INS_STCLRLH,
2821
+ ARM64_INS_STEOR,
2822
+ ARM64_INS_STEORB,
2823
+ ARM64_INS_STEORH,
2824
+ ARM64_INS_STEORL,
2825
+ ARM64_INS_STEORLB,
2826
+ ARM64_INS_STEORLH,
2827
+ ARM64_INS_STG,
2828
+ ARM64_INS_STGM,
2829
+ ARM64_INS_STGP,
2830
+ ARM64_INS_STLLR,
2831
+ ARM64_INS_STLLRB,
2832
+ ARM64_INS_STLLRH,
2833
+ ARM64_INS_STLR,
2834
+ ARM64_INS_STLRB,
2835
+ ARM64_INS_STLRH,
2836
+ ARM64_INS_STLUR,
2837
+ ARM64_INS_STLURB,
2838
+ ARM64_INS_STLURH,
2839
+ ARM64_INS_STLXP,
2840
+ ARM64_INS_STLXR,
2841
+ ARM64_INS_STLXRB,
2842
+ ARM64_INS_STLXRH,
2843
+ ARM64_INS_STNP,
2844
+ ARM64_INS_STNT1B,
2845
+ ARM64_INS_STNT1D,
2846
+ ARM64_INS_STNT1H,
2847
+ ARM64_INS_STNT1W,
2848
+ ARM64_INS_STP,
2849
+ ARM64_INS_STR,
2850
+ ARM64_INS_STRB,
2851
+ ARM64_INS_STRH,
2852
+ ARM64_INS_STSET,
2853
+ ARM64_INS_STSETB,
2854
+ ARM64_INS_STSETH,
2855
+ ARM64_INS_STSETL,
2856
+ ARM64_INS_STSETLB,
2857
+ ARM64_INS_STSETLH,
2858
+ ARM64_INS_STSMAX,
2859
+ ARM64_INS_STSMAXB,
2860
+ ARM64_INS_STSMAXH,
2861
+ ARM64_INS_STSMAXL,
2862
+ ARM64_INS_STSMAXLB,
2863
+ ARM64_INS_STSMAXLH,
2864
+ ARM64_INS_STSMIN,
2865
+ ARM64_INS_STSMINB,
2866
+ ARM64_INS_STSMINH,
2867
+ ARM64_INS_STSMINL,
2868
+ ARM64_INS_STSMINLB,
2869
+ ARM64_INS_STSMINLH,
2870
+ ARM64_INS_STTR,
2871
+ ARM64_INS_STTRB,
2872
+ ARM64_INS_STTRH,
2873
+ ARM64_INS_STUMAX,
2874
+ ARM64_INS_STUMAXB,
2875
+ ARM64_INS_STUMAXH,
2876
+ ARM64_INS_STUMAXL,
2877
+ ARM64_INS_STUMAXLB,
2878
+ ARM64_INS_STUMAXLH,
2879
+ ARM64_INS_STUMIN,
2880
+ ARM64_INS_STUMINB,
2881
+ ARM64_INS_STUMINH,
2882
+ ARM64_INS_STUMINL,
2883
+ ARM64_INS_STUMINLB,
2884
+ ARM64_INS_STUMINLH,
2885
+ ARM64_INS_STUR,
2886
+ ARM64_INS_STURB,
2887
+ ARM64_INS_STURH,
2888
+ ARM64_INS_STXP,
2889
+ ARM64_INS_STXR,
2890
+ ARM64_INS_STXRB,
2891
+ ARM64_INS_STXRH,
2892
+ ARM64_INS_STZ2G,
2893
+ ARM64_INS_STZG,
2894
+ ARM64_INS_STZGM,
2895
+ ARM64_INS_SUB,
2896
+ ARM64_INS_SUBG,
2897
+ ARM64_INS_SUBHN,
2898
+ ARM64_INS_SUBHN2,
2899
+ ARM64_INS_SUBHNB,
2900
+ ARM64_INS_SUBHNT,
2901
+ ARM64_INS_SUBP,
2902
+ ARM64_INS_SUBPS,
2903
+ ARM64_INS_SUBR,
2904
+ ARM64_INS_SUBS,
2905
+ ARM64_INS_SUDOT,
2906
+ ARM64_INS_SUMOPA,
2907
+ ARM64_INS_SUMOPS,
2908
+ ARM64_INS_SUNPKHI,
2909
+ ARM64_INS_SUNPKLO,
2910
+ ARM64_INS_SUQADD,
2911
+ ARM64_INS_SVC,
2912
+ ARM64_INS_SWP,
2913
+ ARM64_INS_SWPA,
2914
+ ARM64_INS_SWPAB,
2915
+ ARM64_INS_SWPAH,
2916
+ ARM64_INS_SWPAL,
2917
+ ARM64_INS_SWPALB,
2918
+ ARM64_INS_SWPALH,
2919
+ ARM64_INS_SWPB,
2920
+ ARM64_INS_SWPH,
2921
+ ARM64_INS_SWPL,
2922
+ ARM64_INS_SWPLB,
2923
+ ARM64_INS_SWPLH,
2924
+ ARM64_INS_SXTB,
2925
+ ARM64_INS_SXTH,
2926
+ ARM64_INS_SXTL,
2927
+ ARM64_INS_SXTL2,
2928
+ ARM64_INS_SXTW,
2929
+ ARM64_INS_SYS,
2930
+ ARM64_INS_SYSL,
2931
+ ARM64_INS_TBL,
2932
+ ARM64_INS_TBNZ,
2933
+ ARM64_INS_TBX,
2934
+ ARM64_INS_TBZ,
2935
+ ARM64_INS_TCANCEL,
2936
+ ARM64_INS_TCOMMIT,
2937
+ ARM64_INS_TRN1,
2938
+ ARM64_INS_TRN2,
2939
+ ARM64_INS_TSB,
2940
+ ARM64_INS_TST,
2941
+ ARM64_INS_TSTART,
2942
+ ARM64_INS_TTEST,
2943
+ ARM64_INS_UABA,
2944
+ ARM64_INS_UABAL,
2945
+ ARM64_INS_UABAL2,
2946
+ ARM64_INS_UABALB,
2947
+ ARM64_INS_UABALT,
2948
+ ARM64_INS_UABD,
2949
+ ARM64_INS_UABDL,
2950
+ ARM64_INS_UABDL2,
2951
+ ARM64_INS_UABDLB,
2952
+ ARM64_INS_UABDLT,
2953
+ ARM64_INS_UADALP,
2954
+ ARM64_INS_UADDL,
2955
+ ARM64_INS_UADDL2,
2956
+ ARM64_INS_UADDLB,
2957
+ ARM64_INS_UADDLP,
2958
+ ARM64_INS_UADDLT,
2959
+ ARM64_INS_UADDLV,
2960
+ ARM64_INS_UADDV,
2961
+ ARM64_INS_UADDW,
2962
+ ARM64_INS_UADDW2,
2963
+ ARM64_INS_UADDWB,
2964
+ ARM64_INS_UADDWT,
2965
+ ARM64_INS_UBFM,
2966
+ ARM64_INS_UCLAMP,
2967
+ ARM64_INS_UCVTF,
2968
+ ARM64_INS_UDF,
2969
+ ARM64_INS_UDIV,
2970
+ ARM64_INS_UDIVR,
2971
+ ARM64_INS_UDOT,
2972
+ ARM64_INS_UHADD,
2973
+ ARM64_INS_UHSUB,
2974
+ ARM64_INS_UHSUBR,
2975
+ ARM64_INS_UMADDL,
2976
+ ARM64_INS_UMAX,
2977
+ ARM64_INS_UMAXP,
2978
+ ARM64_INS_UMAXV,
2979
+ ARM64_INS_UMIN,
2980
+ ARM64_INS_UMINP,
2981
+ ARM64_INS_UMINV,
2982
+ ARM64_INS_UMLAL,
2983
+ ARM64_INS_UMLAL2,
2984
+ ARM64_INS_UMLALB,
2985
+ ARM64_INS_UMLALT,
2986
+ ARM64_INS_UMLSL,
2987
+ ARM64_INS_UMLSL2,
2988
+ ARM64_INS_UMLSLB,
2989
+ ARM64_INS_UMLSLT,
2990
+ ARM64_INS_UMMLA,
2991
+ ARM64_INS_UMNEGL,
2992
+ ARM64_INS_UMOPA,
2993
+ ARM64_INS_UMOPS,
2994
+ ARM64_INS_UMOV,
2995
+ ARM64_INS_UMSUBL,
2996
+ ARM64_INS_UMULH,
2997
+ ARM64_INS_UMULL,
2998
+ ARM64_INS_UMULL2,
2999
+ ARM64_INS_UMULLB,
3000
+ ARM64_INS_UMULLT,
3001
+ ARM64_INS_UQADD,
3002
+ ARM64_INS_UQDECB,
3003
+ ARM64_INS_UQDECD,
3004
+ ARM64_INS_UQDECH,
3005
+ ARM64_INS_UQDECP,
3006
+ ARM64_INS_UQDECW,
3007
+ ARM64_INS_UQINCB,
3008
+ ARM64_INS_UQINCD,
3009
+ ARM64_INS_UQINCH,
3010
+ ARM64_INS_UQINCP,
3011
+ ARM64_INS_UQINCW,
3012
+ ARM64_INS_UQRSHL,
3013
+ ARM64_INS_UQRSHLR,
3014
+ ARM64_INS_UQRSHRN,
3015
+ ARM64_INS_UQRSHRN2,
3016
+ ARM64_INS_UQRSHRNB,
3017
+ ARM64_INS_UQRSHRNT,
3018
+ ARM64_INS_UQSHL,
3019
+ ARM64_INS_UQSHLR,
3020
+ ARM64_INS_UQSHRN,
3021
+ ARM64_INS_UQSHRN2,
3022
+ ARM64_INS_UQSHRNB,
3023
+ ARM64_INS_UQSHRNT,
3024
+ ARM64_INS_UQSUB,
3025
+ ARM64_INS_UQSUBR,
3026
+ ARM64_INS_UQXTN,
3027
+ ARM64_INS_UQXTN2,
3028
+ ARM64_INS_UQXTNB,
3029
+ ARM64_INS_UQXTNT,
3030
+ ARM64_INS_URECPE,
3031
+ ARM64_INS_URHADD,
3032
+ ARM64_INS_URSHL,
3033
+ ARM64_INS_URSHLR,
3034
+ ARM64_INS_URSHR,
3035
+ ARM64_INS_URSQRTE,
3036
+ ARM64_INS_URSRA,
3037
+ ARM64_INS_USDOT,
3038
+ ARM64_INS_USHL,
3039
+ ARM64_INS_USHLL,
3040
+ ARM64_INS_USHLL2,
3041
+ ARM64_INS_USHLLB,
3042
+ ARM64_INS_USHLLT,
3043
+ ARM64_INS_USHR,
3044
+ ARM64_INS_USMMLA,
3045
+ ARM64_INS_USMOPA,
3046
+ ARM64_INS_USMOPS,
3047
+ ARM64_INS_USQADD,
3048
+ ARM64_INS_USRA,
3049
+ ARM64_INS_USUBL,
3050
+ ARM64_INS_USUBL2,
3051
+ ARM64_INS_USUBLB,
3052
+ ARM64_INS_USUBLT,
3053
+ ARM64_INS_USUBW,
3054
+ ARM64_INS_USUBW2,
3055
+ ARM64_INS_USUBWB,
3056
+ ARM64_INS_USUBWT,
3057
+ ARM64_INS_UUNPKHI,
3058
+ ARM64_INS_UUNPKLO,
3059
+ ARM64_INS_UXTB,
3060
+ ARM64_INS_UXTH,
3061
+ ARM64_INS_UXTL,
3062
+ ARM64_INS_UXTL2,
3063
+ ARM64_INS_UXTW,
3064
+ ARM64_INS_UZP1,
3065
+ ARM64_INS_UZP2,
3066
+ ARM64_INS_WFE,
3067
+ ARM64_INS_WFET,
3068
+ ARM64_INS_WFI,
3069
+ ARM64_INS_WFIT,
3070
+ ARM64_INS_WHILEGE,
3071
+ ARM64_INS_WHILEGT,
3072
+ ARM64_INS_WHILEHI,
3073
+ ARM64_INS_WHILEHS,
3074
+ ARM64_INS_WHILELE,
3075
+ ARM64_INS_WHILELO,
3076
+ ARM64_INS_WHILELS,
3077
+ ARM64_INS_WHILELT,
3078
+ ARM64_INS_WHILERW,
3079
+ ARM64_INS_WHILEWR,
3080
+ ARM64_INS_WRFFR,
3081
+ ARM64_INS_XAFLAG,
3082
+ ARM64_INS_XAR,
3083
+ ARM64_INS_XPACD,
3084
+ ARM64_INS_XPACI,
3085
+ ARM64_INS_XPACLRI,
3086
+ ARM64_INS_XTN,
3087
+ ARM64_INS_XTN2,
3088
+ ARM64_INS_YIELD,
3089
+ ARM64_INS_ZERO,
3090
+ ARM64_INS_ZIP1,
3091
+ ARM64_INS_ZIP2,
3092
+
3093
+ // alias insn
3094
+ ARM64_INS_SBFIZ,
3095
+ ARM64_INS_UBFIZ,
3096
+ ARM64_INS_SBFX,
3097
+ ARM64_INS_UBFX,
3098
+ ARM64_INS_BFI,
3099
+ ARM64_INS_BFXIL,
3100
+ ARM64_INS_IC,
3101
+ ARM64_INS_DC,
3102
+ ARM64_INS_AT,
3103
+ ARM64_INS_TLBI,
3104
+
3105
+ ARM64_INS_ENDING, // <-- mark the end of the list of insn
3106
+ } arm64_insn;
3107
+
3108
+ /// Group of ARM64 instructions
3109
+ typedef enum arm64_insn_group {
3110
+ ARM64_GRP_INVALID = 0, ///< = CS_GRP_INVALID
3111
+
3112
+ // Generic groups
3113
+ // all jump instructions (conditional+direct+indirect jumps)
3114
+ ARM64_GRP_JUMP, ///< = CS_GRP_JUMP
3115
+ ARM64_GRP_CALL,
3116
+ ARM64_GRP_RET,
3117
+ ARM64_GRP_INT,
3118
+ ARM64_GRP_PRIVILEGE = 6, ///< = CS_GRP_PRIVILEGE
3119
+ ARM64_GRP_BRANCH_RELATIVE, ///< = CS_GRP_BRANCH_RELATIVE
3120
+ ARM64_GRP_PAC,
3121
+
3122
+ // Architecture-specific groups
3123
+ ARM64_GRP_CRYPTO = 128,
3124
+ ARM64_GRP_FPARMV8,
3125
+ ARM64_GRP_NEON,
3126
+ ARM64_GRP_CRC,
3127
+ ARM64_GRP_AES,
3128
+ ARM64_GRP_DOTPROD,
3129
+ ARM64_GRP_FULLFP16,
3130
+ ARM64_GRP_LSE,
3131
+ ARM64_GRP_RCPC,
3132
+ ARM64_GRP_RDM,
3133
+ ARM64_GRP_SHA2,
3134
+ ARM64_GRP_SHA3,
3135
+ ARM64_GRP_SM4,
3136
+ ARM64_GRP_SVE,
3137
+ ARM64_GRP_SVE2,
3138
+ ARM64_GRP_SVE2AES,
3139
+ ARM64_GRP_SVE2BitPerm,
3140
+ ARM64_GRP_SVE2SHA3,
3141
+ ARM64_GRP_SVE2SM4,
3142
+ ARM64_GRP_SME,
3143
+ ARM64_GRP_SMEF64,
3144
+ ARM64_GRP_SMEI64,
3145
+ ARM64_GRP_MatMulFP32,
3146
+ ARM64_GRP_MatMulFP64,
3147
+ ARM64_GRP_MatMulInt8,
3148
+ ARM64_GRP_V8_1A,
3149
+ ARM64_GRP_V8_3A,
3150
+ ARM64_GRP_V8_4A,
3151
+
3152
+ ARM64_GRP_ENDING, // <-- mark the end of the list of groups
3153
+ } arm64_insn_group;
3154
+
3155
+ #ifdef __cplusplus
3156
+ }
3157
+ #endif
3158
+
3159
+ #endif