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,1352 @@
1
+ /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
+ |* *|
3
+ |* * TMS320C64x Disassembler *|
4
+ |* *|
5
+ |* Automatically generated file, do not edit! *|
6
+ |* *|
7
+ \*===----------------------------------------------------------------------===*/
8
+
9
+ #include "../../MCInst.h"
10
+ #include "../../LEB128.h"
11
+
12
+ // Helper function for extracting fields from encoded instructions.
13
+ #define FieldFromInstruction(fname, InsnType) \
14
+ static InsnType fname(InsnType insn, unsigned startBit, \
15
+ unsigned numBits) { \
16
+ InsnType fieldMask; \
17
+ if (numBits == sizeof(InsnType)*8) \
18
+ fieldMask = (InsnType)(-1LL); \
19
+ else \
20
+ fieldMask = (((InsnType)1 << numBits) - 1) << startBit; \
21
+ return (insn & fieldMask) >> startBit; \
22
+ }
23
+
24
+ static const uint8_t DecoderTable32[] = {
25
+ /* 0 */ MCD_OPC_ExtractField, 2, 5, // Inst{6-2} ...
26
+ /* 3 */ MCD_OPC_FilterValue, 0, 199, 0, // Skip to: 206
27
+ /* 7 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
28
+ /* 10 */ MCD_OPC_FilterValue, 0, 16, 0, // Skip to: 30
29
+ /* 14 */ MCD_OPC_CheckField, 17, 11, 0, 153, 8, // Skip to: 2221
30
+ /* 20 */ MCD_OPC_CheckField, 12, 1, 0, 147, 8, // Skip to: 2221
31
+ /* 26 */ MCD_OPC_Decode, 162, 1, 0, // Opcode: NOP_n
32
+ /* 30 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 38
33
+ /* 34 */ MCD_OPC_Decode, 140, 1, 1, // Opcode: MPYH_m4_rrr
34
+ /* 38 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 46
35
+ /* 42 */ MCD_OPC_Decode, 219, 1, 1, // Opcode: SMPYH_m4_rrr
36
+ /* 46 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 54
37
+ /* 50 */ MCD_OPC_Decode, 136, 1, 1, // Opcode: MPYHSU_m4_rrr
38
+ /* 54 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 62
39
+ /* 58 */ MCD_OPC_Decode, 138, 1, 1, // Opcode: MPYHUS_m4_rrr
40
+ /* 62 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 70
41
+ /* 66 */ MCD_OPC_Decode, 139, 1, 1, // Opcode: MPYHU_m4_rrr
42
+ /* 70 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 78
43
+ /* 74 */ MCD_OPC_Decode, 134, 1, 1, // Opcode: MPYHL_m4_rrr
44
+ /* 78 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 86
45
+ /* 82 */ MCD_OPC_Decode, 218, 1, 1, // Opcode: SMPYHL_m4_rrr
46
+ /* 86 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 94
47
+ /* 90 */ MCD_OPC_Decode, 135, 1, 1, // Opcode: MPYHSLU_m4_rrr
48
+ /* 94 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 102
49
+ /* 98 */ MCD_OPC_Decode, 137, 1, 1, // Opcode: MPYHULS_m4_rrr
50
+ /* 102 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 110
51
+ /* 106 */ MCD_OPC_Decode, 133, 1, 1, // Opcode: MPYHLU_m4_rrr
52
+ /* 110 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 118
53
+ /* 114 */ MCD_OPC_Decode, 142, 1, 1, // Opcode: MPYLH_m4_rrr
54
+ /* 118 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 126
55
+ /* 122 */ MCD_OPC_Decode, 220, 1, 1, // Opcode: SMPYLH_m4_rrr
56
+ /* 126 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 134
57
+ /* 130 */ MCD_OPC_Decode, 145, 1, 1, // Opcode: MPYLSHU_m4_rrr
58
+ /* 134 */ MCD_OPC_FilterValue, 21, 4, 0, // Skip to: 142
59
+ /* 138 */ MCD_OPC_Decode, 146, 1, 1, // Opcode: MPYLUHS_m4_rrr
60
+ /* 142 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 150
61
+ /* 146 */ MCD_OPC_Decode, 141, 1, 1, // Opcode: MPYLHU_m4_rrr
62
+ /* 150 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 158
63
+ /* 154 */ MCD_OPC_Decode, 153, 1, 2, // Opcode: MPY_m4_irr
64
+ /* 158 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 166
65
+ /* 162 */ MCD_OPC_Decode, 154, 1, 1, // Opcode: MPY_m4_rrr
66
+ /* 166 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 174
67
+ /* 170 */ MCD_OPC_Decode, 221, 1, 1, // Opcode: SMPY_m4_rrr
68
+ /* 174 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 182
69
+ /* 178 */ MCD_OPC_Decode, 149, 1, 1, // Opcode: MPYSU_m4_rrr
70
+ /* 182 */ MCD_OPC_FilterValue, 29, 4, 0, // Skip to: 190
71
+ /* 186 */ MCD_OPC_Decode, 151, 1, 1, // Opcode: MPYUS_m4_rrr
72
+ /* 190 */ MCD_OPC_FilterValue, 30, 4, 0, // Skip to: 198
73
+ /* 194 */ MCD_OPC_Decode, 148, 1, 2, // Opcode: MPYSU_m4_irr
74
+ /* 198 */ MCD_OPC_FilterValue, 31, 227, 7, // Skip to: 2221
75
+ /* 202 */ MCD_OPC_Decode, 152, 1, 1, // Opcode: MPYU_m4_rrr
76
+ /* 206 */ MCD_OPC_FilterValue, 1, 9, 0, // Skip to: 219
77
+ /* 210 */ MCD_OPC_CheckField, 8, 1, 0, 213, 7, // Skip to: 2221
78
+ /* 216 */ MCD_OPC_Decode, 116, 3, // Opcode: LDHU_d5_mr
79
+ /* 219 */ MCD_OPC_FilterValue, 2, 18, 0, // Skip to: 241
80
+ /* 223 */ MCD_OPC_ExtractField, 7, 1, // Inst{7} ...
81
+ /* 226 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 233
82
+ /* 230 */ MCD_OPC_Decode, 102, 4, // Opcode: EXTU_s15_riir
83
+ /* 233 */ MCD_OPC_FilterValue, 1, 192, 7, // Skip to: 2221
84
+ /* 237 */ MCD_OPC_Decode, 192, 1, 4, // Opcode: SET_s15_riir
85
+ /* 241 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 248
86
+ /* 245 */ MCD_OPC_Decode, 117, 5, // Opcode: LDHU_d6_mr
87
+ /* 248 */ MCD_OPC_FilterValue, 4, 3, 0, // Skip to: 255
88
+ /* 252 */ MCD_OPC_Decode, 68, 6, // Opcode: B_s5_i
89
+ /* 255 */ MCD_OPC_FilterValue, 5, 9, 0, // Skip to: 268
90
+ /* 259 */ MCD_OPC_CheckField, 8, 1, 0, 164, 7, // Skip to: 2221
91
+ /* 265 */ MCD_OPC_Decode, 111, 3, // Opcode: LDBU_d5_mr
92
+ /* 268 */ MCD_OPC_FilterValue, 6, 157, 0, // Skip to: 429
93
+ /* 272 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
94
+ /* 275 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 283
95
+ /* 279 */ MCD_OPC_Decode, 171, 1, 1, // Opcode: PACK2_l1_rrr_x2
96
+ /* 283 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 291
97
+ /* 287 */ MCD_OPC_Decode, 242, 1, 1, // Opcode: SUB2_l1_rrr_x2
98
+ /* 291 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 299
99
+ /* 295 */ MCD_OPC_Decode, 176, 1, 1, // Opcode: PACKHL2_l1_rrr_x2
100
+ /* 299 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 306
101
+ /* 303 */ MCD_OPC_Decode, 45, 7, // Opcode: ADD_l1_ipp
102
+ /* 306 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 314
103
+ /* 310 */ MCD_OPC_Decode, 130, 2, 7, // Opcode: SUB_l1_ipp
104
+ /* 314 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 322
105
+ /* 318 */ MCD_OPC_Decode, 228, 1, 7, // Opcode: SSUB_l1_ipp
106
+ /* 322 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 330
107
+ /* 326 */ MCD_OPC_Decode, 186, 1, 7, // Opcode: SADD_l1_ipp
108
+ /* 330 */ MCD_OPC_FilterValue, 14, 9, 0, // Skip to: 343
109
+ /* 334 */ MCD_OPC_CheckField, 13, 5, 0, 89, 7, // Skip to: 2221
110
+ /* 340 */ MCD_OPC_Decode, 23, 8, // Opcode: ABS_l1_pp
111
+ /* 343 */ MCD_OPC_FilterValue, 16, 10, 0, // Skip to: 357
112
+ /* 347 */ MCD_OPC_CheckField, 13, 5, 0, 76, 7, // Skip to: 2221
113
+ /* 353 */ MCD_OPC_Decode, 191, 1, 9, // Opcode: SAT_l1_pr
114
+ /* 357 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 364
115
+ /* 361 */ MCD_OPC_Decode, 82, 10, // Opcode: CMPGT_l1_ipr
116
+ /* 364 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 372
117
+ /* 368 */ MCD_OPC_Decode, 129, 1, 1, // Opcode: MINU4_l1_rrr_x2
118
+ /* 372 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 379
119
+ /* 376 */ MCD_OPC_Decode, 106, 11, // Opcode: GMPGTU_l1_ipr
120
+ /* 379 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 386
121
+ /* 383 */ MCD_OPC_Decode, 76, 10, // Opcode: CMPEQ_l1_ipr
122
+ /* 386 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 393
123
+ /* 390 */ MCD_OPC_Decode, 90, 10, // Opcode: CMPLT_l1_ipr
124
+ /* 393 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 400
125
+ /* 397 */ MCD_OPC_Decode, 86, 11, // Opcode: CMPLTU_l1_ipr
126
+ /* 400 */ MCD_OPC_FilterValue, 24, 10, 0, // Skip to: 414
127
+ /* 404 */ MCD_OPC_CheckField, 13, 5, 0, 19, 7, // Skip to: 2221
128
+ /* 410 */ MCD_OPC_Decode, 163, 1, 12, // Opcode: NORM_l1_pr
129
+ /* 414 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 422
130
+ /* 418 */ MCD_OPC_Decode, 178, 1, 1, // Opcode: PACKL4_l1_rrr_x2
131
+ /* 422 */ MCD_OPC_FilterValue, 31, 3, 7, // Skip to: 2221
132
+ /* 426 */ MCD_OPC_Decode, 53, 1, // Opcode: ANDN_l1_rrr_x2
133
+ /* 429 */ MCD_OPC_FilterValue, 7, 3, 0, // Skip to: 436
134
+ /* 433 */ MCD_OPC_Decode, 112, 5, // Opcode: LDBU_d6_mr
135
+ /* 436 */ MCD_OPC_FilterValue, 8, 222, 0, // Skip to: 662
136
+ /* 440 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
137
+ /* 443 */ MCD_OPC_FilterValue, 0, 17, 0, // Skip to: 464
138
+ /* 447 */ MCD_OPC_ExtractField, 12, 1, // Inst{12} ...
139
+ /* 450 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 457
140
+ /* 454 */ MCD_OPC_Decode, 67, 13, // Opcode: BPOS_s8_ir
141
+ /* 457 */ MCD_OPC_FilterValue, 1, 224, 6, // Skip to: 2221
142
+ /* 461 */ MCD_OPC_Decode, 63, 13, // Opcode: BDEC_s8_ir
143
+ /* 464 */ MCD_OPC_FilterValue, 2, 9, 0, // Skip to: 477
144
+ /* 468 */ MCD_OPC_CheckField, 12, 1, 0, 211, 6, // Skip to: 2221
145
+ /* 474 */ MCD_OPC_Decode, 66, 14, // Opcode: BNOP_s9_ii
146
+ /* 477 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 484
147
+ /* 481 */ MCD_OPC_Decode, 50, 2, // Opcode: ADD_s1_irr
148
+ /* 484 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 492
149
+ /* 488 */ MCD_OPC_Decode, 177, 1, 1, // Opcode: PACKHL2_s1_rrr
150
+ /* 492 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 500
151
+ /* 496 */ MCD_OPC_Decode, 148, 2, 2, // Opcode: XOR_s1_irr
152
+ /* 500 */ MCD_OPC_FilterValue, 7, 10, 0, // Skip to: 514
153
+ /* 504 */ MCD_OPC_CheckField, 13, 5, 0, 175, 6, // Skip to: 2221
154
+ /* 510 */ MCD_OPC_Decode, 156, 1, 15, // Opcode: MVC_s1_rr2
155
+ /* 514 */ MCD_OPC_FilterValue, 8, 4, 0, // Skip to: 522
156
+ /* 518 */ MCD_OPC_Decode, 180, 1, 1, // Opcode: PACKLH2_s1_rrr
157
+ /* 522 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 530
158
+ /* 526 */ MCD_OPC_Decode, 199, 1, 16, // Opcode: SHL_s1_rip
159
+ /* 530 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 537
160
+ /* 534 */ MCD_OPC_Decode, 80, 1, // Opcode: CMPGT2_s1_rrr
161
+ /* 537 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 545
162
+ /* 541 */ MCD_OPC_Decode, 136, 2, 2, // Opcode: SUB_s1_irr
163
+ /* 545 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 553
164
+ /* 549 */ MCD_OPC_Decode, 203, 1, 17, // Opcode: SHR2_s1_rir
165
+ /* 553 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 561
166
+ /* 557 */ MCD_OPC_Decode, 169, 1, 2, // Opcode: OR_s1_irr
167
+ /* 561 */ MCD_OPC_FilterValue, 14, 3, 0, // Skip to: 568
168
+ /* 565 */ MCD_OPC_Decode, 75, 1, // Opcode: CMPEQ4_s1_rrr
169
+ /* 568 */ MCD_OPC_FilterValue, 15, 3, 0, // Skip to: 575
170
+ /* 572 */ MCD_OPC_Decode, 59, 2, // Opcode: AND_s1_irr
171
+ /* 575 */ MCD_OPC_FilterValue, 16, 4, 0, // Skip to: 583
172
+ /* 579 */ MCD_OPC_Decode, 190, 1, 1, // Opcode: SADD_s1_rrr
173
+ /* 583 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 591
174
+ /* 587 */ MCD_OPC_Decode, 224, 1, 17, // Opcode: SSHL_s1_rir
175
+ /* 591 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 599
176
+ /* 595 */ MCD_OPC_Decode, 209, 1, 18, // Opcode: SHRU_s1_pip
177
+ /* 599 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 607
178
+ /* 603 */ MCD_OPC_Decode, 211, 1, 17, // Opcode: SHRU_s1_rir
179
+ /* 607 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 615
180
+ /* 611 */ MCD_OPC_Decode, 197, 1, 19, // Opcode: SHL_s1_pip
181
+ /* 615 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 623
182
+ /* 619 */ MCD_OPC_Decode, 200, 1, 20, // Opcode: SHL_s1_rir
183
+ /* 623 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 631
184
+ /* 627 */ MCD_OPC_Decode, 213, 1, 18, // Opcode: SHR_s1_pip
185
+ /* 631 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 639
186
+ /* 635 */ MCD_OPC_Decode, 215, 1, 17, // Opcode: SHR_s1_rir
187
+ /* 639 */ MCD_OPC_FilterValue, 30, 42, 6, // Skip to: 2221
188
+ /* 643 */ MCD_OPC_ExtractField, 13, 5, // Inst{17-13} ...
189
+ /* 646 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 654
190
+ /* 650 */ MCD_OPC_Decode, 143, 2, 21, // Opcode: UNPKLU4_s14_rr
191
+ /* 654 */ MCD_OPC_FilterValue, 3, 27, 6, // Skip to: 2221
192
+ /* 658 */ MCD_OPC_Decode, 141, 2, 21, // Opcode: UNPKHU4_s14_rr
193
+ /* 662 */ MCD_OPC_FilterValue, 9, 17, 0, // Skip to: 683
194
+ /* 666 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ...
195
+ /* 669 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 676
196
+ /* 673 */ MCD_OPC_Decode, 113, 3, // Opcode: LDB_d5_mr
197
+ /* 676 */ MCD_OPC_FilterValue, 1, 5, 6, // Skip to: 2221
198
+ /* 680 */ MCD_OPC_Decode, 120, 22, // Opcode: LDNDW_d8_mp
199
+ /* 683 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 691
200
+ /* 687 */ MCD_OPC_Decode, 159, 1, 23, // Opcode: MVKL_s12_ir
201
+ /* 691 */ MCD_OPC_FilterValue, 11, 3, 0, // Skip to: 698
202
+ /* 695 */ MCD_OPC_Decode, 114, 5, // Opcode: LDB_d6_mr
203
+ /* 698 */ MCD_OPC_FilterValue, 12, 194, 0, // Skip to: 896
204
+ /* 702 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
205
+ /* 705 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 713
206
+ /* 709 */ MCD_OPC_Decode, 130, 1, 24, // Opcode: MPY2_m1_rrp
207
+ /* 713 */ MCD_OPC_FilterValue, 1, 3, 0, // Skip to: 720
208
+ /* 717 */ MCD_OPC_Decode, 100, 1, // Opcode: DOTPSU4_m1_rrr
209
+ /* 720 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 728
210
+ /* 724 */ MCD_OPC_Decode, 150, 1, 24, // Opcode: MPYU4_m1_rrp
211
+ /* 728 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 735
212
+ /* 732 */ MCD_OPC_Decode, 101, 1, // Opcode: DOTPU4_m1_rrr
213
+ /* 735 */ MCD_OPC_FilterValue, 6, 3, 0, // Skip to: 742
214
+ /* 739 */ MCD_OPC_Decode, 96, 1, // Opcode: DOTP2_m1_rrr
215
+ /* 742 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 750
216
+ /* 746 */ MCD_OPC_Decode, 143, 1, 1, // Opcode: MPYLIR_m1_rrr
217
+ /* 750 */ MCD_OPC_FilterValue, 8, 4, 0, // Skip to: 758
218
+ /* 754 */ MCD_OPC_Decode, 131, 1, 1, // Opcode: MPYHIR_m1_rrr
219
+ /* 758 */ MCD_OPC_FilterValue, 9, 3, 0, // Skip to: 765
220
+ /* 762 */ MCD_OPC_Decode, 62, 1, // Opcode: AVGU4_m1_rrr
221
+ /* 765 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 773
222
+ /* 769 */ MCD_OPC_Decode, 132, 1, 24, // Opcode: MPYHI_m1_rrp
223
+ /* 773 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 781
224
+ /* 777 */ MCD_OPC_Decode, 227, 1, 1, // Opcode: SSHVR_m1_rrr
225
+ /* 781 */ MCD_OPC_FilterValue, 14, 4, 0, // Skip to: 789
226
+ /* 785 */ MCD_OPC_Decode, 226, 1, 1, // Opcode: SSHVL_m1_rrr
227
+ /* 789 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 797
228
+ /* 793 */ MCD_OPC_Decode, 181, 1, 17, // Opcode: ROTL_m1_rir
229
+ /* 797 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 804
230
+ /* 801 */ MCD_OPC_Decode, 52, 1, // Opcode: ANDN_d2_rrr
231
+ /* 804 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 812
232
+ /* 808 */ MCD_OPC_Decode, 166, 1, 1, // Opcode: OR_d2_rrr
233
+ /* 812 */ MCD_OPC_FilterValue, 18, 3, 0, // Skip to: 819
234
+ /* 816 */ MCD_OPC_Decode, 25, 1, // Opcode: ADD2_d2_rrr
235
+ /* 819 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 826
236
+ /* 823 */ MCD_OPC_Decode, 56, 1, // Opcode: AND_d2_rrr
237
+ /* 826 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 833
238
+ /* 830 */ MCD_OPC_Decode, 44, 1, // Opcode: ADD_d2_rrr
239
+ /* 833 */ MCD_OPC_FilterValue, 22, 4, 0, // Skip to: 841
240
+ /* 837 */ MCD_OPC_Decode, 129, 2, 1, // Opcode: SUB_d2_rrr
241
+ /* 841 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 849
242
+ /* 845 */ MCD_OPC_Decode, 145, 2, 1, // Opcode: XOR_d2_rrr
243
+ /* 849 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 857
244
+ /* 853 */ MCD_OPC_Decode, 183, 1, 1, // Opcode: SADD2_s4_rrr
245
+ /* 857 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 865
246
+ /* 861 */ MCD_OPC_Decode, 222, 1, 1, // Opcode: SPACK2_s4_rrr
247
+ /* 865 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 873
248
+ /* 869 */ MCD_OPC_Decode, 223, 1, 1, // Opcode: SPACKU4_s4_rrr
249
+ /* 873 */ MCD_OPC_FilterValue, 27, 3, 0, // Skip to: 880
250
+ /* 877 */ MCD_OPC_Decode, 54, 1, // Opcode: ANDN_s4_rrr
251
+ /* 880 */ MCD_OPC_FilterValue, 28, 4, 0, // Skip to: 888
252
+ /* 884 */ MCD_OPC_Decode, 208, 1, 1, // Opcode: SHRU2_s4_rrr
253
+ /* 888 */ MCD_OPC_FilterValue, 29, 49, 5, // Skip to: 2221
254
+ /* 892 */ MCD_OPC_Decode, 206, 1, 1, // Opcode: SHRMB_s4_rrr
255
+ /* 896 */ MCD_OPC_FilterValue, 13, 18, 0, // Skip to: 918
256
+ /* 900 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ...
257
+ /* 903 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 911
258
+ /* 907 */ MCD_OPC_Decode, 232, 1, 3, // Opcode: STB_d5_rm
259
+ /* 911 */ MCD_OPC_FilterValue, 1, 26, 5, // Skip to: 2221
260
+ /* 915 */ MCD_OPC_Decode, 121, 3, // Opcode: LDNW_d5_mr
261
+ /* 918 */ MCD_OPC_FilterValue, 14, 98, 0, // Skip to: 1020
262
+ /* 922 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
263
+ /* 925 */ MCD_OPC_FilterValue, 1, 3, 0, // Skip to: 932
264
+ /* 929 */ MCD_OPC_Decode, 26, 1, // Opcode: ADD2_l1_rrr_x2
265
+ /* 932 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 939
266
+ /* 936 */ MCD_OPC_Decode, 47, 25, // Opcode: ADD_l1_rpp
267
+ /* 939 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 946
268
+ /* 943 */ MCD_OPC_Decode, 39, 25, // Opcode: ADDU_l1_rpp
269
+ /* 946 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 954
270
+ /* 950 */ MCD_OPC_Decode, 188, 1, 25, // Opcode: SADD_l1_rpp
271
+ /* 954 */ MCD_OPC_FilterValue, 16, 4, 0, // Skip to: 962
272
+ /* 958 */ MCD_OPC_Decode, 128, 1, 1, // Opcode: MIN2_l1_rrr_x2
273
+ /* 962 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 969
274
+ /* 966 */ MCD_OPC_Decode, 84, 26, // Opcode: CMPGT_l1_rpr
275
+ /* 969 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 976
276
+ /* 973 */ MCD_OPC_Decode, 108, 26, // Opcode: GMPGTU_l1_rpr
277
+ /* 976 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 983
278
+ /* 980 */ MCD_OPC_Decode, 78, 26, // Opcode: CMPEQ_l1_rpr
279
+ /* 983 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 990
280
+ /* 987 */ MCD_OPC_Decode, 92, 26, // Opcode: CMPLT_l1_rpr
281
+ /* 990 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 997
282
+ /* 994 */ MCD_OPC_Decode, 88, 26, // Opcode: CMPLTU_l1_rpr
283
+ /* 997 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1005
284
+ /* 1001 */ MCD_OPC_Decode, 195, 1, 1, // Opcode: SHLMB_l1_rrr_x2
285
+ /* 1005 */ MCD_OPC_FilterValue, 25, 3, 0, // Skip to: 1012
286
+ /* 1009 */ MCD_OPC_Decode, 28, 1, // Opcode: ADD4_l1_rrr_x2
287
+ /* 1012 */ MCD_OPC_FilterValue, 26, 181, 4, // Skip to: 2221
288
+ /* 1016 */ MCD_OPC_Decode, 175, 1, 1, // Opcode: PACKH4_l1_rrr_x2
289
+ /* 1020 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 1028
290
+ /* 1024 */ MCD_OPC_Decode, 233, 1, 5, // Opcode: STB_d6_rm
291
+ /* 1028 */ MCD_OPC_FilterValue, 16, 151, 0, // Skip to: 1183
292
+ /* 1032 */ MCD_OPC_ExtractField, 7, 6, // Inst{12-7} ...
293
+ /* 1035 */ MCD_OPC_FilterValue, 0, 10, 0, // Skip to: 1049
294
+ /* 1039 */ MCD_OPC_CheckField, 18, 5, 0, 152, 4, // Skip to: 2221
295
+ /* 1045 */ MCD_OPC_Decode, 160, 1, 27, // Opcode: MVK_d1_rr
296
+ /* 1049 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 1056
297
+ /* 1053 */ MCD_OPC_Decode, 42, 28, // Opcode: ADD_d1_rrr
298
+ /* 1056 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 1064
299
+ /* 1060 */ MCD_OPC_Decode, 128, 2, 28, // Opcode: SUB_d1_rrr
300
+ /* 1064 */ MCD_OPC_FilterValue, 18, 3, 0, // Skip to: 1071
301
+ /* 1068 */ MCD_OPC_Decode, 41, 29, // Opcode: ADD_d1_rir
302
+ /* 1071 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 1079
303
+ /* 1075 */ MCD_OPC_Decode, 255, 1, 29, // Opcode: SUB_d1_rir
304
+ /* 1079 */ MCD_OPC_FilterValue, 48, 3, 0, // Skip to: 1086
305
+ /* 1083 */ MCD_OPC_Decode, 30, 28, // Opcode: ADDAB_d1_rrr
306
+ /* 1086 */ MCD_OPC_FilterValue, 49, 4, 0, // Skip to: 1094
307
+ /* 1090 */ MCD_OPC_Decode, 247, 1, 28, // Opcode: SUBAB_d1_rrr
308
+ /* 1094 */ MCD_OPC_FilterValue, 50, 3, 0, // Skip to: 1101
309
+ /* 1098 */ MCD_OPC_Decode, 29, 29, // Opcode: ADDAB_d1_rir
310
+ /* 1101 */ MCD_OPC_FilterValue, 51, 4, 0, // Skip to: 1109
311
+ /* 1105 */ MCD_OPC_Decode, 246, 1, 29, // Opcode: SUBAB_d1_rir
312
+ /* 1109 */ MCD_OPC_FilterValue, 52, 3, 0, // Skip to: 1116
313
+ /* 1113 */ MCD_OPC_Decode, 34, 28, // Opcode: ADDAH_d1_rrr
314
+ /* 1116 */ MCD_OPC_FilterValue, 53, 4, 0, // Skip to: 1124
315
+ /* 1120 */ MCD_OPC_Decode, 249, 1, 28, // Opcode: SUBAH_d1_rrr
316
+ /* 1124 */ MCD_OPC_FilterValue, 54, 3, 0, // Skip to: 1131
317
+ /* 1128 */ MCD_OPC_Decode, 33, 29, // Opcode: ADDAH_d1_rir
318
+ /* 1131 */ MCD_OPC_FilterValue, 55, 4, 0, // Skip to: 1139
319
+ /* 1135 */ MCD_OPC_Decode, 248, 1, 29, // Opcode: SUBAH_d1_rir
320
+ /* 1139 */ MCD_OPC_FilterValue, 56, 3, 0, // Skip to: 1146
321
+ /* 1143 */ MCD_OPC_Decode, 36, 28, // Opcode: ADDAW_d1_rrr
322
+ /* 1146 */ MCD_OPC_FilterValue, 57, 4, 0, // Skip to: 1154
323
+ /* 1150 */ MCD_OPC_Decode, 251, 1, 28, // Opcode: SUBAW_d1_rrr
324
+ /* 1154 */ MCD_OPC_FilterValue, 58, 3, 0, // Skip to: 1161
325
+ /* 1158 */ MCD_OPC_Decode, 35, 29, // Opcode: ADDAW_d1_rir
326
+ /* 1161 */ MCD_OPC_FilterValue, 59, 4, 0, // Skip to: 1169
327
+ /* 1165 */ MCD_OPC_Decode, 250, 1, 29, // Opcode: SUBAW_d1_rir
328
+ /* 1169 */ MCD_OPC_FilterValue, 60, 3, 0, // Skip to: 1176
329
+ /* 1173 */ MCD_OPC_Decode, 32, 28, // Opcode: ADDAD_d1_rrr
330
+ /* 1176 */ MCD_OPC_FilterValue, 61, 17, 4, // Skip to: 2221
331
+ /* 1180 */ MCD_OPC_Decode, 31, 29, // Opcode: ADDAD_d1_rir
332
+ /* 1183 */ MCD_OPC_FilterValue, 17, 18, 0, // Skip to: 1205
333
+ /* 1187 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ...
334
+ /* 1190 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1197
335
+ /* 1194 */ MCD_OPC_Decode, 118, 3, // Opcode: LDH_d5_mr
336
+ /* 1197 */ MCD_OPC_FilterValue, 1, 252, 3, // Skip to: 2221
337
+ /* 1201 */ MCD_OPC_Decode, 234, 1, 30, // Opcode: STDW_d7_pm
338
+ /* 1205 */ MCD_OPC_FilterValue, 18, 17, 0, // Skip to: 1226
339
+ /* 1209 */ MCD_OPC_ExtractField, 7, 1, // Inst{7} ...
340
+ /* 1212 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1219
341
+ /* 1216 */ MCD_OPC_Decode, 104, 4, // Opcode: EXT_s15_riir
342
+ /* 1219 */ MCD_OPC_FilterValue, 1, 230, 3, // Skip to: 2221
343
+ /* 1223 */ MCD_OPC_Decode, 72, 4, // Opcode: CLR_s15_riir
344
+ /* 1226 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 1233
345
+ /* 1230 */ MCD_OPC_Decode, 119, 5, // Opcode: LDH_d6_mr
346
+ /* 1233 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 1240
347
+ /* 1237 */ MCD_OPC_Decode, 38, 23, // Opcode: ADDK_s2_ir
348
+ /* 1240 */ MCD_OPC_FilterValue, 21, 19, 0, // Skip to: 1263
349
+ /* 1244 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ...
350
+ /* 1247 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 1255
351
+ /* 1251 */ MCD_OPC_Decode, 235, 1, 3, // Opcode: STH_d5_rm
352
+ /* 1255 */ MCD_OPC_FilterValue, 1, 194, 3, // Skip to: 2221
353
+ /* 1259 */ MCD_OPC_Decode, 238, 1, 3, // Opcode: STNW_d5_rm
354
+ /* 1263 */ MCD_OPC_FilterValue, 22, 191, 0, // Skip to: 1458
355
+ /* 1267 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
356
+ /* 1270 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1277
357
+ /* 1274 */ MCD_OPC_Decode, 46, 2, // Opcode: ADD_l1_irr
358
+ /* 1277 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 1285
359
+ /* 1281 */ MCD_OPC_Decode, 131, 2, 2, // Opcode: SUB_l1_irr
360
+ /* 1285 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 1293
361
+ /* 1289 */ MCD_OPC_Decode, 229, 1, 2, // Opcode: SSUB_l1_irr
362
+ /* 1293 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 1301
363
+ /* 1297 */ MCD_OPC_Decode, 187, 1, 2, // Opcode: SADD_l1_irr
364
+ /* 1301 */ MCD_OPC_FilterValue, 6, 49, 0, // Skip to: 1354
365
+ /* 1305 */ MCD_OPC_ExtractField, 13, 5, // Inst{17-13} ...
366
+ /* 1308 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1315
367
+ /* 1312 */ MCD_OPC_Decode, 24, 21, // Opcode: ABS_l1_rr
368
+ /* 1315 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 1323
369
+ /* 1319 */ MCD_OPC_Decode, 139, 2, 21, // Opcode: SWAP4_l2_rr
370
+ /* 1323 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 1331
371
+ /* 1327 */ MCD_OPC_Decode, 142, 2, 21, // Opcode: UNPKLU4_l2_rr
372
+ /* 1331 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 1339
373
+ /* 1335 */ MCD_OPC_Decode, 140, 2, 21, // Opcode: UNPKHU4_l2_rr
374
+ /* 1339 */ MCD_OPC_FilterValue, 4, 3, 0, // Skip to: 1346
375
+ /* 1343 */ MCD_OPC_Decode, 22, 21, // Opcode: ABS2_l2_rr
376
+ /* 1346 */ MCD_OPC_FilterValue, 5, 103, 3, // Skip to: 2221
377
+ /* 1350 */ MCD_OPC_Decode, 161, 1, 31, // Opcode: MVK_l2_ir
378
+ /* 1354 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 1362
379
+ /* 1358 */ MCD_OPC_Decode, 173, 1, 1, // Opcode: PACKH2_l1_rrr_x2
380
+ /* 1362 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 1369
381
+ /* 1366 */ MCD_OPC_Decode, 126, 1, // Opcode: MAX2_l1_rrr_x2
382
+ /* 1369 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 1376
383
+ /* 1373 */ MCD_OPC_Decode, 83, 2, // Opcode: CMPGT_l1_irr
384
+ /* 1376 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 1383
385
+ /* 1380 */ MCD_OPC_Decode, 107, 17, // Opcode: GMPGTU_l1_irr
386
+ /* 1383 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 1390
387
+ /* 1387 */ MCD_OPC_Decode, 77, 2, // Opcode: CMPEQ_l1_irr
388
+ /* 1390 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 1397
389
+ /* 1394 */ MCD_OPC_Decode, 91, 2, // Opcode: CMPLT_l1_irr
390
+ /* 1397 */ MCD_OPC_FilterValue, 22, 4, 0, // Skip to: 1405
391
+ /* 1401 */ MCD_OPC_Decode, 245, 1, 1, // Opcode: SUBABS4_l1_rrr_x2
392
+ /* 1405 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 1412
393
+ /* 1409 */ MCD_OPC_Decode, 87, 17, // Opcode: CMPLTU_l1_irr
394
+ /* 1412 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1420
395
+ /* 1416 */ MCD_OPC_Decode, 205, 1, 1, // Opcode: SHRMB_l1_rrr_x2
396
+ /* 1420 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1428
397
+ /* 1424 */ MCD_OPC_Decode, 244, 1, 1, // Opcode: SUB4_l1_rrr_x2
398
+ /* 1428 */ MCD_OPC_FilterValue, 26, 3, 0, // Skip to: 1435
399
+ /* 1432 */ MCD_OPC_Decode, 124, 2, // Opcode: LMBD_l1_irr
400
+ /* 1435 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 1443
401
+ /* 1439 */ MCD_OPC_Decode, 146, 2, 2, // Opcode: XOR_l1_irr
402
+ /* 1443 */ MCD_OPC_FilterValue, 30, 3, 0, // Skip to: 1450
403
+ /* 1447 */ MCD_OPC_Decode, 57, 2, // Opcode: AND_l1_irr
404
+ /* 1450 */ MCD_OPC_FilterValue, 31, 255, 2, // Skip to: 2221
405
+ /* 1454 */ MCD_OPC_Decode, 167, 1, 2, // Opcode: OR_l1_irr
406
+ /* 1458 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 1466
407
+ /* 1462 */ MCD_OPC_Decode, 236, 1, 5, // Opcode: STH_d6_rm
408
+ /* 1466 */ MCD_OPC_FilterValue, 24, 6, 1, // Skip to: 1732
409
+ /* 1470 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
410
+ /* 1473 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1480
411
+ /* 1477 */ MCD_OPC_Decode, 27, 1, // Opcode: ADD2_s1_rrr
412
+ /* 1480 */ MCD_OPC_FilterValue, 1, 19, 0, // Skip to: 1503
413
+ /* 1484 */ MCD_OPC_ExtractField, 12, 16, // Inst{27-12} ...
414
+ /* 1487 */ MCD_OPC_FilterValue, 128, 3, 3, 0, // Skip to: 1495
415
+ /* 1492 */ MCD_OPC_Decode, 70, 32, // Opcode: B_s7_irp
416
+ /* 1495 */ MCD_OPC_FilterValue, 192, 3, 209, 2, // Skip to: 2221
417
+ /* 1500 */ MCD_OPC_Decode, 71, 32, // Opcode: B_s7_nrp
418
+ /* 1503 */ MCD_OPC_FilterValue, 2, 9, 0, // Skip to: 1516
419
+ /* 1507 */ MCD_OPC_CheckField, 12, 1, 0, 196, 2, // Skip to: 2221
420
+ /* 1513 */ MCD_OPC_Decode, 37, 33, // Opcode: ADDKPC_s3_iir
421
+ /* 1516 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 1523
422
+ /* 1520 */ MCD_OPC_Decode, 51, 1, // Opcode: ADD_s1_rrr
423
+ /* 1523 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 1531
424
+ /* 1527 */ MCD_OPC_Decode, 174, 1, 1, // Opcode: PACKH2_s1_rrr
425
+ /* 1531 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 1539
426
+ /* 1535 */ MCD_OPC_Decode, 149, 2, 1, // Opcode: XOR_s1_rrr
427
+ /* 1539 */ MCD_OPC_FilterValue, 6, 29, 0, // Skip to: 1572
428
+ /* 1543 */ MCD_OPC_ExtractField, 23, 5, // Inst{27-23} ...
429
+ /* 1546 */ MCD_OPC_FilterValue, 0, 9, 0, // Skip to: 1559
430
+ /* 1550 */ MCD_OPC_CheckField, 13, 5, 0, 153, 2, // Skip to: 2221
431
+ /* 1556 */ MCD_OPC_Decode, 69, 34, // Opcode: B_s6_r
432
+ /* 1559 */ MCD_OPC_FilterValue, 1, 146, 2, // Skip to: 2221
433
+ /* 1563 */ MCD_OPC_CheckField, 16, 2, 0, 140, 2, // Skip to: 2221
434
+ /* 1569 */ MCD_OPC_Decode, 65, 35, // Opcode: BNOP_s10_ri
435
+ /* 1572 */ MCD_OPC_FilterValue, 7, 10, 0, // Skip to: 1586
436
+ /* 1576 */ MCD_OPC_CheckField, 13, 5, 0, 127, 2, // Skip to: 2221
437
+ /* 1582 */ MCD_OPC_Decode, 155, 1, 36, // Opcode: MVC_s1_rr
438
+ /* 1586 */ MCD_OPC_FilterValue, 8, 4, 0, // Skip to: 1594
439
+ /* 1590 */ MCD_OPC_Decode, 243, 1, 1, // Opcode: SUB2_s1_rrr
440
+ /* 1594 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 1602
441
+ /* 1598 */ MCD_OPC_Decode, 201, 1, 37, // Opcode: SHL_s1_rrp
442
+ /* 1602 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 1609
443
+ /* 1606 */ MCD_OPC_Decode, 81, 1, // Opcode: CMPGTU4_s1_rrr
444
+ /* 1609 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 1617
445
+ /* 1613 */ MCD_OPC_Decode, 137, 2, 1, // Opcode: SUB_s1_rrr
446
+ /* 1617 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 1625
447
+ /* 1621 */ MCD_OPC_Decode, 207, 1, 17, // Opcode: SHRU2_s1_rir
448
+ /* 1625 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 1633
449
+ /* 1629 */ MCD_OPC_Decode, 170, 1, 1, // Opcode: OR_s1_rrr
450
+ /* 1633 */ MCD_OPC_FilterValue, 14, 3, 0, // Skip to: 1640
451
+ /* 1637 */ MCD_OPC_Decode, 74, 1, // Opcode: CMPEQ2_s1_rrr
452
+ /* 1640 */ MCD_OPC_FilterValue, 15, 3, 0, // Skip to: 1647
453
+ /* 1644 */ MCD_OPC_Decode, 60, 1, // Opcode: AND_s1_rrr
454
+ /* 1647 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 1655
455
+ /* 1651 */ MCD_OPC_Decode, 225, 1, 1, // Opcode: SSHL_s1_rrr
456
+ /* 1655 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 1663
457
+ /* 1659 */ MCD_OPC_Decode, 210, 1, 38, // Opcode: SHRU_s1_prp
458
+ /* 1663 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 1671
459
+ /* 1667 */ MCD_OPC_Decode, 212, 1, 1, // Opcode: SHRU_s1_rrr
460
+ /* 1671 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 1678
461
+ /* 1675 */ MCD_OPC_Decode, 103, 1, // Opcode: EXTU_s1_rrr
462
+ /* 1678 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 1685
463
+ /* 1682 */ MCD_OPC_Decode, 105, 1, // Opcode: EXT_s1_rrr
464
+ /* 1685 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1693
465
+ /* 1689 */ MCD_OPC_Decode, 198, 1, 25, // Opcode: SHL_s1_prp
466
+ /* 1693 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1701
467
+ /* 1697 */ MCD_OPC_Decode, 202, 1, 39, // Opcode: SHL_s1_rrr
468
+ /* 1701 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1709
469
+ /* 1705 */ MCD_OPC_Decode, 214, 1, 38, // Opcode: SHR_s1_prp
470
+ /* 1709 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 1717
471
+ /* 1713 */ MCD_OPC_Decode, 216, 1, 1, // Opcode: SHR_s1_rrr
472
+ /* 1717 */ MCD_OPC_FilterValue, 29, 4, 0, // Skip to: 1725
473
+ /* 1721 */ MCD_OPC_Decode, 193, 1, 1, // Opcode: SET_s1_rrr
474
+ /* 1725 */ MCD_OPC_FilterValue, 31, 236, 1, // Skip to: 2221
475
+ /* 1729 */ MCD_OPC_Decode, 73, 1, // Opcode: CLR_s1_rrr
476
+ /* 1732 */ MCD_OPC_FilterValue, 25, 17, 0, // Skip to: 1753
477
+ /* 1736 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ...
478
+ /* 1739 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1746
479
+ /* 1743 */ MCD_OPC_Decode, 122, 3, // Opcode: LDW_d5_mr
480
+ /* 1746 */ MCD_OPC_FilterValue, 1, 215, 1, // Skip to: 2221
481
+ /* 1750 */ MCD_OPC_Decode, 115, 30, // Opcode: LDDW_d7_mp
482
+ /* 1753 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1761
483
+ /* 1757 */ MCD_OPC_Decode, 158, 1, 23, // Opcode: MVKLH_s12_ir
484
+ /* 1761 */ MCD_OPC_FilterValue, 27, 3, 0, // Skip to: 1768
485
+ /* 1765 */ MCD_OPC_Decode, 123, 5, // Opcode: LDW_d6_mr
486
+ /* 1768 */ MCD_OPC_FilterValue, 28, 216, 0, // Skip to: 1988
487
+ /* 1772 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
488
+ /* 1775 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 1783
489
+ /* 1779 */ MCD_OPC_Decode, 217, 1, 24, // Opcode: SMPY2_m1_rrp
490
+ /* 1783 */ MCD_OPC_FilterValue, 1, 49, 0, // Skip to: 1836
491
+ /* 1787 */ MCD_OPC_ExtractField, 13, 5, // Inst{17-13} ...
492
+ /* 1790 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1798
493
+ /* 1794 */ MCD_OPC_Decode, 151, 2, 21, // Opcode: XPND4_m2_rr
494
+ /* 1798 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1806
495
+ /* 1802 */ MCD_OPC_Decode, 150, 2, 21, // Opcode: XPND2_m2_rr
496
+ /* 1806 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1814
497
+ /* 1810 */ MCD_OPC_Decode, 157, 1, 21, // Opcode: MVD_m2_rr
498
+ /* 1814 */ MCD_OPC_FilterValue, 28, 4, 0, // Skip to: 1822
499
+ /* 1818 */ MCD_OPC_Decode, 194, 1, 21, // Opcode: SHFL_m2_rr
500
+ /* 1822 */ MCD_OPC_FilterValue, 29, 3, 0, // Skip to: 1829
501
+ /* 1826 */ MCD_OPC_Decode, 94, 21, // Opcode: DEAL_m2_rr
502
+ /* 1829 */ MCD_OPC_FilterValue, 30, 132, 1, // Skip to: 2221
503
+ /* 1833 */ MCD_OPC_Decode, 64, 21, // Opcode: BITC4_m2_rr
504
+ /* 1836 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 1844
505
+ /* 1840 */ MCD_OPC_Decode, 147, 1, 24, // Opcode: MPYSU4_m1_rrp
506
+ /* 1844 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 1851
507
+ /* 1848 */ MCD_OPC_Decode, 98, 1, // Opcode: DOTPNRSU2_m1_rrr
508
+ /* 1851 */ MCD_OPC_FilterValue, 4, 3, 0, // Skip to: 1858
509
+ /* 1855 */ MCD_OPC_Decode, 97, 1, // Opcode: DOTPN2_m1_rrr
510
+ /* 1858 */ MCD_OPC_FilterValue, 5, 3, 0, // Skip to: 1865
511
+ /* 1862 */ MCD_OPC_Decode, 95, 24, // Opcode: DOTP2_m1_rrp
512
+ /* 1865 */ MCD_OPC_FilterValue, 6, 3, 0, // Skip to: 1872
513
+ /* 1869 */ MCD_OPC_Decode, 99, 1, // Opcode: DOTPRSU2_m1_rrr
514
+ /* 1872 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 1879
515
+ /* 1876 */ MCD_OPC_Decode, 110, 1, // Opcode: GMPY4_m1_rrr
516
+ /* 1879 */ MCD_OPC_FilterValue, 9, 3, 0, // Skip to: 1886
517
+ /* 1883 */ MCD_OPC_Decode, 61, 1, // Opcode: AVG2_m1_rrr
518
+ /* 1886 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 1894
519
+ /* 1890 */ MCD_OPC_Decode, 144, 1, 24, // Opcode: MPYLI_m1_rrp
520
+ /* 1894 */ MCD_OPC_FilterValue, 14, 4, 0, // Skip to: 1902
521
+ /* 1898 */ MCD_OPC_Decode, 182, 1, 1, // Opcode: ROTL_m1_rrr
522
+ /* 1902 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 1910
523
+ /* 1906 */ MCD_OPC_Decode, 165, 1, 2, // Opcode: OR_d2_rir
524
+ /* 1910 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 1918
525
+ /* 1914 */ MCD_OPC_Decode, 241, 1, 1, // Opcode: SUB2_d2_rrr
526
+ /* 1918 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 1925
527
+ /* 1922 */ MCD_OPC_Decode, 55, 2, // Opcode: AND_d2_rir
528
+ /* 1925 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 1932
529
+ /* 1929 */ MCD_OPC_Decode, 43, 2, // Opcode: ADD_d2_rir
530
+ /* 1932 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 1940
531
+ /* 1936 */ MCD_OPC_Decode, 144, 2, 2, // Opcode: XOR_d2_rir
532
+ /* 1940 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1948
533
+ /* 1944 */ MCD_OPC_Decode, 185, 1, 1, // Opcode: SADDUS2_s4_rrr
534
+ /* 1948 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1956
535
+ /* 1952 */ MCD_OPC_Decode, 184, 1, 1, // Opcode: SADDU4_s4_rrr
536
+ /* 1956 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1964
537
+ /* 1960 */ MCD_OPC_Decode, 138, 2, 1, // Opcode: SUB_s4_rrr
538
+ /* 1964 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 1972
539
+ /* 1968 */ MCD_OPC_Decode, 204, 1, 1, // Opcode: SHR2_s4_rrr
540
+ /* 1972 */ MCD_OPC_FilterValue, 28, 4, 0, // Skip to: 1980
541
+ /* 1976 */ MCD_OPC_Decode, 196, 1, 1, // Opcode: SHLMB_s4_rrr
542
+ /* 1980 */ MCD_OPC_FilterValue, 31, 237, 0, // Skip to: 2221
543
+ /* 1984 */ MCD_OPC_Decode, 172, 1, 1, // Opcode: PACK2_s4_rrr
544
+ /* 1988 */ MCD_OPC_FilterValue, 29, 19, 0, // Skip to: 2011
545
+ /* 1992 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ...
546
+ /* 1995 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 2003
547
+ /* 1999 */ MCD_OPC_Decode, 239, 1, 3, // Opcode: STW_d5_rm
548
+ /* 2003 */ MCD_OPC_FilterValue, 1, 214, 0, // Skip to: 2221
549
+ /* 2007 */ MCD_OPC_Decode, 237, 1, 22, // Opcode: STNDW_d8_pm
550
+ /* 2011 */ MCD_OPC_FilterValue, 30, 198, 0, // Skip to: 2213
551
+ /* 2015 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ...
552
+ /* 2018 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 2025
553
+ /* 2022 */ MCD_OPC_Decode, 49, 1, // Opcode: ADD_l1_rrr_x2
554
+ /* 2025 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 2033
555
+ /* 2029 */ MCD_OPC_Decode, 135, 2, 1, // Opcode: SUB_l1_rrr_x2
556
+ /* 2033 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 2041
557
+ /* 2037 */ MCD_OPC_Decode, 231, 1, 1, // Opcode: SSUB_l1_rrr_x2
558
+ /* 2041 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 2049
559
+ /* 2045 */ MCD_OPC_Decode, 189, 1, 1, // Opcode: SADD_l1_rrr_x2
560
+ /* 2049 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 2057
561
+ /* 2053 */ MCD_OPC_Decode, 134, 2, 39, // Opcode: SUB_l1_rrr_x1
562
+ /* 2057 */ MCD_OPC_FilterValue, 6, 4, 0, // Skip to: 2065
563
+ /* 2061 */ MCD_OPC_Decode, 179, 1, 1, // Opcode: PACKLH2_l1_rrr_x2
564
+ /* 2065 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 2073
565
+ /* 2069 */ MCD_OPC_Decode, 230, 1, 39, // Opcode: SSUB_l1_rrr_x1
566
+ /* 2073 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 2080
567
+ /* 2077 */ MCD_OPC_Decode, 48, 24, // Opcode: ADD_l1_rrp_x2
568
+ /* 2080 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 2088
569
+ /* 2084 */ MCD_OPC_Decode, 133, 2, 24, // Opcode: SUB_l1_rrp_x2
570
+ /* 2088 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 2095
571
+ /* 2092 */ MCD_OPC_Decode, 40, 24, // Opcode: ADDU_l1_rrp_x2
572
+ /* 2095 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 2103
573
+ /* 2099 */ MCD_OPC_Decode, 254, 1, 24, // Opcode: SUBU_l1_rrp_x2
574
+ /* 2103 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 2111
575
+ /* 2107 */ MCD_OPC_Decode, 132, 2, 37, // Opcode: SUB_l1_rrp_x1
576
+ /* 2111 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 2119
577
+ /* 2115 */ MCD_OPC_Decode, 253, 1, 37, // Opcode: SUBU_l1_rrp_x1
578
+ /* 2119 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 2126
579
+ /* 2123 */ MCD_OPC_Decode, 127, 1, // Opcode: MAXU4_l1_rrr_x2
580
+ /* 2126 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 2133
581
+ /* 2130 */ MCD_OPC_Decode, 85, 1, // Opcode: CMPGT_l1_rrr_x2
582
+ /* 2133 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 2141
583
+ /* 2137 */ MCD_OPC_Decode, 252, 1, 1, // Opcode: SUBC_l1_rrr_x2
584
+ /* 2141 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 2148
585
+ /* 2145 */ MCD_OPC_Decode, 109, 1, // Opcode: GMPGTU_l1_rrr_x2
586
+ /* 2148 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 2155
587
+ /* 2152 */ MCD_OPC_Decode, 79, 1, // Opcode: CMPEQ_l1_rrr_x2
588
+ /* 2155 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 2162
589
+ /* 2159 */ MCD_OPC_Decode, 93, 1, // Opcode: CMPLT_l1_rrr_x2
590
+ /* 2162 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 2169
591
+ /* 2166 */ MCD_OPC_Decode, 89, 1, // Opcode: CMPLTU_l1_rrr_x2
592
+ /* 2169 */ MCD_OPC_FilterValue, 24, 10, 0, // Skip to: 2183
593
+ /* 2173 */ MCD_OPC_CheckField, 13, 5, 0, 42, 0, // Skip to: 2221
594
+ /* 2179 */ MCD_OPC_Decode, 164, 1, 21, // Opcode: NORM_l1_rr
595
+ /* 2183 */ MCD_OPC_FilterValue, 26, 3, 0, // Skip to: 2190
596
+ /* 2187 */ MCD_OPC_Decode, 125, 1, // Opcode: LMBD_l1_rrr_x2
597
+ /* 2190 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 2198
598
+ /* 2194 */ MCD_OPC_Decode, 147, 2, 1, // Opcode: XOR_l1_rrr_x2
599
+ /* 2198 */ MCD_OPC_FilterValue, 30, 3, 0, // Skip to: 2205
600
+ /* 2202 */ MCD_OPC_Decode, 58, 1, // Opcode: AND_l1_rrr_x2
601
+ /* 2205 */ MCD_OPC_FilterValue, 31, 12, 0, // Skip to: 2221
602
+ /* 2209 */ MCD_OPC_Decode, 168, 1, 1, // Opcode: OR_l1_rrr_x2
603
+ /* 2213 */ MCD_OPC_FilterValue, 31, 4, 0, // Skip to: 2221
604
+ /* 2217 */ MCD_OPC_Decode, 240, 1, 5, // Opcode: STW_d6_rm
605
+ /* 2221 */ MCD_OPC_Fail,
606
+ 0
607
+ };
608
+
609
+ static bool checkDecoderPredicate(unsigned Idx, uint64_t Bits) {
610
+ return true;
611
+ }
612
+
613
+ #define DecodeToMCInst(fname,fieldname, InsnType) \
614
+ static DecodeStatus fname(DecodeStatus S, unsigned Idx, InsnType insn, MCInst *MI, \
615
+ uint64_t Address, void *Decoder) { \
616
+ InsnType tmp; \
617
+ switch (Idx) { \
618
+ default: \
619
+ case 0: \
620
+ tmp = fieldname(insn, 13, 4); \
621
+ if (DecodeNop(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
622
+ tmp = fieldname(insn, 29, 3); \
623
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
624
+ tmp = fieldname(insn, 28, 1); \
625
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
626
+ tmp = fieldname(insn, 1, 1); \
627
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
628
+ tmp = fieldname(insn, 0, 1); \
629
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
630
+ return S; \
631
+ case 1: \
632
+ tmp = fieldname(insn, 23, 5); \
633
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
634
+ tmp = fieldname(insn, 18, 5); \
635
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
636
+ tmp = fieldname(insn, 13, 5); \
637
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
638
+ tmp = fieldname(insn, 12, 1); \
639
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
640
+ tmp = fieldname(insn, 29, 3); \
641
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
642
+ tmp = fieldname(insn, 28, 1); \
643
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
644
+ tmp = fieldname(insn, 1, 1); \
645
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
646
+ tmp = fieldname(insn, 0, 1); \
647
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
648
+ return S; \
649
+ case 2: \
650
+ tmp = fieldname(insn, 23, 5); \
651
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
652
+ tmp = fieldname(insn, 18, 5); \
653
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
654
+ tmp = fieldname(insn, 13, 5); \
655
+ if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
656
+ tmp = fieldname(insn, 12, 1); \
657
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
658
+ tmp = fieldname(insn, 29, 3); \
659
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
660
+ tmp = fieldname(insn, 28, 1); \
661
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
662
+ tmp = fieldname(insn, 1, 1); \
663
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
664
+ tmp = fieldname(insn, 0, 1); \
665
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
666
+ return S; \
667
+ case 3: \
668
+ tmp = fieldname(insn, 23, 5); \
669
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
670
+ tmp = 0; \
671
+ tmp |= fieldname(insn, 7, 1) << 0; \
672
+ tmp |= fieldname(insn, 9, 14) << 1; \
673
+ if (DecodeMemOperand(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
674
+ tmp = fieldname(insn, 29, 3); \
675
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
676
+ tmp = fieldname(insn, 28, 1); \
677
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
678
+ tmp = fieldname(insn, 1, 1); \
679
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
680
+ tmp = fieldname(insn, 0, 1); \
681
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
682
+ return S; \
683
+ case 4: \
684
+ tmp = fieldname(insn, 23, 5); \
685
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
686
+ tmp = fieldname(insn, 18, 5); \
687
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
688
+ tmp = fieldname(insn, 13, 5); \
689
+ MCOperand_CreateImm0(MI, tmp); \
690
+ tmp = fieldname(insn, 8, 5); \
691
+ MCOperand_CreateImm0(MI, tmp); \
692
+ tmp = fieldname(insn, 29, 3); \
693
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
694
+ tmp = fieldname(insn, 28, 1); \
695
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
696
+ tmp = fieldname(insn, 1, 1); \
697
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
698
+ tmp = fieldname(insn, 0, 1); \
699
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
700
+ return S; \
701
+ case 5: \
702
+ tmp = fieldname(insn, 23, 5); \
703
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
704
+ tmp = fieldname(insn, 7, 16); \
705
+ if (DecodeMemOperand2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
706
+ tmp = fieldname(insn, 29, 3); \
707
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
708
+ tmp = fieldname(insn, 28, 1); \
709
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
710
+ tmp = fieldname(insn, 1, 1); \
711
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
712
+ tmp = fieldname(insn, 0, 1); \
713
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
714
+ return S; \
715
+ case 6: \
716
+ tmp = fieldname(insn, 7, 21); \
717
+ if (DecodePCRelScst21(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
718
+ tmp = fieldname(insn, 29, 3); \
719
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
720
+ tmp = fieldname(insn, 28, 1); \
721
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
722
+ tmp = fieldname(insn, 1, 1); \
723
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
724
+ tmp = fieldname(insn, 0, 1); \
725
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
726
+ return S; \
727
+ case 7: \
728
+ tmp = fieldname(insn, 23, 5); \
729
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
730
+ tmp = fieldname(insn, 18, 5); \
731
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
732
+ tmp = fieldname(insn, 13, 5); \
733
+ if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
734
+ tmp = fieldname(insn, 12, 1); \
735
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
736
+ tmp = fieldname(insn, 29, 3); \
737
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
738
+ tmp = fieldname(insn, 28, 1); \
739
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
740
+ tmp = fieldname(insn, 1, 1); \
741
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
742
+ tmp = fieldname(insn, 0, 1); \
743
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
744
+ return S; \
745
+ case 8: \
746
+ tmp = fieldname(insn, 23, 5); \
747
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
748
+ tmp = fieldname(insn, 18, 5); \
749
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
750
+ tmp = fieldname(insn, 12, 1); \
751
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
752
+ tmp = fieldname(insn, 29, 3); \
753
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
754
+ tmp = fieldname(insn, 28, 1); \
755
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
756
+ tmp = fieldname(insn, 1, 1); \
757
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
758
+ tmp = fieldname(insn, 0, 1); \
759
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
760
+ return S; \
761
+ case 9: \
762
+ tmp = fieldname(insn, 23, 5); \
763
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
764
+ tmp = fieldname(insn, 18, 5); \
765
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
766
+ tmp = fieldname(insn, 12, 1); \
767
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
768
+ tmp = fieldname(insn, 29, 3); \
769
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
770
+ tmp = fieldname(insn, 28, 1); \
771
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
772
+ tmp = fieldname(insn, 1, 1); \
773
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
774
+ tmp = fieldname(insn, 0, 1); \
775
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
776
+ return S; \
777
+ case 10: \
778
+ tmp = fieldname(insn, 23, 5); \
779
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
780
+ tmp = fieldname(insn, 18, 5); \
781
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
782
+ tmp = fieldname(insn, 13, 5); \
783
+ if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
784
+ tmp = fieldname(insn, 12, 1); \
785
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
786
+ tmp = fieldname(insn, 29, 3); \
787
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
788
+ tmp = fieldname(insn, 28, 1); \
789
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
790
+ tmp = fieldname(insn, 1, 1); \
791
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
792
+ tmp = fieldname(insn, 0, 1); \
793
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
794
+ return S; \
795
+ case 11: \
796
+ tmp = fieldname(insn, 23, 5); \
797
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
798
+ tmp = fieldname(insn, 18, 5); \
799
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
800
+ tmp = fieldname(insn, 13, 5); \
801
+ MCOperand_CreateImm0(MI, tmp); \
802
+ tmp = fieldname(insn, 12, 1); \
803
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
804
+ tmp = fieldname(insn, 29, 3); \
805
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
806
+ tmp = fieldname(insn, 28, 1); \
807
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
808
+ tmp = fieldname(insn, 1, 1); \
809
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
810
+ tmp = fieldname(insn, 0, 1); \
811
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
812
+ return S; \
813
+ case 12: \
814
+ tmp = fieldname(insn, 23, 5); \
815
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
816
+ tmp = fieldname(insn, 18, 5); \
817
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
818
+ tmp = fieldname(insn, 12, 1); \
819
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
820
+ tmp = fieldname(insn, 29, 3); \
821
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
822
+ tmp = fieldname(insn, 28, 1); \
823
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
824
+ tmp = fieldname(insn, 1, 1); \
825
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
826
+ tmp = fieldname(insn, 0, 1); \
827
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
828
+ return S; \
829
+ case 13: \
830
+ tmp = fieldname(insn, 23, 5); \
831
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
832
+ tmp = fieldname(insn, 13, 10); \
833
+ if (DecodePCRelScst10(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
834
+ tmp = fieldname(insn, 29, 3); \
835
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
836
+ tmp = fieldname(insn, 28, 1); \
837
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
838
+ tmp = fieldname(insn, 1, 1); \
839
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
840
+ tmp = fieldname(insn, 0, 1); \
841
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
842
+ return S; \
843
+ case 14: \
844
+ tmp = fieldname(insn, 16, 12); \
845
+ if (DecodePCRelScst12(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
846
+ tmp = fieldname(insn, 13, 3); \
847
+ MCOperand_CreateImm0(MI, tmp); \
848
+ tmp = fieldname(insn, 29, 3); \
849
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
850
+ tmp = fieldname(insn, 28, 1); \
851
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
852
+ tmp = fieldname(insn, 1, 1); \
853
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
854
+ tmp = fieldname(insn, 0, 1); \
855
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
856
+ return S; \
857
+ case 15: \
858
+ tmp = fieldname(insn, 23, 5); \
859
+ if (DecodeControlRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
860
+ tmp = fieldname(insn, 18, 5); \
861
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
862
+ tmp = fieldname(insn, 12, 1); \
863
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
864
+ tmp = fieldname(insn, 29, 3); \
865
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
866
+ tmp = fieldname(insn, 28, 1); \
867
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
868
+ tmp = fieldname(insn, 1, 1); \
869
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
870
+ tmp = fieldname(insn, 0, 1); \
871
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
872
+ return S; \
873
+ case 16: \
874
+ tmp = fieldname(insn, 23, 5); \
875
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
876
+ tmp = fieldname(insn, 18, 5); \
877
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
878
+ tmp = fieldname(insn, 13, 5); \
879
+ MCOperand_CreateImm0(MI, tmp); \
880
+ tmp = fieldname(insn, 12, 1); \
881
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
882
+ tmp = fieldname(insn, 29, 3); \
883
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
884
+ tmp = fieldname(insn, 28, 1); \
885
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
886
+ tmp = fieldname(insn, 1, 1); \
887
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
888
+ tmp = fieldname(insn, 0, 1); \
889
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
890
+ return S; \
891
+ case 17: \
892
+ tmp = fieldname(insn, 23, 5); \
893
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
894
+ tmp = fieldname(insn, 18, 5); \
895
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
896
+ tmp = fieldname(insn, 13, 5); \
897
+ MCOperand_CreateImm0(MI, tmp); \
898
+ tmp = fieldname(insn, 12, 1); \
899
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
900
+ tmp = fieldname(insn, 29, 3); \
901
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
902
+ tmp = fieldname(insn, 28, 1); \
903
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
904
+ tmp = fieldname(insn, 1, 1); \
905
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
906
+ tmp = fieldname(insn, 0, 1); \
907
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
908
+ return S; \
909
+ case 18: \
910
+ tmp = fieldname(insn, 23, 5); \
911
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
912
+ tmp = fieldname(insn, 18, 5); \
913
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
914
+ tmp = fieldname(insn, 13, 5); \
915
+ MCOperand_CreateImm0(MI, tmp); \
916
+ tmp = fieldname(insn, 12, 1); \
917
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
918
+ tmp = fieldname(insn, 29, 3); \
919
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
920
+ tmp = fieldname(insn, 28, 1); \
921
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
922
+ tmp = fieldname(insn, 1, 1); \
923
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
924
+ tmp = fieldname(insn, 0, 1); \
925
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
926
+ return S; \
927
+ case 19: \
928
+ tmp = fieldname(insn, 23, 5); \
929
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
930
+ tmp = fieldname(insn, 18, 5); \
931
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
932
+ tmp = fieldname(insn, 13, 5); \
933
+ MCOperand_CreateImm0(MI, tmp); \
934
+ tmp = fieldname(insn, 12, 1); \
935
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
936
+ tmp = fieldname(insn, 29, 3); \
937
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
938
+ tmp = fieldname(insn, 28, 1); \
939
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
940
+ tmp = fieldname(insn, 1, 1); \
941
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
942
+ tmp = fieldname(insn, 0, 1); \
943
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
944
+ return S; \
945
+ case 20: \
946
+ tmp = fieldname(insn, 23, 5); \
947
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
948
+ tmp = fieldname(insn, 18, 5); \
949
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
950
+ tmp = fieldname(insn, 13, 5); \
951
+ MCOperand_CreateImm0(MI, tmp); \
952
+ tmp = fieldname(insn, 12, 1); \
953
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
954
+ tmp = fieldname(insn, 29, 3); \
955
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
956
+ tmp = fieldname(insn, 28, 1); \
957
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
958
+ tmp = fieldname(insn, 1, 1); \
959
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
960
+ tmp = fieldname(insn, 0, 1); \
961
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
962
+ return S; \
963
+ case 21: \
964
+ tmp = fieldname(insn, 23, 5); \
965
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
966
+ tmp = fieldname(insn, 18, 5); \
967
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
968
+ tmp = fieldname(insn, 12, 1); \
969
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
970
+ tmp = fieldname(insn, 29, 3); \
971
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
972
+ tmp = fieldname(insn, 28, 1); \
973
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
974
+ tmp = fieldname(insn, 1, 1); \
975
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
976
+ tmp = fieldname(insn, 0, 1); \
977
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
978
+ return S; \
979
+ case 22: \
980
+ tmp = fieldname(insn, 24, 4); \
981
+ if (DecodeRegPair4(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
982
+ tmp = 0; \
983
+ tmp |= fieldname(insn, 7, 1) << 0; \
984
+ tmp |= fieldname(insn, 9, 15) << 1; \
985
+ if (DecodeMemOperandSc(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
986
+ tmp = fieldname(insn, 29, 3); \
987
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
988
+ tmp = fieldname(insn, 28, 1); \
989
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
990
+ tmp = fieldname(insn, 1, 1); \
991
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
992
+ tmp = fieldname(insn, 0, 1); \
993
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
994
+ return S; \
995
+ case 23: \
996
+ tmp = fieldname(insn, 23, 5); \
997
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
998
+ tmp = fieldname(insn, 7, 16); \
999
+ if (DecodeScst16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1000
+ tmp = fieldname(insn, 29, 3); \
1001
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1002
+ tmp = fieldname(insn, 28, 1); \
1003
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1004
+ tmp = fieldname(insn, 1, 1); \
1005
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1006
+ tmp = fieldname(insn, 0, 1); \
1007
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1008
+ return S; \
1009
+ case 24: \
1010
+ tmp = fieldname(insn, 23, 5); \
1011
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1012
+ tmp = fieldname(insn, 18, 5); \
1013
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1014
+ tmp = fieldname(insn, 13, 5); \
1015
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1016
+ tmp = fieldname(insn, 12, 1); \
1017
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1018
+ tmp = fieldname(insn, 29, 3); \
1019
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1020
+ tmp = fieldname(insn, 28, 1); \
1021
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1022
+ tmp = fieldname(insn, 1, 1); \
1023
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1024
+ tmp = fieldname(insn, 0, 1); \
1025
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1026
+ return S; \
1027
+ case 25: \
1028
+ tmp = fieldname(insn, 23, 5); \
1029
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1030
+ tmp = fieldname(insn, 18, 5); \
1031
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1032
+ tmp = fieldname(insn, 13, 5); \
1033
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1034
+ tmp = fieldname(insn, 12, 1); \
1035
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1036
+ tmp = fieldname(insn, 29, 3); \
1037
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1038
+ tmp = fieldname(insn, 28, 1); \
1039
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1040
+ tmp = fieldname(insn, 1, 1); \
1041
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1042
+ tmp = fieldname(insn, 0, 1); \
1043
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1044
+ return S; \
1045
+ case 26: \
1046
+ tmp = fieldname(insn, 23, 5); \
1047
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1048
+ tmp = fieldname(insn, 18, 5); \
1049
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1050
+ tmp = fieldname(insn, 13, 5); \
1051
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1052
+ tmp = fieldname(insn, 12, 1); \
1053
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1054
+ tmp = fieldname(insn, 29, 3); \
1055
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1056
+ tmp = fieldname(insn, 28, 1); \
1057
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1058
+ tmp = fieldname(insn, 1, 1); \
1059
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1060
+ tmp = fieldname(insn, 0, 1); \
1061
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1062
+ return S; \
1063
+ case 27: \
1064
+ tmp = fieldname(insn, 23, 5); \
1065
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1066
+ tmp = fieldname(insn, 13, 5); \
1067
+ if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1068
+ tmp = fieldname(insn, 29, 3); \
1069
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1070
+ tmp = fieldname(insn, 28, 1); \
1071
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1072
+ tmp = fieldname(insn, 1, 1); \
1073
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1074
+ tmp = fieldname(insn, 0, 1); \
1075
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1076
+ return S; \
1077
+ case 28: \
1078
+ tmp = fieldname(insn, 23, 5); \
1079
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1080
+ tmp = fieldname(insn, 18, 5); \
1081
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1082
+ tmp = fieldname(insn, 13, 5); \
1083
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1084
+ tmp = fieldname(insn, 29, 3); \
1085
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1086
+ tmp = fieldname(insn, 28, 1); \
1087
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1088
+ tmp = fieldname(insn, 1, 1); \
1089
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1090
+ tmp = fieldname(insn, 0, 1); \
1091
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1092
+ return S; \
1093
+ case 29: \
1094
+ tmp = fieldname(insn, 23, 5); \
1095
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1096
+ tmp = fieldname(insn, 18, 5); \
1097
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1098
+ tmp = fieldname(insn, 13, 5); \
1099
+ MCOperand_CreateImm0(MI, tmp); \
1100
+ tmp = fieldname(insn, 29, 3); \
1101
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1102
+ tmp = fieldname(insn, 28, 1); \
1103
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1104
+ tmp = fieldname(insn, 1, 1); \
1105
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1106
+ tmp = fieldname(insn, 0, 1); \
1107
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1108
+ return S; \
1109
+ case 30: \
1110
+ tmp = fieldname(insn, 23, 5); \
1111
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1112
+ tmp = 0; \
1113
+ tmp |= fieldname(insn, 7, 1) << 0; \
1114
+ tmp |= fieldname(insn, 9, 14) << 1; \
1115
+ if (DecodeMemOperand(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1116
+ tmp = fieldname(insn, 29, 3); \
1117
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1118
+ tmp = fieldname(insn, 28, 1); \
1119
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1120
+ tmp = fieldname(insn, 1, 1); \
1121
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1122
+ tmp = fieldname(insn, 0, 1); \
1123
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1124
+ return S; \
1125
+ case 31: \
1126
+ tmp = fieldname(insn, 23, 5); \
1127
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1128
+ tmp = fieldname(insn, 18, 5); \
1129
+ if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1130
+ tmp = fieldname(insn, 12, 1); \
1131
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1132
+ tmp = fieldname(insn, 29, 3); \
1133
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1134
+ tmp = fieldname(insn, 28, 1); \
1135
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1136
+ tmp = fieldname(insn, 1, 1); \
1137
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1138
+ tmp = fieldname(insn, 0, 1); \
1139
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1140
+ return S; \
1141
+ case 32: \
1142
+ tmp = fieldname(insn, 29, 3); \
1143
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1144
+ tmp = fieldname(insn, 28, 1); \
1145
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1146
+ tmp = fieldname(insn, 1, 1); \
1147
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1148
+ tmp = fieldname(insn, 0, 1); \
1149
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1150
+ return S; \
1151
+ case 33: \
1152
+ tmp = fieldname(insn, 23, 5); \
1153
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1154
+ tmp = fieldname(insn, 16, 7); \
1155
+ if (DecodePCRelScst7(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1156
+ tmp = fieldname(insn, 13, 3); \
1157
+ MCOperand_CreateImm0(MI, tmp); \
1158
+ tmp = fieldname(insn, 29, 3); \
1159
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1160
+ tmp = fieldname(insn, 28, 1); \
1161
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1162
+ tmp = fieldname(insn, 1, 1); \
1163
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1164
+ tmp = fieldname(insn, 0, 1); \
1165
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1166
+ return S; \
1167
+ case 34: \
1168
+ tmp = fieldname(insn, 18, 5); \
1169
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1170
+ tmp = fieldname(insn, 12, 1); \
1171
+ if (DecodeCrosspathX1(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1172
+ tmp = fieldname(insn, 29, 3); \
1173
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1174
+ tmp = fieldname(insn, 28, 1); \
1175
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1176
+ tmp = fieldname(insn, 1, 1); \
1177
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1178
+ tmp = fieldname(insn, 0, 1); \
1179
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1180
+ return S; \
1181
+ case 35: \
1182
+ tmp = fieldname(insn, 18, 5); \
1183
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1184
+ tmp = fieldname(insn, 13, 3); \
1185
+ MCOperand_CreateImm0(MI, tmp); \
1186
+ tmp = fieldname(insn, 12, 1); \
1187
+ if (DecodeCrosspathX1(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1188
+ tmp = fieldname(insn, 29, 3); \
1189
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1190
+ tmp = fieldname(insn, 28, 1); \
1191
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1192
+ tmp = fieldname(insn, 1, 1); \
1193
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1194
+ tmp = fieldname(insn, 0, 1); \
1195
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1196
+ return S; \
1197
+ case 36: \
1198
+ tmp = fieldname(insn, 23, 5); \
1199
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1200
+ tmp = fieldname(insn, 18, 5); \
1201
+ if (DecodeControlRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1202
+ tmp = fieldname(insn, 12, 1); \
1203
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1204
+ tmp = fieldname(insn, 29, 3); \
1205
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1206
+ tmp = fieldname(insn, 28, 1); \
1207
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1208
+ tmp = fieldname(insn, 1, 1); \
1209
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1210
+ tmp = fieldname(insn, 0, 1); \
1211
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1212
+ return S; \
1213
+ case 37: \
1214
+ tmp = fieldname(insn, 23, 5); \
1215
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1216
+ tmp = fieldname(insn, 18, 5); \
1217
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1218
+ tmp = fieldname(insn, 13, 5); \
1219
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1220
+ tmp = fieldname(insn, 12, 1); \
1221
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1222
+ tmp = fieldname(insn, 29, 3); \
1223
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1224
+ tmp = fieldname(insn, 28, 1); \
1225
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1226
+ tmp = fieldname(insn, 1, 1); \
1227
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1228
+ tmp = fieldname(insn, 0, 1); \
1229
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1230
+ return S; \
1231
+ case 38: \
1232
+ tmp = fieldname(insn, 23, 5); \
1233
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1234
+ tmp = fieldname(insn, 18, 5); \
1235
+ if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1236
+ tmp = fieldname(insn, 13, 5); \
1237
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1238
+ tmp = fieldname(insn, 12, 1); \
1239
+ if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1240
+ tmp = fieldname(insn, 29, 3); \
1241
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1242
+ tmp = fieldname(insn, 28, 1); \
1243
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1244
+ tmp = fieldname(insn, 1, 1); \
1245
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1246
+ tmp = fieldname(insn, 0, 1); \
1247
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1248
+ return S; \
1249
+ case 39: \
1250
+ tmp = fieldname(insn, 23, 5); \
1251
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1252
+ tmp = fieldname(insn, 18, 5); \
1253
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1254
+ tmp = fieldname(insn, 13, 5); \
1255
+ if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1256
+ tmp = fieldname(insn, 12, 1); \
1257
+ if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1258
+ tmp = fieldname(insn, 29, 3); \
1259
+ if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1260
+ tmp = fieldname(insn, 28, 1); \
1261
+ if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1262
+ tmp = fieldname(insn, 1, 1); \
1263
+ if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1264
+ tmp = fieldname(insn, 0, 1); \
1265
+ if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \
1266
+ return S; \
1267
+ } \
1268
+ }
1269
+
1270
+ #define DecodeInstruction(fname, fieldname, decoder, InsnType) \
1271
+ static DecodeStatus fname(const uint8_t DecodeTable[], MCInst *MI, \
1272
+ InsnType insn, uint64_t Address, \
1273
+ MCRegisterInfo *MRI, \
1274
+ int feature) { \
1275
+ uint64_t Bits = getFeatureBits(feature); \
1276
+ const uint8_t *Ptr = DecodeTable; \
1277
+ uint32_t CurFieldValue = 0, ExpectedValue; \
1278
+ DecodeStatus S = MCDisassembler_Success; \
1279
+ unsigned Start, Len, NumToSkip, PIdx, Opc, DecodeIdx; \
1280
+ InsnType Val, FieldValue, PositiveMask, NegativeMask; \
1281
+ bool Pred, Fail; \
1282
+ for (;;) { \
1283
+ switch (*Ptr) { \
1284
+ default: \
1285
+ return MCDisassembler_Fail; \
1286
+ case MCD_OPC_ExtractField: { \
1287
+ Start = *++Ptr; \
1288
+ Len = *++Ptr; \
1289
+ ++Ptr; \
1290
+ CurFieldValue = (uint32_t) fieldname(insn, Start, Len); \
1291
+ break; \
1292
+ } \
1293
+ case MCD_OPC_FilterValue: { \
1294
+ Val = (InsnType) decodeULEB128(++Ptr, &Len); \
1295
+ Ptr += Len; \
1296
+ NumToSkip = *Ptr++; \
1297
+ NumToSkip |= (*Ptr++) << 8; \
1298
+ if (Val != CurFieldValue) \
1299
+ Ptr += NumToSkip; \
1300
+ break; \
1301
+ } \
1302
+ case MCD_OPC_CheckField: { \
1303
+ Start = *++Ptr; \
1304
+ Len = *++Ptr; \
1305
+ FieldValue = fieldname(insn, Start, Len); \
1306
+ ExpectedValue = (uint32_t) decodeULEB128(++Ptr, &Len); \
1307
+ Ptr += Len; \
1308
+ NumToSkip = *Ptr++; \
1309
+ NumToSkip |= (*Ptr++) << 8; \
1310
+ if (ExpectedValue != FieldValue) \
1311
+ Ptr += NumToSkip; \
1312
+ break; \
1313
+ } \
1314
+ case MCD_OPC_CheckPredicate: { \
1315
+ PIdx = (uint32_t) decodeULEB128(++Ptr, &Len); \
1316
+ Ptr += Len; \
1317
+ NumToSkip = *Ptr++; \
1318
+ NumToSkip |= (*Ptr++) << 8; \
1319
+ Pred = checkDecoderPredicate(PIdx, Bits); \
1320
+ if (!Pred) \
1321
+ Ptr += NumToSkip; \
1322
+ (void)Pred; \
1323
+ break; \
1324
+ } \
1325
+ case MCD_OPC_Decode: { \
1326
+ Opc = (unsigned) decodeULEB128(++Ptr, &Len); \
1327
+ Ptr += Len; \
1328
+ DecodeIdx = (unsigned) decodeULEB128(Ptr, &Len); \
1329
+ Ptr += Len; \
1330
+ MCInst_setOpcode(MI, Opc); \
1331
+ return decoder(S, DecodeIdx, insn, MI, Address, MRI); \
1332
+ } \
1333
+ case MCD_OPC_SoftFail: { \
1334
+ PositiveMask = (InsnType) decodeULEB128(++Ptr, &Len); \
1335
+ Ptr += Len; \
1336
+ NegativeMask = (InsnType) decodeULEB128(Ptr, &Len); \
1337
+ Ptr += Len; \
1338
+ Fail = (insn & PositiveMask) || (~insn & NegativeMask); \
1339
+ if (Fail) \
1340
+ S = MCDisassembler_SoftFail; \
1341
+ break; \
1342
+ } \
1343
+ case MCD_OPC_Fail: { \
1344
+ return MCDisassembler_Fail; \
1345
+ } \
1346
+ } \
1347
+ } \
1348
+ }
1349
+
1350
+ FieldFromInstruction(fieldFromInstruction_4, uint32_t)
1351
+ DecodeToMCInst(decodeToMCInst_4, fieldFromInstruction_4, uint32_t)
1352
+ DecodeInstruction(decodeInstruction_4, fieldFromInstruction_4, decodeToMCInst_4, uint32_t)