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,1986 @@
1
+ #ifndef CAPSTONE_X86_H
2
+ #define CAPSTONE_X86_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
+ /// Calculate relative address for X86-64, given cs_insn structure
14
+ #define X86_REL_ADDR(insn) (((insn).detail->x86.operands[0].type == X86_OP_IMM) \
15
+ ? (uint64_t)((insn).detail->x86.operands[0].imm) \
16
+ : (((insn).address + (insn).size) + (uint64_t)(insn).detail->x86.disp))
17
+
18
+ /// X86 registers
19
+ typedef enum x86_reg {
20
+ X86_REG_INVALID = 0,
21
+ X86_REG_AH, X86_REG_AL, X86_REG_AX, X86_REG_BH, X86_REG_BL,
22
+ X86_REG_BP, X86_REG_BPL, X86_REG_BX, X86_REG_CH, X86_REG_CL,
23
+ X86_REG_CS, X86_REG_CX, X86_REG_DH, X86_REG_DI, X86_REG_DIL,
24
+ X86_REG_DL, X86_REG_DS, X86_REG_DX, X86_REG_EAX, X86_REG_EBP,
25
+ X86_REG_EBX, X86_REG_ECX, X86_REG_EDI, X86_REG_EDX, X86_REG_EFLAGS,
26
+ X86_REG_EIP, X86_REG_EIZ, X86_REG_ES, X86_REG_ESI, X86_REG_ESP,
27
+ X86_REG_FPSW, X86_REG_FS, X86_REG_GS, X86_REG_IP, X86_REG_RAX,
28
+ X86_REG_RBP, X86_REG_RBX, X86_REG_RCX, X86_REG_RDI, X86_REG_RDX,
29
+ X86_REG_RIP, X86_REG_RIZ, X86_REG_RSI, X86_REG_RSP, X86_REG_SI,
30
+ X86_REG_SIL, X86_REG_SP, X86_REG_SPL, X86_REG_SS, X86_REG_CR0,
31
+ X86_REG_CR1, X86_REG_CR2, X86_REG_CR3, X86_REG_CR4, X86_REG_CR5,
32
+ X86_REG_CR6, X86_REG_CR7, X86_REG_CR8, X86_REG_CR9, X86_REG_CR10,
33
+ X86_REG_CR11, X86_REG_CR12, X86_REG_CR13, X86_REG_CR14, X86_REG_CR15,
34
+ X86_REG_DR0, X86_REG_DR1, X86_REG_DR2, X86_REG_DR3, X86_REG_DR4,
35
+ X86_REG_DR5, X86_REG_DR6, X86_REG_DR7, X86_REG_DR8, X86_REG_DR9,
36
+ X86_REG_DR10, X86_REG_DR11, X86_REG_DR12, X86_REG_DR13, X86_REG_DR14,
37
+ X86_REG_DR15, X86_REG_FP0, X86_REG_FP1, X86_REG_FP2, X86_REG_FP3,
38
+ X86_REG_FP4, X86_REG_FP5, X86_REG_FP6, X86_REG_FP7,
39
+ X86_REG_K0, X86_REG_K1, X86_REG_K2, X86_REG_K3, X86_REG_K4,
40
+ X86_REG_K5, X86_REG_K6, X86_REG_K7, X86_REG_MM0, X86_REG_MM1,
41
+ X86_REG_MM2, X86_REG_MM3, X86_REG_MM4, X86_REG_MM5, X86_REG_MM6,
42
+ X86_REG_MM7, X86_REG_R8, X86_REG_R9, X86_REG_R10, X86_REG_R11,
43
+ X86_REG_R12, X86_REG_R13, X86_REG_R14, X86_REG_R15,
44
+ X86_REG_ST0, X86_REG_ST1, X86_REG_ST2, X86_REG_ST3,
45
+ X86_REG_ST4, X86_REG_ST5, X86_REG_ST6, X86_REG_ST7,
46
+ X86_REG_XMM0, X86_REG_XMM1, X86_REG_XMM2, X86_REG_XMM3, X86_REG_XMM4,
47
+ X86_REG_XMM5, X86_REG_XMM6, X86_REG_XMM7, X86_REG_XMM8, X86_REG_XMM9,
48
+ X86_REG_XMM10, X86_REG_XMM11, X86_REG_XMM12, X86_REG_XMM13, X86_REG_XMM14,
49
+ X86_REG_XMM15, X86_REG_XMM16, X86_REG_XMM17, X86_REG_XMM18, X86_REG_XMM19,
50
+ X86_REG_XMM20, X86_REG_XMM21, X86_REG_XMM22, X86_REG_XMM23, X86_REG_XMM24,
51
+ X86_REG_XMM25, X86_REG_XMM26, X86_REG_XMM27, X86_REG_XMM28, X86_REG_XMM29,
52
+ X86_REG_XMM30, X86_REG_XMM31, X86_REG_YMM0, X86_REG_YMM1, X86_REG_YMM2,
53
+ X86_REG_YMM3, X86_REG_YMM4, X86_REG_YMM5, X86_REG_YMM6, X86_REG_YMM7,
54
+ X86_REG_YMM8, X86_REG_YMM9, X86_REG_YMM10, X86_REG_YMM11, X86_REG_YMM12,
55
+ X86_REG_YMM13, X86_REG_YMM14, X86_REG_YMM15, X86_REG_YMM16, X86_REG_YMM17,
56
+ X86_REG_YMM18, X86_REG_YMM19, X86_REG_YMM20, X86_REG_YMM21, X86_REG_YMM22,
57
+ X86_REG_YMM23, X86_REG_YMM24, X86_REG_YMM25, X86_REG_YMM26, X86_REG_YMM27,
58
+ X86_REG_YMM28, X86_REG_YMM29, X86_REG_YMM30, X86_REG_YMM31, X86_REG_ZMM0,
59
+ X86_REG_ZMM1, X86_REG_ZMM2, X86_REG_ZMM3, X86_REG_ZMM4, X86_REG_ZMM5,
60
+ X86_REG_ZMM6, X86_REG_ZMM7, X86_REG_ZMM8, X86_REG_ZMM9, X86_REG_ZMM10,
61
+ X86_REG_ZMM11, X86_REG_ZMM12, X86_REG_ZMM13, X86_REG_ZMM14, X86_REG_ZMM15,
62
+ X86_REG_ZMM16, X86_REG_ZMM17, X86_REG_ZMM18, X86_REG_ZMM19, X86_REG_ZMM20,
63
+ X86_REG_ZMM21, X86_REG_ZMM22, X86_REG_ZMM23, X86_REG_ZMM24, X86_REG_ZMM25,
64
+ X86_REG_ZMM26, X86_REG_ZMM27, X86_REG_ZMM28, X86_REG_ZMM29, X86_REG_ZMM30,
65
+ X86_REG_ZMM31, X86_REG_R8B, X86_REG_R9B, X86_REG_R10B, X86_REG_R11B,
66
+ X86_REG_R12B, X86_REG_R13B, X86_REG_R14B, X86_REG_R15B, X86_REG_R8D,
67
+ X86_REG_R9D, X86_REG_R10D, X86_REG_R11D, X86_REG_R12D, X86_REG_R13D,
68
+ X86_REG_R14D, X86_REG_R15D, X86_REG_R8W, X86_REG_R9W, X86_REG_R10W,
69
+ X86_REG_R11W, X86_REG_R12W, X86_REG_R13W, X86_REG_R14W, X86_REG_R15W,
70
+ X86_REG_BND0, X86_REG_BND1, X86_REG_BND2, X86_REG_BND3,
71
+
72
+ X86_REG_ENDING // <-- mark the end of the list of registers
73
+ } x86_reg;
74
+
75
+ // Sub-flags of EFLAGS
76
+ #define X86_EFLAGS_MODIFY_AF (1ULL << 0)
77
+ #define X86_EFLAGS_MODIFY_CF (1ULL << 1)
78
+ #define X86_EFLAGS_MODIFY_SF (1ULL << 2)
79
+ #define X86_EFLAGS_MODIFY_ZF (1ULL << 3)
80
+ #define X86_EFLAGS_MODIFY_PF (1ULL << 4)
81
+ #define X86_EFLAGS_MODIFY_OF (1ULL << 5)
82
+ #define X86_EFLAGS_MODIFY_TF (1ULL << 6)
83
+ #define X86_EFLAGS_MODIFY_IF (1ULL << 7)
84
+ #define X86_EFLAGS_MODIFY_DF (1ULL << 8)
85
+ #define X86_EFLAGS_MODIFY_NT (1ULL << 9)
86
+ #define X86_EFLAGS_MODIFY_RF (1ULL << 10)
87
+ #define X86_EFLAGS_PRIOR_OF (1ULL << 11)
88
+ #define X86_EFLAGS_PRIOR_SF (1ULL << 12)
89
+ #define X86_EFLAGS_PRIOR_ZF (1ULL << 13)
90
+ #define X86_EFLAGS_PRIOR_AF (1ULL << 14)
91
+ #define X86_EFLAGS_PRIOR_PF (1ULL << 15)
92
+ #define X86_EFLAGS_PRIOR_CF (1ULL << 16)
93
+ #define X86_EFLAGS_PRIOR_TF (1ULL << 17)
94
+ #define X86_EFLAGS_PRIOR_IF (1ULL << 18)
95
+ #define X86_EFLAGS_PRIOR_DF (1ULL << 19)
96
+ #define X86_EFLAGS_PRIOR_NT (1ULL << 20)
97
+ #define X86_EFLAGS_RESET_OF (1ULL << 21)
98
+ #define X86_EFLAGS_RESET_CF (1ULL << 22)
99
+ #define X86_EFLAGS_RESET_DF (1ULL << 23)
100
+ #define X86_EFLAGS_RESET_IF (1ULL << 24)
101
+ #define X86_EFLAGS_RESET_SF (1ULL << 25)
102
+ #define X86_EFLAGS_RESET_AF (1ULL << 26)
103
+ #define X86_EFLAGS_RESET_TF (1ULL << 27)
104
+ #define X86_EFLAGS_RESET_NT (1ULL << 28)
105
+ #define X86_EFLAGS_RESET_PF (1ULL << 29)
106
+ #define X86_EFLAGS_SET_CF (1ULL << 30)
107
+ #define X86_EFLAGS_SET_DF (1ULL << 31)
108
+ #define X86_EFLAGS_SET_IF (1ULL << 32)
109
+ #define X86_EFLAGS_TEST_OF (1ULL << 33)
110
+ #define X86_EFLAGS_TEST_SF (1ULL << 34)
111
+ #define X86_EFLAGS_TEST_ZF (1ULL << 35)
112
+ #define X86_EFLAGS_TEST_PF (1ULL << 36)
113
+ #define X86_EFLAGS_TEST_CF (1ULL << 37)
114
+ #define X86_EFLAGS_TEST_NT (1ULL << 38)
115
+ #define X86_EFLAGS_TEST_DF (1ULL << 39)
116
+ #define X86_EFLAGS_UNDEFINED_OF (1ULL << 40)
117
+ #define X86_EFLAGS_UNDEFINED_SF (1ULL << 41)
118
+ #define X86_EFLAGS_UNDEFINED_ZF (1ULL << 42)
119
+ #define X86_EFLAGS_UNDEFINED_PF (1ULL << 43)
120
+ #define X86_EFLAGS_UNDEFINED_AF (1ULL << 44)
121
+ #define X86_EFLAGS_UNDEFINED_CF (1ULL << 45)
122
+ #define X86_EFLAGS_RESET_RF (1ULL << 46)
123
+ #define X86_EFLAGS_TEST_RF (1ULL << 47)
124
+ #define X86_EFLAGS_TEST_IF (1ULL << 48)
125
+ #define X86_EFLAGS_TEST_TF (1ULL << 49)
126
+ #define X86_EFLAGS_TEST_AF (1ULL << 50)
127
+ #define X86_EFLAGS_RESET_ZF (1ULL << 51)
128
+ #define X86_EFLAGS_SET_OF (1ULL << 52)
129
+ #define X86_EFLAGS_SET_SF (1ULL << 53)
130
+ #define X86_EFLAGS_SET_ZF (1ULL << 54)
131
+ #define X86_EFLAGS_SET_AF (1ULL << 55)
132
+ #define X86_EFLAGS_SET_PF (1ULL << 56)
133
+ #define X86_EFLAGS_RESET_0F (1ULL << 57)
134
+ #define X86_EFLAGS_RESET_AC (1ULL << 58)
135
+
136
+ #define X86_FPU_FLAGS_MODIFY_C0 (1ULL << 0)
137
+ #define X86_FPU_FLAGS_MODIFY_C1 (1ULL << 1)
138
+ #define X86_FPU_FLAGS_MODIFY_C2 (1ULL << 2)
139
+ #define X86_FPU_FLAGS_MODIFY_C3 (1ULL << 3)
140
+ #define X86_FPU_FLAGS_RESET_C0 (1ULL << 4)
141
+ #define X86_FPU_FLAGS_RESET_C1 (1ULL << 5)
142
+ #define X86_FPU_FLAGS_RESET_C2 (1ULL << 6)
143
+ #define X86_FPU_FLAGS_RESET_C3 (1ULL << 7)
144
+ #define X86_FPU_FLAGS_SET_C0 (1ULL << 8)
145
+ #define X86_FPU_FLAGS_SET_C1 (1ULL << 9)
146
+ #define X86_FPU_FLAGS_SET_C2 (1ULL << 10)
147
+ #define X86_FPU_FLAGS_SET_C3 (1ULL << 11)
148
+ #define X86_FPU_FLAGS_UNDEFINED_C0 (1ULL << 12)
149
+ #define X86_FPU_FLAGS_UNDEFINED_C1 (1ULL << 13)
150
+ #define X86_FPU_FLAGS_UNDEFINED_C2 (1ULL << 14)
151
+ #define X86_FPU_FLAGS_UNDEFINED_C3 (1ULL << 15)
152
+ #define X86_FPU_FLAGS_TEST_C0 (1ULL << 16)
153
+ #define X86_FPU_FLAGS_TEST_C1 (1ULL << 17)
154
+ #define X86_FPU_FLAGS_TEST_C2 (1ULL << 18)
155
+ #define X86_FPU_FLAGS_TEST_C3 (1ULL << 19)
156
+
157
+
158
+ /// Operand type for instruction's operands
159
+ typedef enum x86_op_type {
160
+ X86_OP_INVALID = 0, ///< = CS_OP_INVALID (Uninitialized).
161
+ X86_OP_REG, ///< = CS_OP_REG (Register operand).
162
+ X86_OP_IMM, ///< = CS_OP_IMM (Immediate operand).
163
+ X86_OP_MEM, ///< = CS_OP_MEM (Memory operand).
164
+ } x86_op_type;
165
+
166
+ /// XOP Code Condition type
167
+ typedef enum x86_xop_cc {
168
+ X86_XOP_CC_INVALID = 0, ///< Uninitialized.
169
+ X86_XOP_CC_LT,
170
+ X86_XOP_CC_LE,
171
+ X86_XOP_CC_GT,
172
+ X86_XOP_CC_GE,
173
+ X86_XOP_CC_EQ,
174
+ X86_XOP_CC_NEQ,
175
+ X86_XOP_CC_FALSE,
176
+ X86_XOP_CC_TRUE,
177
+ } x86_xop_cc;
178
+
179
+ /// AVX broadcast type
180
+ typedef enum x86_avx_bcast {
181
+ X86_AVX_BCAST_INVALID = 0, ///< Uninitialized.
182
+ X86_AVX_BCAST_2, ///< AVX512 broadcast type {1to2}
183
+ X86_AVX_BCAST_4, ///< AVX512 broadcast type {1to4}
184
+ X86_AVX_BCAST_8, ///< AVX512 broadcast type {1to8}
185
+ X86_AVX_BCAST_16, ///< AVX512 broadcast type {1to16}
186
+ } x86_avx_bcast;
187
+
188
+ /// SSE Code Condition type
189
+ typedef enum x86_sse_cc {
190
+ X86_SSE_CC_INVALID = 0, ///< Uninitialized.
191
+ X86_SSE_CC_EQ,
192
+ X86_SSE_CC_LT,
193
+ X86_SSE_CC_LE,
194
+ X86_SSE_CC_UNORD,
195
+ X86_SSE_CC_NEQ,
196
+ X86_SSE_CC_NLT,
197
+ X86_SSE_CC_NLE,
198
+ X86_SSE_CC_ORD,
199
+ } x86_sse_cc;
200
+
201
+ /// AVX Code Condition type
202
+ typedef enum x86_avx_cc {
203
+ X86_AVX_CC_INVALID = 0, ///< Uninitialized.
204
+ X86_AVX_CC_EQ,
205
+ X86_AVX_CC_LT,
206
+ X86_AVX_CC_LE,
207
+ X86_AVX_CC_UNORD,
208
+ X86_AVX_CC_NEQ,
209
+ X86_AVX_CC_NLT,
210
+ X86_AVX_CC_NLE,
211
+ X86_AVX_CC_ORD,
212
+ X86_AVX_CC_EQ_UQ,
213
+ X86_AVX_CC_NGE,
214
+ X86_AVX_CC_NGT,
215
+ X86_AVX_CC_FALSE,
216
+ X86_AVX_CC_NEQ_OQ,
217
+ X86_AVX_CC_GE,
218
+ X86_AVX_CC_GT,
219
+ X86_AVX_CC_TRUE,
220
+ X86_AVX_CC_EQ_OS,
221
+ X86_AVX_CC_LT_OQ,
222
+ X86_AVX_CC_LE_OQ,
223
+ X86_AVX_CC_UNORD_S,
224
+ X86_AVX_CC_NEQ_US,
225
+ X86_AVX_CC_NLT_UQ,
226
+ X86_AVX_CC_NLE_UQ,
227
+ X86_AVX_CC_ORD_S,
228
+ X86_AVX_CC_EQ_US,
229
+ X86_AVX_CC_NGE_UQ,
230
+ X86_AVX_CC_NGT_UQ,
231
+ X86_AVX_CC_FALSE_OS,
232
+ X86_AVX_CC_NEQ_OS,
233
+ X86_AVX_CC_GE_OQ,
234
+ X86_AVX_CC_GT_OQ,
235
+ X86_AVX_CC_TRUE_US,
236
+ } x86_avx_cc;
237
+
238
+ /// AVX static rounding mode type
239
+ typedef enum x86_avx_rm {
240
+ X86_AVX_RM_INVALID = 0, ///< Uninitialized.
241
+ X86_AVX_RM_RN, ///< Round to nearest
242
+ X86_AVX_RM_RD, ///< Round down
243
+ X86_AVX_RM_RU, ///< Round up
244
+ X86_AVX_RM_RZ, ///< Round toward zero
245
+ } x86_avx_rm;
246
+
247
+ /// Instruction prefixes - to be used in cs_x86.prefix[]
248
+ typedef enum x86_prefix {
249
+ X86_PREFIX_LOCK = 0xf0, ///< lock (cs_x86.prefix[0]
250
+ X86_PREFIX_REP = 0xf3, ///< rep (cs_x86.prefix[0]
251
+ X86_PREFIX_REPE = 0xf3, ///< repe/repz (cs_x86.prefix[0]
252
+ X86_PREFIX_REPNE = 0xf2, ///< repne/repnz (cs_x86.prefix[0]
253
+
254
+ X86_PREFIX_CS = 0x2e, ///< segment override CS (cs_x86.prefix[1]
255
+ X86_PREFIX_SS = 0x36, ///< segment override SS (cs_x86.prefix[1]
256
+ X86_PREFIX_DS = 0x3e, ///< segment override DS (cs_x86.prefix[1]
257
+ X86_PREFIX_ES = 0x26, ///< segment override ES (cs_x86.prefix[1]
258
+ X86_PREFIX_FS = 0x64, ///< segment override FS (cs_x86.prefix[1]
259
+ X86_PREFIX_GS = 0x65, ///< segment override GS (cs_x86.prefix[1]
260
+
261
+ X86_PREFIX_OPSIZE = 0x66, ///< operand-size override (cs_x86.prefix[2]
262
+ X86_PREFIX_ADDRSIZE = 0x67, ///< address-size override (cs_x86.prefix[3]
263
+ } x86_prefix;
264
+
265
+ /// Instruction's operand referring to memory
266
+ /// This is associated with X86_OP_MEM operand type above
267
+ typedef struct x86_op_mem {
268
+ x86_reg segment; ///< segment register (or X86_REG_INVALID if irrelevant)
269
+ x86_reg base; ///< base register (or X86_REG_INVALID if irrelevant)
270
+ x86_reg index; ///< index register (or X86_REG_INVALID if irrelevant)
271
+ int scale; ///< scale for index register
272
+ int64_t disp; ///< displacement value
273
+ } x86_op_mem;
274
+
275
+ /// Instruction operand
276
+ typedef struct cs_x86_op {
277
+ x86_op_type type; ///< operand type
278
+ union {
279
+ x86_reg reg; ///< register value for REG operand
280
+ int64_t imm; ///< immediate value for IMM operand
281
+ x86_op_mem mem; ///< base/index/scale/disp value for MEM operand
282
+ };
283
+
284
+ /// size of this operand (in bytes).
285
+ uint8_t size;
286
+
287
+ /// How is this operand accessed? (READ, WRITE or READ|WRITE)
288
+ /// This field is combined of cs_ac_type.
289
+ /// NOTE: this field is irrelevant if engine is compiled in DIET mode.
290
+ uint8_t access;
291
+
292
+ /// AVX broadcast type, or 0 if irrelevant
293
+ x86_avx_bcast avx_bcast;
294
+
295
+ /// AVX zero opmask {z}
296
+ bool avx_zero_opmask;
297
+ } cs_x86_op;
298
+
299
+ typedef struct cs_x86_encoding {
300
+ /// ModR/M offset, or 0 when irrelevant
301
+ uint8_t modrm_offset;
302
+
303
+ /// Displacement offset, or 0 when irrelevant.
304
+ uint8_t disp_offset;
305
+ uint8_t disp_size;
306
+
307
+ /// Immediate offset, or 0 when irrelevant.
308
+ uint8_t imm_offset;
309
+ uint8_t imm_size;
310
+ } cs_x86_encoding;
311
+
312
+ /// Instruction structure
313
+ typedef struct cs_x86 {
314
+ /// Instruction prefix, which can be up to 4 bytes.
315
+ /// A prefix byte gets value 0 when irrelevant.
316
+ /// prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above)
317
+ /// prefix[1] indicates segment override (irrelevant for x86_64):
318
+ /// See X86_PREFIX_CS/SS/DS/ES/FS/GS above.
319
+ /// prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE)
320
+ /// prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE)
321
+ uint8_t prefix[4];
322
+
323
+ /// Instruction opcode, which can be from 1 to 4 bytes in size.
324
+ /// This contains VEX opcode as well.
325
+ /// An trailing opcode byte gets value 0 when irrelevant.
326
+ uint8_t opcode[4];
327
+
328
+ /// REX prefix: only a non-zero value is relevant for x86_64
329
+ uint8_t rex;
330
+
331
+ /// Address size, which can be overridden with above prefix[5].
332
+ uint8_t addr_size;
333
+
334
+ /// ModR/M byte
335
+ uint8_t modrm;
336
+
337
+ /// SIB value, or 0 when irrelevant.
338
+ uint8_t sib;
339
+
340
+ /// Displacement value, valid if encoding.disp_offset != 0
341
+ int64_t disp;
342
+
343
+ /// SIB index register, or X86_REG_INVALID when irrelevant.
344
+ x86_reg sib_index;
345
+ /// SIB scale, only applicable if sib_index is valid.
346
+ int8_t sib_scale;
347
+ /// SIB base register, or X86_REG_INVALID when irrelevant.
348
+ x86_reg sib_base;
349
+
350
+ /// XOP Code Condition
351
+ x86_xop_cc xop_cc;
352
+
353
+ /// SSE Code Condition
354
+ x86_sse_cc sse_cc;
355
+
356
+ /// AVX Code Condition
357
+ x86_avx_cc avx_cc;
358
+
359
+ /// AVX Suppress all Exception
360
+ bool avx_sae;
361
+
362
+ /// AVX static rounding mode
363
+ x86_avx_rm avx_rm;
364
+
365
+
366
+ union {
367
+ /// EFLAGS updated by this instruction.
368
+ /// This can be formed from OR combination of X86_EFLAGS_* symbols in x86.h
369
+ uint64_t eflags;
370
+ /// FPU_FLAGS updated by this instruction.
371
+ /// This can be formed from OR combination of X86_FPU_FLAGS_* symbols in x86.h
372
+ uint64_t fpu_flags;
373
+ };
374
+
375
+ /// Number of operands of this instruction,
376
+ /// or 0 when instruction has no operand.
377
+ uint8_t op_count;
378
+
379
+ cs_x86_op operands[8]; ///< operands for this instruction.
380
+
381
+ cs_x86_encoding encoding; ///< encoding information
382
+ } cs_x86;
383
+
384
+ /// X86 instructions
385
+ typedef enum x86_insn {
386
+ X86_INS_INVALID = 0,
387
+
388
+ X86_INS_AAA,
389
+ X86_INS_AAD,
390
+ X86_INS_AAM,
391
+ X86_INS_AAS,
392
+ X86_INS_FABS,
393
+ X86_INS_ADC,
394
+ X86_INS_ADCX,
395
+ X86_INS_ADD,
396
+ X86_INS_ADDPD,
397
+ X86_INS_ADDPS,
398
+ X86_INS_ADDSD,
399
+ X86_INS_ADDSS,
400
+ X86_INS_ADDSUBPD,
401
+ X86_INS_ADDSUBPS,
402
+ X86_INS_FADD,
403
+ X86_INS_FIADD,
404
+ X86_INS_ADOX,
405
+ X86_INS_AESDECLAST,
406
+ X86_INS_AESDEC,
407
+ X86_INS_AESENCLAST,
408
+ X86_INS_AESENC,
409
+ X86_INS_AESIMC,
410
+ X86_INS_AESKEYGENASSIST,
411
+ X86_INS_AND,
412
+ X86_INS_ANDN,
413
+ X86_INS_ANDNPD,
414
+ X86_INS_ANDNPS,
415
+ X86_INS_ANDPD,
416
+ X86_INS_ANDPS,
417
+ X86_INS_ARPL,
418
+ X86_INS_BEXTR,
419
+ X86_INS_BLCFILL,
420
+ X86_INS_BLCI,
421
+ X86_INS_BLCIC,
422
+ X86_INS_BLCMSK,
423
+ X86_INS_BLCS,
424
+ X86_INS_BLENDPD,
425
+ X86_INS_BLENDPS,
426
+ X86_INS_BLENDVPD,
427
+ X86_INS_BLENDVPS,
428
+ X86_INS_BLSFILL,
429
+ X86_INS_BLSI,
430
+ X86_INS_BLSIC,
431
+ X86_INS_BLSMSK,
432
+ X86_INS_BLSR,
433
+ X86_INS_BNDCL,
434
+ X86_INS_BNDCN,
435
+ X86_INS_BNDCU,
436
+ X86_INS_BNDLDX,
437
+ X86_INS_BNDMK,
438
+ X86_INS_BNDMOV,
439
+ X86_INS_BNDSTX,
440
+ X86_INS_BOUND,
441
+ X86_INS_BSF,
442
+ X86_INS_BSR,
443
+ X86_INS_BSWAP,
444
+ X86_INS_BT,
445
+ X86_INS_BTC,
446
+ X86_INS_BTR,
447
+ X86_INS_BTS,
448
+ X86_INS_BZHI,
449
+ X86_INS_CALL,
450
+ X86_INS_CBW,
451
+ X86_INS_CDQ,
452
+ X86_INS_CDQE,
453
+ X86_INS_FCHS,
454
+ X86_INS_CLAC,
455
+ X86_INS_CLC,
456
+ X86_INS_CLD,
457
+ X86_INS_CLDEMOTE,
458
+ X86_INS_CLFLUSH,
459
+ X86_INS_CLFLUSHOPT,
460
+ X86_INS_CLGI,
461
+ X86_INS_CLI,
462
+ X86_INS_CLRSSBSY,
463
+ X86_INS_CLTS,
464
+ X86_INS_CLWB,
465
+ X86_INS_CLZERO,
466
+ X86_INS_CMC,
467
+ X86_INS_CMOVA,
468
+ X86_INS_CMOVAE,
469
+ X86_INS_CMOVB,
470
+ X86_INS_CMOVBE,
471
+ X86_INS_FCMOVBE,
472
+ X86_INS_FCMOVB,
473
+ X86_INS_CMOVE,
474
+ X86_INS_FCMOVE,
475
+ X86_INS_CMOVG,
476
+ X86_INS_CMOVGE,
477
+ X86_INS_CMOVL,
478
+ X86_INS_CMOVLE,
479
+ X86_INS_FCMOVNBE,
480
+ X86_INS_FCMOVNB,
481
+ X86_INS_CMOVNE,
482
+ X86_INS_FCMOVNE,
483
+ X86_INS_CMOVNO,
484
+ X86_INS_CMOVNP,
485
+ X86_INS_FCMOVNU,
486
+ X86_INS_FCMOVNP,
487
+ X86_INS_CMOVNS,
488
+ X86_INS_CMOVO,
489
+ X86_INS_CMOVP,
490
+ X86_INS_FCMOVU,
491
+ X86_INS_CMOVS,
492
+ X86_INS_CMP,
493
+ X86_INS_CMPPD,
494
+ X86_INS_CMPPS,
495
+ X86_INS_CMPSB,
496
+ X86_INS_CMPSD,
497
+ X86_INS_CMPSQ,
498
+ X86_INS_CMPSS,
499
+ X86_INS_CMPSW,
500
+ X86_INS_CMPXCHG16B,
501
+ X86_INS_CMPXCHG,
502
+ X86_INS_CMPXCHG8B,
503
+ X86_INS_COMISD,
504
+ X86_INS_COMISS,
505
+ X86_INS_FCOMP,
506
+ X86_INS_FCOMPI,
507
+ X86_INS_FCOMI,
508
+ X86_INS_FCOM,
509
+ X86_INS_FCOS,
510
+ X86_INS_CPUID,
511
+ X86_INS_CQO,
512
+ X86_INS_CRC32,
513
+ X86_INS_CVTDQ2PD,
514
+ X86_INS_CVTDQ2PS,
515
+ X86_INS_CVTPD2DQ,
516
+ X86_INS_CVTPD2PS,
517
+ X86_INS_CVTPS2DQ,
518
+ X86_INS_CVTPS2PD,
519
+ X86_INS_CVTSD2SI,
520
+ X86_INS_CVTSD2SS,
521
+ X86_INS_CVTSI2SD,
522
+ X86_INS_CVTSI2SS,
523
+ X86_INS_CVTSS2SD,
524
+ X86_INS_CVTSS2SI,
525
+ X86_INS_CVTTPD2DQ,
526
+ X86_INS_CVTTPS2DQ,
527
+ X86_INS_CVTTSD2SI,
528
+ X86_INS_CVTTSS2SI,
529
+ X86_INS_CWD,
530
+ X86_INS_CWDE,
531
+ X86_INS_DAA,
532
+ X86_INS_DAS,
533
+ X86_INS_DATA16,
534
+ X86_INS_DEC,
535
+ X86_INS_DIV,
536
+ X86_INS_DIVPD,
537
+ X86_INS_DIVPS,
538
+ X86_INS_FDIVR,
539
+ X86_INS_FIDIVR,
540
+ X86_INS_FDIVRP,
541
+ X86_INS_DIVSD,
542
+ X86_INS_DIVSS,
543
+ X86_INS_FDIV,
544
+ X86_INS_FIDIV,
545
+ X86_INS_FDIVP,
546
+ X86_INS_DPPD,
547
+ X86_INS_DPPS,
548
+ X86_INS_ENCLS,
549
+ X86_INS_ENCLU,
550
+ X86_INS_ENCLV,
551
+ X86_INS_ENDBR32,
552
+ X86_INS_ENDBR64,
553
+ X86_INS_ENTER,
554
+ X86_INS_EXTRACTPS,
555
+ X86_INS_EXTRQ,
556
+ X86_INS_F2XM1,
557
+ X86_INS_LCALL,
558
+ X86_INS_LJMP,
559
+ X86_INS_JMP,
560
+ X86_INS_FBLD,
561
+ X86_INS_FBSTP,
562
+ X86_INS_FCOMPP,
563
+ X86_INS_FDECSTP,
564
+ X86_INS_FDISI8087_NOP,
565
+ X86_INS_FEMMS,
566
+ X86_INS_FENI8087_NOP,
567
+ X86_INS_FFREE,
568
+ X86_INS_FFREEP,
569
+ X86_INS_FICOM,
570
+ X86_INS_FICOMP,
571
+ X86_INS_FINCSTP,
572
+ X86_INS_FLDCW,
573
+ X86_INS_FLDENV,
574
+ X86_INS_FLDL2E,
575
+ X86_INS_FLDL2T,
576
+ X86_INS_FLDLG2,
577
+ X86_INS_FLDLN2,
578
+ X86_INS_FLDPI,
579
+ X86_INS_FNCLEX,
580
+ X86_INS_FNINIT,
581
+ X86_INS_FNOP,
582
+ X86_INS_FNSTCW,
583
+ X86_INS_FNSTSW,
584
+ X86_INS_FPATAN,
585
+ X86_INS_FSTPNCE,
586
+ X86_INS_FPREM,
587
+ X86_INS_FPREM1,
588
+ X86_INS_FPTAN,
589
+ X86_INS_FRNDINT,
590
+ X86_INS_FRSTOR,
591
+ X86_INS_FNSAVE,
592
+ X86_INS_FSCALE,
593
+ X86_INS_FSETPM,
594
+ X86_INS_FSINCOS,
595
+ X86_INS_FNSTENV,
596
+ X86_INS_FXAM,
597
+ X86_INS_FXRSTOR,
598
+ X86_INS_FXRSTOR64,
599
+ X86_INS_FXSAVE,
600
+ X86_INS_FXSAVE64,
601
+ X86_INS_FXTRACT,
602
+ X86_INS_FYL2X,
603
+ X86_INS_FYL2XP1,
604
+ X86_INS_GETSEC,
605
+ X86_INS_GF2P8AFFINEINVQB,
606
+ X86_INS_GF2P8AFFINEQB,
607
+ X86_INS_GF2P8MULB,
608
+ X86_INS_HADDPD,
609
+ X86_INS_HADDPS,
610
+ X86_INS_HLT,
611
+ X86_INS_HSUBPD,
612
+ X86_INS_HSUBPS,
613
+ X86_INS_IDIV,
614
+ X86_INS_FILD,
615
+ X86_INS_IMUL,
616
+ X86_INS_IN,
617
+ X86_INS_INC,
618
+ X86_INS_INCSSPD,
619
+ X86_INS_INCSSPQ,
620
+ X86_INS_INSB,
621
+ X86_INS_INSERTPS,
622
+ X86_INS_INSERTQ,
623
+ X86_INS_INSD,
624
+ X86_INS_INSW,
625
+ X86_INS_INT,
626
+ X86_INS_INT1,
627
+ X86_INS_INT3,
628
+ X86_INS_INTO,
629
+ X86_INS_INVD,
630
+ X86_INS_INVEPT,
631
+ X86_INS_INVLPG,
632
+ X86_INS_INVLPGA,
633
+ X86_INS_INVPCID,
634
+ X86_INS_INVVPID,
635
+ X86_INS_IRET,
636
+ X86_INS_IRETD,
637
+ X86_INS_IRETQ,
638
+ X86_INS_FISTTP,
639
+ X86_INS_FIST,
640
+ X86_INS_FISTP,
641
+ X86_INS_JAE,
642
+ X86_INS_JA,
643
+ X86_INS_JBE,
644
+ X86_INS_JB,
645
+ X86_INS_JCXZ,
646
+ X86_INS_JECXZ,
647
+ X86_INS_JE,
648
+ X86_INS_JGE,
649
+ X86_INS_JG,
650
+ X86_INS_JLE,
651
+ X86_INS_JL,
652
+ X86_INS_JNE,
653
+ X86_INS_JNO,
654
+ X86_INS_JNP,
655
+ X86_INS_JNS,
656
+ X86_INS_JO,
657
+ X86_INS_JP,
658
+ X86_INS_JRCXZ,
659
+ X86_INS_JS,
660
+ X86_INS_KADDB,
661
+ X86_INS_KADDD,
662
+ X86_INS_KADDQ,
663
+ X86_INS_KADDW,
664
+ X86_INS_KANDB,
665
+ X86_INS_KANDD,
666
+ X86_INS_KANDNB,
667
+ X86_INS_KANDND,
668
+ X86_INS_KANDNQ,
669
+ X86_INS_KANDNW,
670
+ X86_INS_KANDQ,
671
+ X86_INS_KANDW,
672
+ X86_INS_KMOVB,
673
+ X86_INS_KMOVD,
674
+ X86_INS_KMOVQ,
675
+ X86_INS_KMOVW,
676
+ X86_INS_KNOTB,
677
+ X86_INS_KNOTD,
678
+ X86_INS_KNOTQ,
679
+ X86_INS_KNOTW,
680
+ X86_INS_KORB,
681
+ X86_INS_KORD,
682
+ X86_INS_KORQ,
683
+ X86_INS_KORTESTB,
684
+ X86_INS_KORTESTD,
685
+ X86_INS_KORTESTQ,
686
+ X86_INS_KORTESTW,
687
+ X86_INS_KORW,
688
+ X86_INS_KSHIFTLB,
689
+ X86_INS_KSHIFTLD,
690
+ X86_INS_KSHIFTLQ,
691
+ X86_INS_KSHIFTLW,
692
+ X86_INS_KSHIFTRB,
693
+ X86_INS_KSHIFTRD,
694
+ X86_INS_KSHIFTRQ,
695
+ X86_INS_KSHIFTRW,
696
+ X86_INS_KTESTB,
697
+ X86_INS_KTESTD,
698
+ X86_INS_KTESTQ,
699
+ X86_INS_KTESTW,
700
+ X86_INS_KUNPCKBW,
701
+ X86_INS_KUNPCKDQ,
702
+ X86_INS_KUNPCKWD,
703
+ X86_INS_KXNORB,
704
+ X86_INS_KXNORD,
705
+ X86_INS_KXNORQ,
706
+ X86_INS_KXNORW,
707
+ X86_INS_KXORB,
708
+ X86_INS_KXORD,
709
+ X86_INS_KXORQ,
710
+ X86_INS_KXORW,
711
+ X86_INS_LAHF,
712
+ X86_INS_LAR,
713
+ X86_INS_LDDQU,
714
+ X86_INS_LDMXCSR,
715
+ X86_INS_LDS,
716
+ X86_INS_FLDZ,
717
+ X86_INS_FLD1,
718
+ X86_INS_FLD,
719
+ X86_INS_LEA,
720
+ X86_INS_LEAVE,
721
+ X86_INS_LES,
722
+ X86_INS_LFENCE,
723
+ X86_INS_LFS,
724
+ X86_INS_LGDT,
725
+ X86_INS_LGS,
726
+ X86_INS_LIDT,
727
+ X86_INS_LLDT,
728
+ X86_INS_LLWPCB,
729
+ X86_INS_LMSW,
730
+ X86_INS_LOCK,
731
+ X86_INS_LODSB,
732
+ X86_INS_LODSD,
733
+ X86_INS_LODSQ,
734
+ X86_INS_LODSW,
735
+ X86_INS_LOOP,
736
+ X86_INS_LOOPE,
737
+ X86_INS_LOOPNE,
738
+ X86_INS_RETF,
739
+ X86_INS_RETFQ,
740
+ X86_INS_LSL,
741
+ X86_INS_LSS,
742
+ X86_INS_LTR,
743
+ X86_INS_LWPINS,
744
+ X86_INS_LWPVAL,
745
+ X86_INS_LZCNT,
746
+ X86_INS_MASKMOVDQU,
747
+ X86_INS_MAXPD,
748
+ X86_INS_MAXPS,
749
+ X86_INS_MAXSD,
750
+ X86_INS_MAXSS,
751
+ X86_INS_MFENCE,
752
+ X86_INS_MINPD,
753
+ X86_INS_MINPS,
754
+ X86_INS_MINSD,
755
+ X86_INS_MINSS,
756
+ X86_INS_CVTPD2PI,
757
+ X86_INS_CVTPI2PD,
758
+ X86_INS_CVTPI2PS,
759
+ X86_INS_CVTPS2PI,
760
+ X86_INS_CVTTPD2PI,
761
+ X86_INS_CVTTPS2PI,
762
+ X86_INS_EMMS,
763
+ X86_INS_MASKMOVQ,
764
+ X86_INS_MOVD,
765
+ X86_INS_MOVQ,
766
+ X86_INS_MOVDQ2Q,
767
+ X86_INS_MOVNTQ,
768
+ X86_INS_MOVQ2DQ,
769
+ X86_INS_PABSB,
770
+ X86_INS_PABSD,
771
+ X86_INS_PABSW,
772
+ X86_INS_PACKSSDW,
773
+ X86_INS_PACKSSWB,
774
+ X86_INS_PACKUSWB,
775
+ X86_INS_PADDB,
776
+ X86_INS_PADDD,
777
+ X86_INS_PADDQ,
778
+ X86_INS_PADDSB,
779
+ X86_INS_PADDSW,
780
+ X86_INS_PADDUSB,
781
+ X86_INS_PADDUSW,
782
+ X86_INS_PADDW,
783
+ X86_INS_PALIGNR,
784
+ X86_INS_PANDN,
785
+ X86_INS_PAND,
786
+ X86_INS_PAVGB,
787
+ X86_INS_PAVGW,
788
+ X86_INS_PCMPEQB,
789
+ X86_INS_PCMPEQD,
790
+ X86_INS_PCMPEQW,
791
+ X86_INS_PCMPGTB,
792
+ X86_INS_PCMPGTD,
793
+ X86_INS_PCMPGTW,
794
+ X86_INS_PEXTRW,
795
+ X86_INS_PHADDD,
796
+ X86_INS_PHADDSW,
797
+ X86_INS_PHADDW,
798
+ X86_INS_PHSUBD,
799
+ X86_INS_PHSUBSW,
800
+ X86_INS_PHSUBW,
801
+ X86_INS_PINSRW,
802
+ X86_INS_PMADDUBSW,
803
+ X86_INS_PMADDWD,
804
+ X86_INS_PMAXSW,
805
+ X86_INS_PMAXUB,
806
+ X86_INS_PMINSW,
807
+ X86_INS_PMINUB,
808
+ X86_INS_PMOVMSKB,
809
+ X86_INS_PMULHRSW,
810
+ X86_INS_PMULHUW,
811
+ X86_INS_PMULHW,
812
+ X86_INS_PMULLW,
813
+ X86_INS_PMULUDQ,
814
+ X86_INS_POR,
815
+ X86_INS_PSADBW,
816
+ X86_INS_PSHUFB,
817
+ X86_INS_PSHUFW,
818
+ X86_INS_PSIGNB,
819
+ X86_INS_PSIGND,
820
+ X86_INS_PSIGNW,
821
+ X86_INS_PSLLD,
822
+ X86_INS_PSLLQ,
823
+ X86_INS_PSLLW,
824
+ X86_INS_PSRAD,
825
+ X86_INS_PSRAW,
826
+ X86_INS_PSRLD,
827
+ X86_INS_PSRLQ,
828
+ X86_INS_PSRLW,
829
+ X86_INS_PSUBB,
830
+ X86_INS_PSUBD,
831
+ X86_INS_PSUBQ,
832
+ X86_INS_PSUBSB,
833
+ X86_INS_PSUBSW,
834
+ X86_INS_PSUBUSB,
835
+ X86_INS_PSUBUSW,
836
+ X86_INS_PSUBW,
837
+ X86_INS_PUNPCKHBW,
838
+ X86_INS_PUNPCKHDQ,
839
+ X86_INS_PUNPCKHWD,
840
+ X86_INS_PUNPCKLBW,
841
+ X86_INS_PUNPCKLDQ,
842
+ X86_INS_PUNPCKLWD,
843
+ X86_INS_PXOR,
844
+ X86_INS_MONITORX,
845
+ X86_INS_MONITOR,
846
+ X86_INS_MONTMUL,
847
+ X86_INS_MOV,
848
+ X86_INS_MOVABS,
849
+ X86_INS_MOVAPD,
850
+ X86_INS_MOVAPS,
851
+ X86_INS_MOVBE,
852
+ X86_INS_MOVDDUP,
853
+ X86_INS_MOVDIR64B,
854
+ X86_INS_MOVDIRI,
855
+ X86_INS_MOVDQA,
856
+ X86_INS_MOVDQU,
857
+ X86_INS_MOVHLPS,
858
+ X86_INS_MOVHPD,
859
+ X86_INS_MOVHPS,
860
+ X86_INS_MOVLHPS,
861
+ X86_INS_MOVLPD,
862
+ X86_INS_MOVLPS,
863
+ X86_INS_MOVMSKPD,
864
+ X86_INS_MOVMSKPS,
865
+ X86_INS_MOVNTDQA,
866
+ X86_INS_MOVNTDQ,
867
+ X86_INS_MOVNTI,
868
+ X86_INS_MOVNTPD,
869
+ X86_INS_MOVNTPS,
870
+ X86_INS_MOVNTSD,
871
+ X86_INS_MOVNTSS,
872
+ X86_INS_MOVSB,
873
+ X86_INS_MOVSD,
874
+ X86_INS_MOVSHDUP,
875
+ X86_INS_MOVSLDUP,
876
+ X86_INS_MOVSQ,
877
+ X86_INS_MOVSS,
878
+ X86_INS_MOVSW,
879
+ X86_INS_MOVSX,
880
+ X86_INS_MOVSXD,
881
+ X86_INS_MOVUPD,
882
+ X86_INS_MOVUPS,
883
+ X86_INS_MOVZX,
884
+ X86_INS_MPSADBW,
885
+ X86_INS_MUL,
886
+ X86_INS_MULPD,
887
+ X86_INS_MULPS,
888
+ X86_INS_MULSD,
889
+ X86_INS_MULSS,
890
+ X86_INS_MULX,
891
+ X86_INS_FMUL,
892
+ X86_INS_FIMUL,
893
+ X86_INS_FMULP,
894
+ X86_INS_MWAITX,
895
+ X86_INS_MWAIT,
896
+ X86_INS_NEG,
897
+ X86_INS_NOP,
898
+ X86_INS_NOT,
899
+ X86_INS_OR,
900
+ X86_INS_ORPD,
901
+ X86_INS_ORPS,
902
+ X86_INS_OUT,
903
+ X86_INS_OUTSB,
904
+ X86_INS_OUTSD,
905
+ X86_INS_OUTSW,
906
+ X86_INS_PACKUSDW,
907
+ X86_INS_PAUSE,
908
+ X86_INS_PAVGUSB,
909
+ X86_INS_PBLENDVB,
910
+ X86_INS_PBLENDW,
911
+ X86_INS_PCLMULQDQ,
912
+ X86_INS_PCMPEQQ,
913
+ X86_INS_PCMPESTRI,
914
+ X86_INS_PCMPESTRM,
915
+ X86_INS_PCMPGTQ,
916
+ X86_INS_PCMPISTRI,
917
+ X86_INS_PCMPISTRM,
918
+ X86_INS_PCONFIG,
919
+ X86_INS_PDEP,
920
+ X86_INS_PEXT,
921
+ X86_INS_PEXTRB,
922
+ X86_INS_PEXTRD,
923
+ X86_INS_PEXTRQ,
924
+ X86_INS_PF2ID,
925
+ X86_INS_PF2IW,
926
+ X86_INS_PFACC,
927
+ X86_INS_PFADD,
928
+ X86_INS_PFCMPEQ,
929
+ X86_INS_PFCMPGE,
930
+ X86_INS_PFCMPGT,
931
+ X86_INS_PFMAX,
932
+ X86_INS_PFMIN,
933
+ X86_INS_PFMUL,
934
+ X86_INS_PFNACC,
935
+ X86_INS_PFPNACC,
936
+ X86_INS_PFRCPIT1,
937
+ X86_INS_PFRCPIT2,
938
+ X86_INS_PFRCP,
939
+ X86_INS_PFRSQIT1,
940
+ X86_INS_PFRSQRT,
941
+ X86_INS_PFSUBR,
942
+ X86_INS_PFSUB,
943
+ X86_INS_PHMINPOSUW,
944
+ X86_INS_PI2FD,
945
+ X86_INS_PI2FW,
946
+ X86_INS_PINSRB,
947
+ X86_INS_PINSRD,
948
+ X86_INS_PINSRQ,
949
+ X86_INS_PMAXSB,
950
+ X86_INS_PMAXSD,
951
+ X86_INS_PMAXUD,
952
+ X86_INS_PMAXUW,
953
+ X86_INS_PMINSB,
954
+ X86_INS_PMINSD,
955
+ X86_INS_PMINUD,
956
+ X86_INS_PMINUW,
957
+ X86_INS_PMOVSXBD,
958
+ X86_INS_PMOVSXBQ,
959
+ X86_INS_PMOVSXBW,
960
+ X86_INS_PMOVSXDQ,
961
+ X86_INS_PMOVSXWD,
962
+ X86_INS_PMOVSXWQ,
963
+ X86_INS_PMOVZXBD,
964
+ X86_INS_PMOVZXBQ,
965
+ X86_INS_PMOVZXBW,
966
+ X86_INS_PMOVZXDQ,
967
+ X86_INS_PMOVZXWD,
968
+ X86_INS_PMOVZXWQ,
969
+ X86_INS_PMULDQ,
970
+ X86_INS_PMULHRW,
971
+ X86_INS_PMULLD,
972
+ X86_INS_POP,
973
+ X86_INS_POPAW,
974
+ X86_INS_POPAL,
975
+ X86_INS_POPCNT,
976
+ X86_INS_POPF,
977
+ X86_INS_POPFD,
978
+ X86_INS_POPFQ,
979
+ X86_INS_PREFETCH,
980
+ X86_INS_PREFETCHNTA,
981
+ X86_INS_PREFETCHT0,
982
+ X86_INS_PREFETCHT1,
983
+ X86_INS_PREFETCHT2,
984
+ X86_INS_PREFETCHW,
985
+ X86_INS_PREFETCHWT1,
986
+ X86_INS_PSHUFD,
987
+ X86_INS_PSHUFHW,
988
+ X86_INS_PSHUFLW,
989
+ X86_INS_PSLLDQ,
990
+ X86_INS_PSRLDQ,
991
+ X86_INS_PSWAPD,
992
+ X86_INS_PTEST,
993
+ X86_INS_PTWRITE,
994
+ X86_INS_PUNPCKHQDQ,
995
+ X86_INS_PUNPCKLQDQ,
996
+ X86_INS_PUSH,
997
+ X86_INS_PUSHAW,
998
+ X86_INS_PUSHAL,
999
+ X86_INS_PUSHF,
1000
+ X86_INS_PUSHFD,
1001
+ X86_INS_PUSHFQ,
1002
+ X86_INS_RCL,
1003
+ X86_INS_RCPPS,
1004
+ X86_INS_RCPSS,
1005
+ X86_INS_RCR,
1006
+ X86_INS_RDFSBASE,
1007
+ X86_INS_RDGSBASE,
1008
+ X86_INS_RDMSR,
1009
+ X86_INS_RDPID,
1010
+ X86_INS_RDPKRU,
1011
+ X86_INS_RDPMC,
1012
+ X86_INS_RDRAND,
1013
+ X86_INS_RDSEED,
1014
+ X86_INS_RDSSPD,
1015
+ X86_INS_RDSSPQ,
1016
+ X86_INS_RDTSC,
1017
+ X86_INS_RDTSCP,
1018
+ X86_INS_REPNE,
1019
+ X86_INS_REP,
1020
+ X86_INS_RET,
1021
+ X86_INS_REX64,
1022
+ X86_INS_ROL,
1023
+ X86_INS_ROR,
1024
+ X86_INS_RORX,
1025
+ X86_INS_ROUNDPD,
1026
+ X86_INS_ROUNDPS,
1027
+ X86_INS_ROUNDSD,
1028
+ X86_INS_ROUNDSS,
1029
+ X86_INS_RSM,
1030
+ X86_INS_RSQRTPS,
1031
+ X86_INS_RSQRTSS,
1032
+ X86_INS_RSTORSSP,
1033
+ X86_INS_SAHF,
1034
+ X86_INS_SAL,
1035
+ X86_INS_SALC,
1036
+ X86_INS_SAR,
1037
+ X86_INS_SARX,
1038
+ X86_INS_SAVEPREVSSP,
1039
+ X86_INS_SBB,
1040
+ X86_INS_SCASB,
1041
+ X86_INS_SCASD,
1042
+ X86_INS_SCASQ,
1043
+ X86_INS_SCASW,
1044
+ X86_INS_SETAE,
1045
+ X86_INS_SETA,
1046
+ X86_INS_SETBE,
1047
+ X86_INS_SETB,
1048
+ X86_INS_SETE,
1049
+ X86_INS_SETGE,
1050
+ X86_INS_SETG,
1051
+ X86_INS_SETLE,
1052
+ X86_INS_SETL,
1053
+ X86_INS_SETNE,
1054
+ X86_INS_SETNO,
1055
+ X86_INS_SETNP,
1056
+ X86_INS_SETNS,
1057
+ X86_INS_SETO,
1058
+ X86_INS_SETP,
1059
+ X86_INS_SETSSBSY,
1060
+ X86_INS_SETS,
1061
+ X86_INS_SFENCE,
1062
+ X86_INS_SGDT,
1063
+ X86_INS_SHA1MSG1,
1064
+ X86_INS_SHA1MSG2,
1065
+ X86_INS_SHA1NEXTE,
1066
+ X86_INS_SHA1RNDS4,
1067
+ X86_INS_SHA256MSG1,
1068
+ X86_INS_SHA256MSG2,
1069
+ X86_INS_SHA256RNDS2,
1070
+ X86_INS_SHL,
1071
+ X86_INS_SHLD,
1072
+ X86_INS_SHLX,
1073
+ X86_INS_SHR,
1074
+ X86_INS_SHRD,
1075
+ X86_INS_SHRX,
1076
+ X86_INS_SHUFPD,
1077
+ X86_INS_SHUFPS,
1078
+ X86_INS_SIDT,
1079
+ X86_INS_FSIN,
1080
+ X86_INS_SKINIT,
1081
+ X86_INS_SLDT,
1082
+ X86_INS_SLWPCB,
1083
+ X86_INS_SMSW,
1084
+ X86_INS_SQRTPD,
1085
+ X86_INS_SQRTPS,
1086
+ X86_INS_SQRTSD,
1087
+ X86_INS_SQRTSS,
1088
+ X86_INS_FSQRT,
1089
+ X86_INS_STAC,
1090
+ X86_INS_STC,
1091
+ X86_INS_STD,
1092
+ X86_INS_STGI,
1093
+ X86_INS_STI,
1094
+ X86_INS_STMXCSR,
1095
+ X86_INS_STOSB,
1096
+ X86_INS_STOSD,
1097
+ X86_INS_STOSQ,
1098
+ X86_INS_STOSW,
1099
+ X86_INS_STR,
1100
+ X86_INS_FST,
1101
+ X86_INS_FSTP,
1102
+ X86_INS_SUB,
1103
+ X86_INS_SUBPD,
1104
+ X86_INS_SUBPS,
1105
+ X86_INS_FSUBR,
1106
+ X86_INS_FISUBR,
1107
+ X86_INS_FSUBRP,
1108
+ X86_INS_SUBSD,
1109
+ X86_INS_SUBSS,
1110
+ X86_INS_FSUB,
1111
+ X86_INS_FISUB,
1112
+ X86_INS_FSUBP,
1113
+ X86_INS_SWAPGS,
1114
+ X86_INS_SYSCALL,
1115
+ X86_INS_SYSENTER,
1116
+ X86_INS_SYSEXIT,
1117
+ X86_INS_SYSEXITQ,
1118
+ X86_INS_SYSRET,
1119
+ X86_INS_SYSRETQ,
1120
+ X86_INS_T1MSKC,
1121
+ X86_INS_TEST,
1122
+ X86_INS_TPAUSE,
1123
+ X86_INS_FTST,
1124
+ X86_INS_TZCNT,
1125
+ X86_INS_TZMSK,
1126
+ X86_INS_UCOMISD,
1127
+ X86_INS_UCOMISS,
1128
+ X86_INS_FUCOMPI,
1129
+ X86_INS_FUCOMI,
1130
+ X86_INS_FUCOMPP,
1131
+ X86_INS_FUCOMP,
1132
+ X86_INS_FUCOM,
1133
+ X86_INS_UD0,
1134
+ X86_INS_UD1,
1135
+ X86_INS_UD2,
1136
+ X86_INS_UMONITOR,
1137
+ X86_INS_UMWAIT,
1138
+ X86_INS_UNPCKHPD,
1139
+ X86_INS_UNPCKHPS,
1140
+ X86_INS_UNPCKLPD,
1141
+ X86_INS_UNPCKLPS,
1142
+ X86_INS_V4FMADDPS,
1143
+ X86_INS_V4FMADDSS,
1144
+ X86_INS_V4FNMADDPS,
1145
+ X86_INS_V4FNMADDSS,
1146
+ X86_INS_VADDPD,
1147
+ X86_INS_VADDPS,
1148
+ X86_INS_VADDSD,
1149
+ X86_INS_VADDSS,
1150
+ X86_INS_VADDSUBPD,
1151
+ X86_INS_VADDSUBPS,
1152
+ X86_INS_VAESDECLAST,
1153
+ X86_INS_VAESDEC,
1154
+ X86_INS_VAESENCLAST,
1155
+ X86_INS_VAESENC,
1156
+ X86_INS_VAESIMC,
1157
+ X86_INS_VAESKEYGENASSIST,
1158
+ X86_INS_VALIGND,
1159
+ X86_INS_VALIGNQ,
1160
+ X86_INS_VANDNPD,
1161
+ X86_INS_VANDNPS,
1162
+ X86_INS_VANDPD,
1163
+ X86_INS_VANDPS,
1164
+ X86_INS_VBLENDMPD,
1165
+ X86_INS_VBLENDMPS,
1166
+ X86_INS_VBLENDPD,
1167
+ X86_INS_VBLENDPS,
1168
+ X86_INS_VBLENDVPD,
1169
+ X86_INS_VBLENDVPS,
1170
+ X86_INS_VBROADCASTF128,
1171
+ X86_INS_VBROADCASTF32X2,
1172
+ X86_INS_VBROADCASTF32X4,
1173
+ X86_INS_VBROADCASTF32X8,
1174
+ X86_INS_VBROADCASTF64X2,
1175
+ X86_INS_VBROADCASTF64X4,
1176
+ X86_INS_VBROADCASTI128,
1177
+ X86_INS_VBROADCASTI32X2,
1178
+ X86_INS_VBROADCASTI32X4,
1179
+ X86_INS_VBROADCASTI32X8,
1180
+ X86_INS_VBROADCASTI64X2,
1181
+ X86_INS_VBROADCASTI64X4,
1182
+ X86_INS_VBROADCASTSD,
1183
+ X86_INS_VBROADCASTSS,
1184
+ X86_INS_VCMP,
1185
+ X86_INS_VCMPPD,
1186
+ X86_INS_VCMPPS,
1187
+ X86_INS_VCMPSD,
1188
+ X86_INS_VCMPSS,
1189
+ X86_INS_VCOMISD,
1190
+ X86_INS_VCOMISS,
1191
+ X86_INS_VCOMPRESSPD,
1192
+ X86_INS_VCOMPRESSPS,
1193
+ X86_INS_VCVTDQ2PD,
1194
+ X86_INS_VCVTDQ2PS,
1195
+ X86_INS_VCVTPD2DQ,
1196
+ X86_INS_VCVTPD2PS,
1197
+ X86_INS_VCVTPD2QQ,
1198
+ X86_INS_VCVTPD2UDQ,
1199
+ X86_INS_VCVTPD2UQQ,
1200
+ X86_INS_VCVTPH2PS,
1201
+ X86_INS_VCVTPS2DQ,
1202
+ X86_INS_VCVTPS2PD,
1203
+ X86_INS_VCVTPS2PH,
1204
+ X86_INS_VCVTPS2QQ,
1205
+ X86_INS_VCVTPS2UDQ,
1206
+ X86_INS_VCVTPS2UQQ,
1207
+ X86_INS_VCVTQQ2PD,
1208
+ X86_INS_VCVTQQ2PS,
1209
+ X86_INS_VCVTSD2SI,
1210
+ X86_INS_VCVTSD2SS,
1211
+ X86_INS_VCVTSD2USI,
1212
+ X86_INS_VCVTSI2SD,
1213
+ X86_INS_VCVTSI2SS,
1214
+ X86_INS_VCVTSS2SD,
1215
+ X86_INS_VCVTSS2SI,
1216
+ X86_INS_VCVTSS2USI,
1217
+ X86_INS_VCVTTPD2DQ,
1218
+ X86_INS_VCVTTPD2QQ,
1219
+ X86_INS_VCVTTPD2UDQ,
1220
+ X86_INS_VCVTTPD2UQQ,
1221
+ X86_INS_VCVTTPS2DQ,
1222
+ X86_INS_VCVTTPS2QQ,
1223
+ X86_INS_VCVTTPS2UDQ,
1224
+ X86_INS_VCVTTPS2UQQ,
1225
+ X86_INS_VCVTTSD2SI,
1226
+ X86_INS_VCVTTSD2USI,
1227
+ X86_INS_VCVTTSS2SI,
1228
+ X86_INS_VCVTTSS2USI,
1229
+ X86_INS_VCVTUDQ2PD,
1230
+ X86_INS_VCVTUDQ2PS,
1231
+ X86_INS_VCVTUQQ2PD,
1232
+ X86_INS_VCVTUQQ2PS,
1233
+ X86_INS_VCVTUSI2SD,
1234
+ X86_INS_VCVTUSI2SS,
1235
+ X86_INS_VDBPSADBW,
1236
+ X86_INS_VDIVPD,
1237
+ X86_INS_VDIVPS,
1238
+ X86_INS_VDIVSD,
1239
+ X86_INS_VDIVSS,
1240
+ X86_INS_VDPPD,
1241
+ X86_INS_VDPPS,
1242
+ X86_INS_VERR,
1243
+ X86_INS_VERW,
1244
+ X86_INS_VEXP2PD,
1245
+ X86_INS_VEXP2PS,
1246
+ X86_INS_VEXPANDPD,
1247
+ X86_INS_VEXPANDPS,
1248
+ X86_INS_VEXTRACTF128,
1249
+ X86_INS_VEXTRACTF32X4,
1250
+ X86_INS_VEXTRACTF32X8,
1251
+ X86_INS_VEXTRACTF64X2,
1252
+ X86_INS_VEXTRACTF64X4,
1253
+ X86_INS_VEXTRACTI128,
1254
+ X86_INS_VEXTRACTI32X4,
1255
+ X86_INS_VEXTRACTI32X8,
1256
+ X86_INS_VEXTRACTI64X2,
1257
+ X86_INS_VEXTRACTI64X4,
1258
+ X86_INS_VEXTRACTPS,
1259
+ X86_INS_VFIXUPIMMPD,
1260
+ X86_INS_VFIXUPIMMPS,
1261
+ X86_INS_VFIXUPIMMSD,
1262
+ X86_INS_VFIXUPIMMSS,
1263
+ X86_INS_VFMADD132PD,
1264
+ X86_INS_VFMADD132PS,
1265
+ X86_INS_VFMADD132SD,
1266
+ X86_INS_VFMADD132SS,
1267
+ X86_INS_VFMADD213PD,
1268
+ X86_INS_VFMADD213PS,
1269
+ X86_INS_VFMADD213SD,
1270
+ X86_INS_VFMADD213SS,
1271
+ X86_INS_VFMADD231PD,
1272
+ X86_INS_VFMADD231PS,
1273
+ X86_INS_VFMADD231SD,
1274
+ X86_INS_VFMADD231SS,
1275
+ X86_INS_VFMADDPD,
1276
+ X86_INS_VFMADDPS,
1277
+ X86_INS_VFMADDSD,
1278
+ X86_INS_VFMADDSS,
1279
+ X86_INS_VFMADDSUB132PD,
1280
+ X86_INS_VFMADDSUB132PS,
1281
+ X86_INS_VFMADDSUB213PD,
1282
+ X86_INS_VFMADDSUB213PS,
1283
+ X86_INS_VFMADDSUB231PD,
1284
+ X86_INS_VFMADDSUB231PS,
1285
+ X86_INS_VFMADDSUBPD,
1286
+ X86_INS_VFMADDSUBPS,
1287
+ X86_INS_VFMSUB132PD,
1288
+ X86_INS_VFMSUB132PS,
1289
+ X86_INS_VFMSUB132SD,
1290
+ X86_INS_VFMSUB132SS,
1291
+ X86_INS_VFMSUB213PD,
1292
+ X86_INS_VFMSUB213PS,
1293
+ X86_INS_VFMSUB213SD,
1294
+ X86_INS_VFMSUB213SS,
1295
+ X86_INS_VFMSUB231PD,
1296
+ X86_INS_VFMSUB231PS,
1297
+ X86_INS_VFMSUB231SD,
1298
+ X86_INS_VFMSUB231SS,
1299
+ X86_INS_VFMSUBADD132PD,
1300
+ X86_INS_VFMSUBADD132PS,
1301
+ X86_INS_VFMSUBADD213PD,
1302
+ X86_INS_VFMSUBADD213PS,
1303
+ X86_INS_VFMSUBADD231PD,
1304
+ X86_INS_VFMSUBADD231PS,
1305
+ X86_INS_VFMSUBADDPD,
1306
+ X86_INS_VFMSUBADDPS,
1307
+ X86_INS_VFMSUBPD,
1308
+ X86_INS_VFMSUBPS,
1309
+ X86_INS_VFMSUBSD,
1310
+ X86_INS_VFMSUBSS,
1311
+ X86_INS_VFNMADD132PD,
1312
+ X86_INS_VFNMADD132PS,
1313
+ X86_INS_VFNMADD132SD,
1314
+ X86_INS_VFNMADD132SS,
1315
+ X86_INS_VFNMADD213PD,
1316
+ X86_INS_VFNMADD213PS,
1317
+ X86_INS_VFNMADD213SD,
1318
+ X86_INS_VFNMADD213SS,
1319
+ X86_INS_VFNMADD231PD,
1320
+ X86_INS_VFNMADD231PS,
1321
+ X86_INS_VFNMADD231SD,
1322
+ X86_INS_VFNMADD231SS,
1323
+ X86_INS_VFNMADDPD,
1324
+ X86_INS_VFNMADDPS,
1325
+ X86_INS_VFNMADDSD,
1326
+ X86_INS_VFNMADDSS,
1327
+ X86_INS_VFNMSUB132PD,
1328
+ X86_INS_VFNMSUB132PS,
1329
+ X86_INS_VFNMSUB132SD,
1330
+ X86_INS_VFNMSUB132SS,
1331
+ X86_INS_VFNMSUB213PD,
1332
+ X86_INS_VFNMSUB213PS,
1333
+ X86_INS_VFNMSUB213SD,
1334
+ X86_INS_VFNMSUB213SS,
1335
+ X86_INS_VFNMSUB231PD,
1336
+ X86_INS_VFNMSUB231PS,
1337
+ X86_INS_VFNMSUB231SD,
1338
+ X86_INS_VFNMSUB231SS,
1339
+ X86_INS_VFNMSUBPD,
1340
+ X86_INS_VFNMSUBPS,
1341
+ X86_INS_VFNMSUBSD,
1342
+ X86_INS_VFNMSUBSS,
1343
+ X86_INS_VFPCLASSPD,
1344
+ X86_INS_VFPCLASSPS,
1345
+ X86_INS_VFPCLASSSD,
1346
+ X86_INS_VFPCLASSSS,
1347
+ X86_INS_VFRCZPD,
1348
+ X86_INS_VFRCZPS,
1349
+ X86_INS_VFRCZSD,
1350
+ X86_INS_VFRCZSS,
1351
+ X86_INS_VGATHERDPD,
1352
+ X86_INS_VGATHERDPS,
1353
+ X86_INS_VGATHERPF0DPD,
1354
+ X86_INS_VGATHERPF0DPS,
1355
+ X86_INS_VGATHERPF0QPD,
1356
+ X86_INS_VGATHERPF0QPS,
1357
+ X86_INS_VGATHERPF1DPD,
1358
+ X86_INS_VGATHERPF1DPS,
1359
+ X86_INS_VGATHERPF1QPD,
1360
+ X86_INS_VGATHERPF1QPS,
1361
+ X86_INS_VGATHERQPD,
1362
+ X86_INS_VGATHERQPS,
1363
+ X86_INS_VGETEXPPD,
1364
+ X86_INS_VGETEXPPS,
1365
+ X86_INS_VGETEXPSD,
1366
+ X86_INS_VGETEXPSS,
1367
+ X86_INS_VGETMANTPD,
1368
+ X86_INS_VGETMANTPS,
1369
+ X86_INS_VGETMANTSD,
1370
+ X86_INS_VGETMANTSS,
1371
+ X86_INS_VGF2P8AFFINEINVQB,
1372
+ X86_INS_VGF2P8AFFINEQB,
1373
+ X86_INS_VGF2P8MULB,
1374
+ X86_INS_VHADDPD,
1375
+ X86_INS_VHADDPS,
1376
+ X86_INS_VHSUBPD,
1377
+ X86_INS_VHSUBPS,
1378
+ X86_INS_VINSERTF128,
1379
+ X86_INS_VINSERTF32X4,
1380
+ X86_INS_VINSERTF32X8,
1381
+ X86_INS_VINSERTF64X2,
1382
+ X86_INS_VINSERTF64X4,
1383
+ X86_INS_VINSERTI128,
1384
+ X86_INS_VINSERTI32X4,
1385
+ X86_INS_VINSERTI32X8,
1386
+ X86_INS_VINSERTI64X2,
1387
+ X86_INS_VINSERTI64X4,
1388
+ X86_INS_VINSERTPS,
1389
+ X86_INS_VLDDQU,
1390
+ X86_INS_VLDMXCSR,
1391
+ X86_INS_VMASKMOVDQU,
1392
+ X86_INS_VMASKMOVPD,
1393
+ X86_INS_VMASKMOVPS,
1394
+ X86_INS_VMAXPD,
1395
+ X86_INS_VMAXPS,
1396
+ X86_INS_VMAXSD,
1397
+ X86_INS_VMAXSS,
1398
+ X86_INS_VMCALL,
1399
+ X86_INS_VMCLEAR,
1400
+ X86_INS_VMFUNC,
1401
+ X86_INS_VMINPD,
1402
+ X86_INS_VMINPS,
1403
+ X86_INS_VMINSD,
1404
+ X86_INS_VMINSS,
1405
+ X86_INS_VMLAUNCH,
1406
+ X86_INS_VMLOAD,
1407
+ X86_INS_VMMCALL,
1408
+ X86_INS_VMOVQ,
1409
+ X86_INS_VMOVAPD,
1410
+ X86_INS_VMOVAPS,
1411
+ X86_INS_VMOVDDUP,
1412
+ X86_INS_VMOVD,
1413
+ X86_INS_VMOVDQA32,
1414
+ X86_INS_VMOVDQA64,
1415
+ X86_INS_VMOVDQA,
1416
+ X86_INS_VMOVDQU16,
1417
+ X86_INS_VMOVDQU32,
1418
+ X86_INS_VMOVDQU64,
1419
+ X86_INS_VMOVDQU8,
1420
+ X86_INS_VMOVDQU,
1421
+ X86_INS_VMOVHLPS,
1422
+ X86_INS_VMOVHPD,
1423
+ X86_INS_VMOVHPS,
1424
+ X86_INS_VMOVLHPS,
1425
+ X86_INS_VMOVLPD,
1426
+ X86_INS_VMOVLPS,
1427
+ X86_INS_VMOVMSKPD,
1428
+ X86_INS_VMOVMSKPS,
1429
+ X86_INS_VMOVNTDQA,
1430
+ X86_INS_VMOVNTDQ,
1431
+ X86_INS_VMOVNTPD,
1432
+ X86_INS_VMOVNTPS,
1433
+ X86_INS_VMOVSD,
1434
+ X86_INS_VMOVSHDUP,
1435
+ X86_INS_VMOVSLDUP,
1436
+ X86_INS_VMOVSS,
1437
+ X86_INS_VMOVUPD,
1438
+ X86_INS_VMOVUPS,
1439
+ X86_INS_VMPSADBW,
1440
+ X86_INS_VMPTRLD,
1441
+ X86_INS_VMPTRST,
1442
+ X86_INS_VMREAD,
1443
+ X86_INS_VMRESUME,
1444
+ X86_INS_VMRUN,
1445
+ X86_INS_VMSAVE,
1446
+ X86_INS_VMULPD,
1447
+ X86_INS_VMULPS,
1448
+ X86_INS_VMULSD,
1449
+ X86_INS_VMULSS,
1450
+ X86_INS_VMWRITE,
1451
+ X86_INS_VMXOFF,
1452
+ X86_INS_VMXON,
1453
+ X86_INS_VORPD,
1454
+ X86_INS_VORPS,
1455
+ X86_INS_VP4DPWSSDS,
1456
+ X86_INS_VP4DPWSSD,
1457
+ X86_INS_VPABSB,
1458
+ X86_INS_VPABSD,
1459
+ X86_INS_VPABSQ,
1460
+ X86_INS_VPABSW,
1461
+ X86_INS_VPACKSSDW,
1462
+ X86_INS_VPACKSSWB,
1463
+ X86_INS_VPACKUSDW,
1464
+ X86_INS_VPACKUSWB,
1465
+ X86_INS_VPADDB,
1466
+ X86_INS_VPADDD,
1467
+ X86_INS_VPADDQ,
1468
+ X86_INS_VPADDSB,
1469
+ X86_INS_VPADDSW,
1470
+ X86_INS_VPADDUSB,
1471
+ X86_INS_VPADDUSW,
1472
+ X86_INS_VPADDW,
1473
+ X86_INS_VPALIGNR,
1474
+ X86_INS_VPANDD,
1475
+ X86_INS_VPANDND,
1476
+ X86_INS_VPANDNQ,
1477
+ X86_INS_VPANDN,
1478
+ X86_INS_VPANDQ,
1479
+ X86_INS_VPAND,
1480
+ X86_INS_VPAVGB,
1481
+ X86_INS_VPAVGW,
1482
+ X86_INS_VPBLENDD,
1483
+ X86_INS_VPBLENDMB,
1484
+ X86_INS_VPBLENDMD,
1485
+ X86_INS_VPBLENDMQ,
1486
+ X86_INS_VPBLENDMW,
1487
+ X86_INS_VPBLENDVB,
1488
+ X86_INS_VPBLENDW,
1489
+ X86_INS_VPBROADCASTB,
1490
+ X86_INS_VPBROADCASTD,
1491
+ X86_INS_VPBROADCASTMB2Q,
1492
+ X86_INS_VPBROADCASTMW2D,
1493
+ X86_INS_VPBROADCASTQ,
1494
+ X86_INS_VPBROADCASTW,
1495
+ X86_INS_VPCLMULQDQ,
1496
+ X86_INS_VPCMOV,
1497
+ X86_INS_VPCMP,
1498
+ X86_INS_VPCMPB,
1499
+ X86_INS_VPCMPD,
1500
+ X86_INS_VPCMPEQB,
1501
+ X86_INS_VPCMPEQD,
1502
+ X86_INS_VPCMPEQQ,
1503
+ X86_INS_VPCMPEQW,
1504
+ X86_INS_VPCMPESTRI,
1505
+ X86_INS_VPCMPESTRM,
1506
+ X86_INS_VPCMPGTB,
1507
+ X86_INS_VPCMPGTD,
1508
+ X86_INS_VPCMPGTQ,
1509
+ X86_INS_VPCMPGTW,
1510
+ X86_INS_VPCMPISTRI,
1511
+ X86_INS_VPCMPISTRM,
1512
+ X86_INS_VPCMPQ,
1513
+ X86_INS_VPCMPUB,
1514
+ X86_INS_VPCMPUD,
1515
+ X86_INS_VPCMPUQ,
1516
+ X86_INS_VPCMPUW,
1517
+ X86_INS_VPCMPW,
1518
+ X86_INS_VPCOM,
1519
+ X86_INS_VPCOMB,
1520
+ X86_INS_VPCOMD,
1521
+ X86_INS_VPCOMPRESSB,
1522
+ X86_INS_VPCOMPRESSD,
1523
+ X86_INS_VPCOMPRESSQ,
1524
+ X86_INS_VPCOMPRESSW,
1525
+ X86_INS_VPCOMQ,
1526
+ X86_INS_VPCOMUB,
1527
+ X86_INS_VPCOMUD,
1528
+ X86_INS_VPCOMUQ,
1529
+ X86_INS_VPCOMUW,
1530
+ X86_INS_VPCOMW,
1531
+ X86_INS_VPCONFLICTD,
1532
+ X86_INS_VPCONFLICTQ,
1533
+ X86_INS_VPDPBUSDS,
1534
+ X86_INS_VPDPBUSD,
1535
+ X86_INS_VPDPWSSDS,
1536
+ X86_INS_VPDPWSSD,
1537
+ X86_INS_VPERM2F128,
1538
+ X86_INS_VPERM2I128,
1539
+ X86_INS_VPERMB,
1540
+ X86_INS_VPERMD,
1541
+ X86_INS_VPERMI2B,
1542
+ X86_INS_VPERMI2D,
1543
+ X86_INS_VPERMI2PD,
1544
+ X86_INS_VPERMI2PS,
1545
+ X86_INS_VPERMI2Q,
1546
+ X86_INS_VPERMI2W,
1547
+ X86_INS_VPERMIL2PD,
1548
+ X86_INS_VPERMILPD,
1549
+ X86_INS_VPERMIL2PS,
1550
+ X86_INS_VPERMILPS,
1551
+ X86_INS_VPERMPD,
1552
+ X86_INS_VPERMPS,
1553
+ X86_INS_VPERMQ,
1554
+ X86_INS_VPERMT2B,
1555
+ X86_INS_VPERMT2D,
1556
+ X86_INS_VPERMT2PD,
1557
+ X86_INS_VPERMT2PS,
1558
+ X86_INS_VPERMT2Q,
1559
+ X86_INS_VPERMT2W,
1560
+ X86_INS_VPERMW,
1561
+ X86_INS_VPEXPANDB,
1562
+ X86_INS_VPEXPANDD,
1563
+ X86_INS_VPEXPANDQ,
1564
+ X86_INS_VPEXPANDW,
1565
+ X86_INS_VPEXTRB,
1566
+ X86_INS_VPEXTRD,
1567
+ X86_INS_VPEXTRQ,
1568
+ X86_INS_VPEXTRW,
1569
+ X86_INS_VPGATHERDD,
1570
+ X86_INS_VPGATHERDQ,
1571
+ X86_INS_VPGATHERQD,
1572
+ X86_INS_VPGATHERQQ,
1573
+ X86_INS_VPHADDBD,
1574
+ X86_INS_VPHADDBQ,
1575
+ X86_INS_VPHADDBW,
1576
+ X86_INS_VPHADDDQ,
1577
+ X86_INS_VPHADDD,
1578
+ X86_INS_VPHADDSW,
1579
+ X86_INS_VPHADDUBD,
1580
+ X86_INS_VPHADDUBQ,
1581
+ X86_INS_VPHADDUBW,
1582
+ X86_INS_VPHADDUDQ,
1583
+ X86_INS_VPHADDUWD,
1584
+ X86_INS_VPHADDUWQ,
1585
+ X86_INS_VPHADDWD,
1586
+ X86_INS_VPHADDWQ,
1587
+ X86_INS_VPHADDW,
1588
+ X86_INS_VPHMINPOSUW,
1589
+ X86_INS_VPHSUBBW,
1590
+ X86_INS_VPHSUBDQ,
1591
+ X86_INS_VPHSUBD,
1592
+ X86_INS_VPHSUBSW,
1593
+ X86_INS_VPHSUBWD,
1594
+ X86_INS_VPHSUBW,
1595
+ X86_INS_VPINSRB,
1596
+ X86_INS_VPINSRD,
1597
+ X86_INS_VPINSRQ,
1598
+ X86_INS_VPINSRW,
1599
+ X86_INS_VPLZCNTD,
1600
+ X86_INS_VPLZCNTQ,
1601
+ X86_INS_VPMACSDD,
1602
+ X86_INS_VPMACSDQH,
1603
+ X86_INS_VPMACSDQL,
1604
+ X86_INS_VPMACSSDD,
1605
+ X86_INS_VPMACSSDQH,
1606
+ X86_INS_VPMACSSDQL,
1607
+ X86_INS_VPMACSSWD,
1608
+ X86_INS_VPMACSSWW,
1609
+ X86_INS_VPMACSWD,
1610
+ X86_INS_VPMACSWW,
1611
+ X86_INS_VPMADCSSWD,
1612
+ X86_INS_VPMADCSWD,
1613
+ X86_INS_VPMADD52HUQ,
1614
+ X86_INS_VPMADD52LUQ,
1615
+ X86_INS_VPMADDUBSW,
1616
+ X86_INS_VPMADDWD,
1617
+ X86_INS_VPMASKMOVD,
1618
+ X86_INS_VPMASKMOVQ,
1619
+ X86_INS_VPMAXSB,
1620
+ X86_INS_VPMAXSD,
1621
+ X86_INS_VPMAXSQ,
1622
+ X86_INS_VPMAXSW,
1623
+ X86_INS_VPMAXUB,
1624
+ X86_INS_VPMAXUD,
1625
+ X86_INS_VPMAXUQ,
1626
+ X86_INS_VPMAXUW,
1627
+ X86_INS_VPMINSB,
1628
+ X86_INS_VPMINSD,
1629
+ X86_INS_VPMINSQ,
1630
+ X86_INS_VPMINSW,
1631
+ X86_INS_VPMINUB,
1632
+ X86_INS_VPMINUD,
1633
+ X86_INS_VPMINUQ,
1634
+ X86_INS_VPMINUW,
1635
+ X86_INS_VPMOVB2M,
1636
+ X86_INS_VPMOVD2M,
1637
+ X86_INS_VPMOVDB,
1638
+ X86_INS_VPMOVDW,
1639
+ X86_INS_VPMOVM2B,
1640
+ X86_INS_VPMOVM2D,
1641
+ X86_INS_VPMOVM2Q,
1642
+ X86_INS_VPMOVM2W,
1643
+ X86_INS_VPMOVMSKB,
1644
+ X86_INS_VPMOVQ2M,
1645
+ X86_INS_VPMOVQB,
1646
+ X86_INS_VPMOVQD,
1647
+ X86_INS_VPMOVQW,
1648
+ X86_INS_VPMOVSDB,
1649
+ X86_INS_VPMOVSDW,
1650
+ X86_INS_VPMOVSQB,
1651
+ X86_INS_VPMOVSQD,
1652
+ X86_INS_VPMOVSQW,
1653
+ X86_INS_VPMOVSWB,
1654
+ X86_INS_VPMOVSXBD,
1655
+ X86_INS_VPMOVSXBQ,
1656
+ X86_INS_VPMOVSXBW,
1657
+ X86_INS_VPMOVSXDQ,
1658
+ X86_INS_VPMOVSXWD,
1659
+ X86_INS_VPMOVSXWQ,
1660
+ X86_INS_VPMOVUSDB,
1661
+ X86_INS_VPMOVUSDW,
1662
+ X86_INS_VPMOVUSQB,
1663
+ X86_INS_VPMOVUSQD,
1664
+ X86_INS_VPMOVUSQW,
1665
+ X86_INS_VPMOVUSWB,
1666
+ X86_INS_VPMOVW2M,
1667
+ X86_INS_VPMOVWB,
1668
+ X86_INS_VPMOVZXBD,
1669
+ X86_INS_VPMOVZXBQ,
1670
+ X86_INS_VPMOVZXBW,
1671
+ X86_INS_VPMOVZXDQ,
1672
+ X86_INS_VPMOVZXWD,
1673
+ X86_INS_VPMOVZXWQ,
1674
+ X86_INS_VPMULDQ,
1675
+ X86_INS_VPMULHRSW,
1676
+ X86_INS_VPMULHUW,
1677
+ X86_INS_VPMULHW,
1678
+ X86_INS_VPMULLD,
1679
+ X86_INS_VPMULLQ,
1680
+ X86_INS_VPMULLW,
1681
+ X86_INS_VPMULTISHIFTQB,
1682
+ X86_INS_VPMULUDQ,
1683
+ X86_INS_VPOPCNTB,
1684
+ X86_INS_VPOPCNTD,
1685
+ X86_INS_VPOPCNTQ,
1686
+ X86_INS_VPOPCNTW,
1687
+ X86_INS_VPORD,
1688
+ X86_INS_VPORQ,
1689
+ X86_INS_VPOR,
1690
+ X86_INS_VPPERM,
1691
+ X86_INS_VPROLD,
1692
+ X86_INS_VPROLQ,
1693
+ X86_INS_VPROLVD,
1694
+ X86_INS_VPROLVQ,
1695
+ X86_INS_VPRORD,
1696
+ X86_INS_VPRORQ,
1697
+ X86_INS_VPRORVD,
1698
+ X86_INS_VPRORVQ,
1699
+ X86_INS_VPROTB,
1700
+ X86_INS_VPROTD,
1701
+ X86_INS_VPROTQ,
1702
+ X86_INS_VPROTW,
1703
+ X86_INS_VPSADBW,
1704
+ X86_INS_VPSCATTERDD,
1705
+ X86_INS_VPSCATTERDQ,
1706
+ X86_INS_VPSCATTERQD,
1707
+ X86_INS_VPSCATTERQQ,
1708
+ X86_INS_VPSHAB,
1709
+ X86_INS_VPSHAD,
1710
+ X86_INS_VPSHAQ,
1711
+ X86_INS_VPSHAW,
1712
+ X86_INS_VPSHLB,
1713
+ X86_INS_VPSHLDD,
1714
+ X86_INS_VPSHLDQ,
1715
+ X86_INS_VPSHLDVD,
1716
+ X86_INS_VPSHLDVQ,
1717
+ X86_INS_VPSHLDVW,
1718
+ X86_INS_VPSHLDW,
1719
+ X86_INS_VPSHLD,
1720
+ X86_INS_VPSHLQ,
1721
+ X86_INS_VPSHLW,
1722
+ X86_INS_VPSHRDD,
1723
+ X86_INS_VPSHRDQ,
1724
+ X86_INS_VPSHRDVD,
1725
+ X86_INS_VPSHRDVQ,
1726
+ X86_INS_VPSHRDVW,
1727
+ X86_INS_VPSHRDW,
1728
+ X86_INS_VPSHUFBITQMB,
1729
+ X86_INS_VPSHUFB,
1730
+ X86_INS_VPSHUFD,
1731
+ X86_INS_VPSHUFHW,
1732
+ X86_INS_VPSHUFLW,
1733
+ X86_INS_VPSIGNB,
1734
+ X86_INS_VPSIGND,
1735
+ X86_INS_VPSIGNW,
1736
+ X86_INS_VPSLLDQ,
1737
+ X86_INS_VPSLLD,
1738
+ X86_INS_VPSLLQ,
1739
+ X86_INS_VPSLLVD,
1740
+ X86_INS_VPSLLVQ,
1741
+ X86_INS_VPSLLVW,
1742
+ X86_INS_VPSLLW,
1743
+ X86_INS_VPSRAD,
1744
+ X86_INS_VPSRAQ,
1745
+ X86_INS_VPSRAVD,
1746
+ X86_INS_VPSRAVQ,
1747
+ X86_INS_VPSRAVW,
1748
+ X86_INS_VPSRAW,
1749
+ X86_INS_VPSRLDQ,
1750
+ X86_INS_VPSRLD,
1751
+ X86_INS_VPSRLQ,
1752
+ X86_INS_VPSRLVD,
1753
+ X86_INS_VPSRLVQ,
1754
+ X86_INS_VPSRLVW,
1755
+ X86_INS_VPSRLW,
1756
+ X86_INS_VPSUBB,
1757
+ X86_INS_VPSUBD,
1758
+ X86_INS_VPSUBQ,
1759
+ X86_INS_VPSUBSB,
1760
+ X86_INS_VPSUBSW,
1761
+ X86_INS_VPSUBUSB,
1762
+ X86_INS_VPSUBUSW,
1763
+ X86_INS_VPSUBW,
1764
+ X86_INS_VPTERNLOGD,
1765
+ X86_INS_VPTERNLOGQ,
1766
+ X86_INS_VPTESTMB,
1767
+ X86_INS_VPTESTMD,
1768
+ X86_INS_VPTESTMQ,
1769
+ X86_INS_VPTESTMW,
1770
+ X86_INS_VPTESTNMB,
1771
+ X86_INS_VPTESTNMD,
1772
+ X86_INS_VPTESTNMQ,
1773
+ X86_INS_VPTESTNMW,
1774
+ X86_INS_VPTEST,
1775
+ X86_INS_VPUNPCKHBW,
1776
+ X86_INS_VPUNPCKHDQ,
1777
+ X86_INS_VPUNPCKHQDQ,
1778
+ X86_INS_VPUNPCKHWD,
1779
+ X86_INS_VPUNPCKLBW,
1780
+ X86_INS_VPUNPCKLDQ,
1781
+ X86_INS_VPUNPCKLQDQ,
1782
+ X86_INS_VPUNPCKLWD,
1783
+ X86_INS_VPXORD,
1784
+ X86_INS_VPXORQ,
1785
+ X86_INS_VPXOR,
1786
+ X86_INS_VRANGEPD,
1787
+ X86_INS_VRANGEPS,
1788
+ X86_INS_VRANGESD,
1789
+ X86_INS_VRANGESS,
1790
+ X86_INS_VRCP14PD,
1791
+ X86_INS_VRCP14PS,
1792
+ X86_INS_VRCP14SD,
1793
+ X86_INS_VRCP14SS,
1794
+ X86_INS_VRCP28PD,
1795
+ X86_INS_VRCP28PS,
1796
+ X86_INS_VRCP28SD,
1797
+ X86_INS_VRCP28SS,
1798
+ X86_INS_VRCPPS,
1799
+ X86_INS_VRCPSS,
1800
+ X86_INS_VREDUCEPD,
1801
+ X86_INS_VREDUCEPS,
1802
+ X86_INS_VREDUCESD,
1803
+ X86_INS_VREDUCESS,
1804
+ X86_INS_VRNDSCALEPD,
1805
+ X86_INS_VRNDSCALEPS,
1806
+ X86_INS_VRNDSCALESD,
1807
+ X86_INS_VRNDSCALESS,
1808
+ X86_INS_VROUNDPD,
1809
+ X86_INS_VROUNDPS,
1810
+ X86_INS_VROUNDSD,
1811
+ X86_INS_VROUNDSS,
1812
+ X86_INS_VRSQRT14PD,
1813
+ X86_INS_VRSQRT14PS,
1814
+ X86_INS_VRSQRT14SD,
1815
+ X86_INS_VRSQRT14SS,
1816
+ X86_INS_VRSQRT28PD,
1817
+ X86_INS_VRSQRT28PS,
1818
+ X86_INS_VRSQRT28SD,
1819
+ X86_INS_VRSQRT28SS,
1820
+ X86_INS_VRSQRTPS,
1821
+ X86_INS_VRSQRTSS,
1822
+ X86_INS_VSCALEFPD,
1823
+ X86_INS_VSCALEFPS,
1824
+ X86_INS_VSCALEFSD,
1825
+ X86_INS_VSCALEFSS,
1826
+ X86_INS_VSCATTERDPD,
1827
+ X86_INS_VSCATTERDPS,
1828
+ X86_INS_VSCATTERPF0DPD,
1829
+ X86_INS_VSCATTERPF0DPS,
1830
+ X86_INS_VSCATTERPF0QPD,
1831
+ X86_INS_VSCATTERPF0QPS,
1832
+ X86_INS_VSCATTERPF1DPD,
1833
+ X86_INS_VSCATTERPF1DPS,
1834
+ X86_INS_VSCATTERPF1QPD,
1835
+ X86_INS_VSCATTERPF1QPS,
1836
+ X86_INS_VSCATTERQPD,
1837
+ X86_INS_VSCATTERQPS,
1838
+ X86_INS_VSHUFF32X4,
1839
+ X86_INS_VSHUFF64X2,
1840
+ X86_INS_VSHUFI32X4,
1841
+ X86_INS_VSHUFI64X2,
1842
+ X86_INS_VSHUFPD,
1843
+ X86_INS_VSHUFPS,
1844
+ X86_INS_VSQRTPD,
1845
+ X86_INS_VSQRTPS,
1846
+ X86_INS_VSQRTSD,
1847
+ X86_INS_VSQRTSS,
1848
+ X86_INS_VSTMXCSR,
1849
+ X86_INS_VSUBPD,
1850
+ X86_INS_VSUBPS,
1851
+ X86_INS_VSUBSD,
1852
+ X86_INS_VSUBSS,
1853
+ X86_INS_VTESTPD,
1854
+ X86_INS_VTESTPS,
1855
+ X86_INS_VUCOMISD,
1856
+ X86_INS_VUCOMISS,
1857
+ X86_INS_VUNPCKHPD,
1858
+ X86_INS_VUNPCKHPS,
1859
+ X86_INS_VUNPCKLPD,
1860
+ X86_INS_VUNPCKLPS,
1861
+ X86_INS_VXORPD,
1862
+ X86_INS_VXORPS,
1863
+ X86_INS_VZEROALL,
1864
+ X86_INS_VZEROUPPER,
1865
+ X86_INS_WAIT,
1866
+ X86_INS_WBINVD,
1867
+ X86_INS_WBNOINVD,
1868
+ X86_INS_WRFSBASE,
1869
+ X86_INS_WRGSBASE,
1870
+ X86_INS_WRMSR,
1871
+ X86_INS_WRPKRU,
1872
+ X86_INS_WRSSD,
1873
+ X86_INS_WRSSQ,
1874
+ X86_INS_WRUSSD,
1875
+ X86_INS_WRUSSQ,
1876
+ X86_INS_XABORT,
1877
+ X86_INS_XACQUIRE,
1878
+ X86_INS_XADD,
1879
+ X86_INS_XBEGIN,
1880
+ X86_INS_XCHG,
1881
+ X86_INS_FXCH,
1882
+ X86_INS_XCRYPTCBC,
1883
+ X86_INS_XCRYPTCFB,
1884
+ X86_INS_XCRYPTCTR,
1885
+ X86_INS_XCRYPTECB,
1886
+ X86_INS_XCRYPTOFB,
1887
+ X86_INS_XEND,
1888
+ X86_INS_XGETBV,
1889
+ X86_INS_XLATB,
1890
+ X86_INS_XOR,
1891
+ X86_INS_XORPD,
1892
+ X86_INS_XORPS,
1893
+ X86_INS_XRELEASE,
1894
+ X86_INS_XRSTOR,
1895
+ X86_INS_XRSTOR64,
1896
+ X86_INS_XRSTORS,
1897
+ X86_INS_XRSTORS64,
1898
+ X86_INS_XSAVE,
1899
+ X86_INS_XSAVE64,
1900
+ X86_INS_XSAVEC,
1901
+ X86_INS_XSAVEC64,
1902
+ X86_INS_XSAVEOPT,
1903
+ X86_INS_XSAVEOPT64,
1904
+ X86_INS_XSAVES,
1905
+ X86_INS_XSAVES64,
1906
+ X86_INS_XSETBV,
1907
+ X86_INS_XSHA1,
1908
+ X86_INS_XSHA256,
1909
+ X86_INS_XSTORE,
1910
+ X86_INS_XTEST,
1911
+
1912
+ X86_INS_ENDING, // mark the end of the list of insn
1913
+ } x86_insn;
1914
+
1915
+ /// Group of X86 instructions
1916
+ typedef enum x86_insn_group {
1917
+ X86_GRP_INVALID = 0, ///< = CS_GRP_INVALID
1918
+
1919
+ // Generic groups
1920
+ // all jump instructions (conditional+direct+indirect jumps)
1921
+ X86_GRP_JUMP, ///< = CS_GRP_JUMP
1922
+ // all call instructions
1923
+ X86_GRP_CALL, ///< = CS_GRP_CALL
1924
+ // all return instructions
1925
+ X86_GRP_RET, ///< = CS_GRP_RET
1926
+ // all interrupt instructions (int+syscall)
1927
+ X86_GRP_INT, ///< = CS_GRP_INT
1928
+ // all interrupt return instructions
1929
+ X86_GRP_IRET, ///< = CS_GRP_IRET
1930
+ // all privileged instructions
1931
+ X86_GRP_PRIVILEGE, ///< = CS_GRP_PRIVILEGE
1932
+ // all relative branching instructions
1933
+ X86_GRP_BRANCH_RELATIVE, ///< = CS_GRP_BRANCH_RELATIVE
1934
+
1935
+ // Architecture-specific groups
1936
+ X86_GRP_VM = 128, ///< all virtualization instructions (VT-x + AMD-V)
1937
+ X86_GRP_3DNOW,
1938
+ X86_GRP_AES,
1939
+ X86_GRP_ADX,
1940
+ X86_GRP_AVX,
1941
+ X86_GRP_AVX2,
1942
+ X86_GRP_AVX512,
1943
+ X86_GRP_BMI,
1944
+ X86_GRP_BMI2,
1945
+ X86_GRP_CMOV,
1946
+ X86_GRP_F16C,
1947
+ X86_GRP_FMA,
1948
+ X86_GRP_FMA4,
1949
+ X86_GRP_FSGSBASE,
1950
+ X86_GRP_HLE,
1951
+ X86_GRP_MMX,
1952
+ X86_GRP_MODE32,
1953
+ X86_GRP_MODE64,
1954
+ X86_GRP_RTM,
1955
+ X86_GRP_SHA,
1956
+ X86_GRP_SSE1,
1957
+ X86_GRP_SSE2,
1958
+ X86_GRP_SSE3,
1959
+ X86_GRP_SSE41,
1960
+ X86_GRP_SSE42,
1961
+ X86_GRP_SSE4A,
1962
+ X86_GRP_SSSE3,
1963
+ X86_GRP_PCLMUL,
1964
+ X86_GRP_XOP,
1965
+ X86_GRP_CDI,
1966
+ X86_GRP_ERI,
1967
+ X86_GRP_TBM,
1968
+ X86_GRP_16BITMODE,
1969
+ X86_GRP_NOT64BITMODE,
1970
+ X86_GRP_SGX,
1971
+ X86_GRP_DQI,
1972
+ X86_GRP_BWI,
1973
+ X86_GRP_PFI,
1974
+ X86_GRP_VLX,
1975
+ X86_GRP_SMAP,
1976
+ X86_GRP_NOVLX,
1977
+ X86_GRP_FPU,
1978
+
1979
+ X86_GRP_ENDING
1980
+ } x86_insn_group;
1981
+
1982
+ #ifdef __cplusplus
1983
+ }
1984
+ #endif
1985
+
1986
+ #endif