udb 0.1.3 → 0.1.5

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 (1028) hide show
  1. checksums.yaml +4 -4
  2. data/.data/cfgs/example_rv64_with_overlay.yaml +0 -2
  3. data/.data/cfgs/mc100-32-full-example.yaml +107 -0
  4. data/.data/cfgs/profile/RVA23M64.yaml +0 -2
  5. data/.data/cfgs/profile/RVB23M64.yaml +0 -2
  6. data/.data/cfgs/qc_iu.yaml +66 -2
  7. data/.data/cfgs/rv32-riscv-tests.yaml +40 -2
  8. data/.data/cfgs/rv32-vector.yaml +35 -1
  9. data/.data/cfgs/rv64-riscv-tests.yaml +39 -2
  10. data/.data/cfgs/rv64-vector.yaml +35 -1
  11. data/.data/spec/custom/isa/example/ext/Xcustom.yaml +1 -1
  12. data/.data/spec/custom/isa/qc_iu/ext/Xqccmp.yaml +3 -3
  13. data/.data/spec/custom/isa/qc_iu/ext/Xqci.yaml +14 -14
  14. data/.data/spec/custom/isa/qc_iu/ext/Xqcia.yaml +7 -7
  15. data/.data/spec/custom/isa/qc_iu/ext/Xqciac.yaml +3 -3
  16. data/.data/spec/custom/isa/qc_iu/ext/Xqcibi.yaml +2 -2
  17. data/.data/spec/custom/isa/qc_iu/ext/Xqcibm.yaml +8 -8
  18. data/.data/spec/custom/isa/qc_iu/ext/Xqcicli.yaml +3 -3
  19. data/.data/spec/custom/isa/qc_iu/ext/Xqcicm.yaml +2 -2
  20. data/.data/spec/custom/isa/qc_iu/ext/Xqcics.yaml +2 -2
  21. data/.data/spec/custom/isa/qc_iu/ext/Xqcicsr.yaml +4 -4
  22. data/.data/spec/custom/isa/qc_iu/ext/Xqciint.yaml +10 -10
  23. data/.data/spec/custom/isa/qc_iu/ext/Xqciio.yaml +1 -1
  24. data/.data/spec/custom/isa/qc_iu/ext/Xqcilb.yaml +2 -2
  25. data/.data/spec/custom/isa/qc_iu/ext/Xqcili.yaml +2 -2
  26. data/.data/spec/custom/isa/qc_iu/ext/Xqcilia.yaml +2 -2
  27. data/.data/spec/custom/isa/qc_iu/ext/Xqcilo.yaml +3 -3
  28. data/.data/spec/custom/isa/qc_iu/ext/Xqcilsm.yaml +6 -6
  29. data/.data/spec/custom/isa/qc_iu/ext/Xqcisim.yaml +2 -2
  30. data/.data/spec/custom/isa/qc_iu/ext/Xqcisls.yaml +2 -2
  31. data/.data/spec/custom/isa/qc_iu/ext/Xqcisync.yaml +3 -3
  32. data/.data/spec/custom/isa/regress/manual_version/isa/regress/isa_regress.yaml +0 -2
  33. data/.data/spec/schemas/ext_schema.json +58 -8
  34. data/.data/spec/schemas/inst_schema.json +1 -5
  35. data/.data/spec/std/isa/csr/H/henvcfg.yaml +32 -0
  36. data/.data/spec/std/isa/csr/I/pmpaddr0.yaml +6 -2
  37. data/.data/spec/std/isa/csr/I/pmpaddr1.yaml +6 -2
  38. data/.data/spec/std/isa/csr/I/pmpaddr10.yaml +6 -2
  39. data/.data/spec/std/isa/csr/I/pmpaddr11.yaml +6 -2
  40. data/.data/spec/std/isa/csr/I/pmpaddr12.yaml +6 -2
  41. data/.data/spec/std/isa/csr/I/pmpaddr13.yaml +6 -2
  42. data/.data/spec/std/isa/csr/I/pmpaddr14.yaml +6 -2
  43. data/.data/spec/std/isa/csr/I/pmpaddr15.yaml +6 -2
  44. data/.data/spec/std/isa/csr/I/pmpaddr16.yaml +6 -2
  45. data/.data/spec/std/isa/csr/I/pmpaddr17.yaml +6 -2
  46. data/.data/spec/std/isa/csr/I/pmpaddr18.yaml +6 -2
  47. data/.data/spec/std/isa/csr/I/pmpaddr19.yaml +6 -2
  48. data/.data/spec/std/isa/csr/I/pmpaddr2.yaml +6 -2
  49. data/.data/spec/std/isa/csr/I/pmpaddr20.yaml +6 -2
  50. data/.data/spec/std/isa/csr/I/pmpaddr21.yaml +6 -2
  51. data/.data/spec/std/isa/csr/I/pmpaddr22.yaml +6 -2
  52. data/.data/spec/std/isa/csr/I/pmpaddr23.yaml +6 -2
  53. data/.data/spec/std/isa/csr/I/pmpaddr24.yaml +6 -2
  54. data/.data/spec/std/isa/csr/I/pmpaddr25.yaml +6 -2
  55. data/.data/spec/std/isa/csr/I/pmpaddr26.yaml +6 -2
  56. data/.data/spec/std/isa/csr/I/pmpaddr27.yaml +6 -2
  57. data/.data/spec/std/isa/csr/I/pmpaddr28.yaml +6 -2
  58. data/.data/spec/std/isa/csr/I/pmpaddr29.yaml +6 -2
  59. data/.data/spec/std/isa/csr/I/pmpaddr3.yaml +6 -2
  60. data/.data/spec/std/isa/csr/I/pmpaddr30.yaml +6 -2
  61. data/.data/spec/std/isa/csr/I/pmpaddr31.yaml +6 -2
  62. data/.data/spec/std/isa/csr/I/pmpaddr32.yaml +6 -2
  63. data/.data/spec/std/isa/csr/I/pmpaddr33.yaml +6 -2
  64. data/.data/spec/std/isa/csr/I/pmpaddr34.yaml +6 -2
  65. data/.data/spec/std/isa/csr/I/pmpaddr35.yaml +6 -2
  66. data/.data/spec/std/isa/csr/I/pmpaddr36.yaml +6 -2
  67. data/.data/spec/std/isa/csr/I/pmpaddr37.yaml +6 -2
  68. data/.data/spec/std/isa/csr/I/pmpaddr38.yaml +6 -2
  69. data/.data/spec/std/isa/csr/I/pmpaddr39.yaml +6 -2
  70. data/.data/spec/std/isa/csr/I/pmpaddr4.yaml +6 -2
  71. data/.data/spec/std/isa/csr/I/pmpaddr40.yaml +6 -2
  72. data/.data/spec/std/isa/csr/I/pmpaddr41.yaml +6 -2
  73. data/.data/spec/std/isa/csr/I/pmpaddr42.yaml +6 -2
  74. data/.data/spec/std/isa/csr/I/pmpaddr43.yaml +6 -2
  75. data/.data/spec/std/isa/csr/I/pmpaddr44.yaml +6 -2
  76. data/.data/spec/std/isa/csr/I/pmpaddr45.yaml +6 -2
  77. data/.data/spec/std/isa/csr/I/pmpaddr46.yaml +6 -2
  78. data/.data/spec/std/isa/csr/I/pmpaddr47.yaml +6 -2
  79. data/.data/spec/std/isa/csr/I/pmpaddr48.yaml +6 -2
  80. data/.data/spec/std/isa/csr/I/pmpaddr49.yaml +6 -2
  81. data/.data/spec/std/isa/csr/I/pmpaddr5.yaml +6 -2
  82. data/.data/spec/std/isa/csr/I/pmpaddr50.yaml +6 -2
  83. data/.data/spec/std/isa/csr/I/pmpaddr51.yaml +6 -2
  84. data/.data/spec/std/isa/csr/I/pmpaddr52.yaml +6 -2
  85. data/.data/spec/std/isa/csr/I/pmpaddr53.yaml +6 -2
  86. data/.data/spec/std/isa/csr/I/pmpaddr54.yaml +6 -2
  87. data/.data/spec/std/isa/csr/I/pmpaddr55.yaml +6 -2
  88. data/.data/spec/std/isa/csr/I/pmpaddr56.yaml +6 -2
  89. data/.data/spec/std/isa/csr/I/pmpaddr57.yaml +6 -2
  90. data/.data/spec/std/isa/csr/I/pmpaddr58.yaml +6 -2
  91. data/.data/spec/std/isa/csr/I/pmpaddr59.yaml +6 -2
  92. data/.data/spec/std/isa/csr/I/pmpaddr6.yaml +6 -2
  93. data/.data/spec/std/isa/csr/I/pmpaddr60.yaml +6 -2
  94. data/.data/spec/std/isa/csr/I/pmpaddr61.yaml +6 -2
  95. data/.data/spec/std/isa/csr/I/pmpaddr62.yaml +6 -2
  96. data/.data/spec/std/isa/csr/I/pmpaddr63.yaml +6 -2
  97. data/.data/spec/std/isa/csr/I/pmpaddr7.yaml +6 -2
  98. data/.data/spec/std/isa/csr/I/pmpaddr8.yaml +6 -2
  99. data/.data/spec/std/isa/csr/I/pmpaddr9.yaml +6 -2
  100. data/.data/spec/std/isa/csr/I/pmpaddrN.layout +6 -2
  101. data/.data/spec/std/isa/csr/I/pmpcfg0.yaml +6 -2
  102. data/.data/spec/std/isa/csr/I/pmpcfg1.yaml +5 -2
  103. data/.data/spec/std/isa/csr/I/pmpcfg10.yaml +6 -2
  104. data/.data/spec/std/isa/csr/I/pmpcfg11.yaml +5 -2
  105. data/.data/spec/std/isa/csr/I/pmpcfg12.yaml +6 -2
  106. data/.data/spec/std/isa/csr/I/pmpcfg13.yaml +5 -2
  107. data/.data/spec/std/isa/csr/I/pmpcfg14.yaml +6 -2
  108. data/.data/spec/std/isa/csr/I/pmpcfg15.yaml +5 -2
  109. data/.data/spec/std/isa/csr/I/pmpcfg2.yaml +6 -2
  110. data/.data/spec/std/isa/csr/I/pmpcfg3.yaml +5 -2
  111. data/.data/spec/std/isa/csr/I/pmpcfg4.yaml +6 -2
  112. data/.data/spec/std/isa/csr/I/pmpcfg5.yaml +5 -2
  113. data/.data/spec/std/isa/csr/I/pmpcfg6.yaml +6 -2
  114. data/.data/spec/std/isa/csr/I/pmpcfg7.yaml +5 -2
  115. data/.data/spec/std/isa/csr/I/pmpcfg8.yaml +6 -2
  116. data/.data/spec/std/isa/csr/I/pmpcfg9.yaml +5 -2
  117. data/.data/spec/std/isa/csr/I/pmpcfgN.layout +11 -4
  118. data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.layout +7 -2
  119. data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.yaml +203 -58
  120. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10.yaml +7 -2
  121. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10h.yaml +6 -2
  122. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11.yaml +7 -2
  123. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11h.yaml +6 -2
  124. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12.yaml +7 -2
  125. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12h.yaml +6 -2
  126. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13.yaml +7 -2
  127. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13h.yaml +6 -2
  128. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14.yaml +7 -2
  129. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14h.yaml +6 -2
  130. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15.yaml +7 -2
  131. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15h.yaml +6 -2
  132. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16.yaml +7 -2
  133. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16h.yaml +6 -2
  134. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17.yaml +7 -2
  135. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17h.yaml +6 -2
  136. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18.yaml +7 -2
  137. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18h.yaml +6 -2
  138. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19.yaml +7 -2
  139. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19h.yaml +6 -2
  140. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20.yaml +7 -2
  141. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20h.yaml +6 -2
  142. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21.yaml +7 -2
  143. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21h.yaml +6 -2
  144. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22.yaml +7 -2
  145. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22h.yaml +6 -2
  146. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23.yaml +7 -2
  147. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23h.yaml +6 -2
  148. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24.yaml +7 -2
  149. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24h.yaml +6 -2
  150. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25.yaml +7 -2
  151. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25h.yaml +6 -2
  152. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26.yaml +7 -2
  153. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26h.yaml +6 -2
  154. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27.yaml +7 -2
  155. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27h.yaml +6 -2
  156. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28.yaml +7 -2
  157. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28h.yaml +6 -2
  158. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29.yaml +7 -2
  159. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29h.yaml +6 -2
  160. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3.yaml +7 -2
  161. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30.yaml +7 -2
  162. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30h.yaml +6 -2
  163. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31.yaml +7 -2
  164. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31h.yaml +6 -2
  165. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3h.yaml +6 -2
  166. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4.yaml +7 -2
  167. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4h.yaml +6 -2
  168. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5.yaml +7 -2
  169. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5h.yaml +6 -2
  170. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6.yaml +7 -2
  171. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6h.yaml +6 -2
  172. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7.yaml +7 -2
  173. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7h.yaml +6 -2
  174. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8.yaml +7 -2
  175. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8h.yaml +6 -2
  176. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9.yaml +7 -2
  177. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9h.yaml +6 -2
  178. data/.data/spec/std/isa/csr/Zihpm/mhpmcounterN.layout +7 -2
  179. data/.data/spec/std/isa/csr/Zihpm/mhpmcounterNh.layout +6 -2
  180. data/.data/spec/std/isa/csr/Zihpm/mhpmevent10.yaml +7 -2
  181. data/.data/spec/std/isa/csr/Zihpm/mhpmevent10h.yaml +6 -2
  182. data/.data/spec/std/isa/csr/Zihpm/mhpmevent11.yaml +7 -2
  183. data/.data/spec/std/isa/csr/Zihpm/mhpmevent11h.yaml +6 -2
  184. data/.data/spec/std/isa/csr/Zihpm/mhpmevent12.yaml +7 -2
  185. data/.data/spec/std/isa/csr/Zihpm/mhpmevent12h.yaml +6 -2
  186. data/.data/spec/std/isa/csr/Zihpm/mhpmevent13.yaml +7 -2
  187. data/.data/spec/std/isa/csr/Zihpm/mhpmevent13h.yaml +6 -2
  188. data/.data/spec/std/isa/csr/Zihpm/mhpmevent14.yaml +7 -2
  189. data/.data/spec/std/isa/csr/Zihpm/mhpmevent14h.yaml +6 -2
  190. data/.data/spec/std/isa/csr/Zihpm/mhpmevent15.yaml +7 -2
  191. data/.data/spec/std/isa/csr/Zihpm/mhpmevent15h.yaml +6 -2
  192. data/.data/spec/std/isa/csr/Zihpm/mhpmevent16.yaml +7 -2
  193. data/.data/spec/std/isa/csr/Zihpm/mhpmevent16h.yaml +6 -2
  194. data/.data/spec/std/isa/csr/Zihpm/mhpmevent17.yaml +7 -2
  195. data/.data/spec/std/isa/csr/Zihpm/mhpmevent17h.yaml +6 -2
  196. data/.data/spec/std/isa/csr/Zihpm/mhpmevent18.yaml +7 -2
  197. data/.data/spec/std/isa/csr/Zihpm/mhpmevent18h.yaml +6 -2
  198. data/.data/spec/std/isa/csr/Zihpm/mhpmevent19.yaml +7 -2
  199. data/.data/spec/std/isa/csr/Zihpm/mhpmevent19h.yaml +6 -2
  200. data/.data/spec/std/isa/csr/Zihpm/mhpmevent20.yaml +7 -2
  201. data/.data/spec/std/isa/csr/Zihpm/mhpmevent20h.yaml +6 -2
  202. data/.data/spec/std/isa/csr/Zihpm/mhpmevent21.yaml +7 -2
  203. data/.data/spec/std/isa/csr/Zihpm/mhpmevent21h.yaml +6 -2
  204. data/.data/spec/std/isa/csr/Zihpm/mhpmevent22.yaml +7 -2
  205. data/.data/spec/std/isa/csr/Zihpm/mhpmevent22h.yaml +6 -2
  206. data/.data/spec/std/isa/csr/Zihpm/mhpmevent23.yaml +7 -2
  207. data/.data/spec/std/isa/csr/Zihpm/mhpmevent23h.yaml +6 -2
  208. data/.data/spec/std/isa/csr/Zihpm/mhpmevent24.yaml +7 -2
  209. data/.data/spec/std/isa/csr/Zihpm/mhpmevent24h.yaml +6 -2
  210. data/.data/spec/std/isa/csr/Zihpm/mhpmevent25.yaml +7 -2
  211. data/.data/spec/std/isa/csr/Zihpm/mhpmevent25h.yaml +6 -2
  212. data/.data/spec/std/isa/csr/Zihpm/mhpmevent26.yaml +7 -2
  213. data/.data/spec/std/isa/csr/Zihpm/mhpmevent26h.yaml +6 -2
  214. data/.data/spec/std/isa/csr/Zihpm/mhpmevent27.yaml +7 -2
  215. data/.data/spec/std/isa/csr/Zihpm/mhpmevent27h.yaml +6 -2
  216. data/.data/spec/std/isa/csr/Zihpm/mhpmevent28.yaml +7 -2
  217. data/.data/spec/std/isa/csr/Zihpm/mhpmevent28h.yaml +6 -2
  218. data/.data/spec/std/isa/csr/Zihpm/mhpmevent29.yaml +7 -2
  219. data/.data/spec/std/isa/csr/Zihpm/mhpmevent29h.yaml +6 -2
  220. data/.data/spec/std/isa/csr/Zihpm/mhpmevent3.yaml +7 -2
  221. data/.data/spec/std/isa/csr/Zihpm/mhpmevent30.yaml +7 -2
  222. data/.data/spec/std/isa/csr/Zihpm/mhpmevent30h.yaml +6 -2
  223. data/.data/spec/std/isa/csr/Zihpm/mhpmevent31.yaml +7 -2
  224. data/.data/spec/std/isa/csr/Zihpm/mhpmevent31h.yaml +6 -2
  225. data/.data/spec/std/isa/csr/Zihpm/mhpmevent3h.yaml +6 -2
  226. data/.data/spec/std/isa/csr/Zihpm/mhpmevent4.yaml +7 -2
  227. data/.data/spec/std/isa/csr/Zihpm/mhpmevent4h.yaml +6 -2
  228. data/.data/spec/std/isa/csr/Zihpm/mhpmevent5.yaml +7 -2
  229. data/.data/spec/std/isa/csr/Zihpm/mhpmevent5h.yaml +6 -2
  230. data/.data/spec/std/isa/csr/Zihpm/mhpmevent6.yaml +7 -2
  231. data/.data/spec/std/isa/csr/Zihpm/mhpmevent6h.yaml +6 -2
  232. data/.data/spec/std/isa/csr/Zihpm/mhpmevent7.yaml +7 -2
  233. data/.data/spec/std/isa/csr/Zihpm/mhpmevent7h.yaml +6 -2
  234. data/.data/spec/std/isa/csr/Zihpm/mhpmevent8.yaml +7 -2
  235. data/.data/spec/std/isa/csr/Zihpm/mhpmevent8h.yaml +6 -2
  236. data/.data/spec/std/isa/csr/Zihpm/mhpmevent9.yaml +7 -2
  237. data/.data/spec/std/isa/csr/Zihpm/mhpmevent9h.yaml +6 -2
  238. data/.data/spec/std/isa/csr/Zihpm/mhpmeventN.layout +7 -2
  239. data/.data/spec/std/isa/csr/Zihpm/mhpmeventNh.layout +6 -2
  240. data/.data/spec/std/isa/csr/menvcfg.yaml +22 -0
  241. data/.data/spec/std/isa/csr/senvcfg.yaml +32 -0
  242. data/.data/spec/std/isa/csr/ssp.yaml +52 -0
  243. data/.data/spec/std/isa/ext/Sscofpmf.yaml +11 -2
  244. data/.data/spec/std/isa/ext/Sv57.yaml +1 -1
  245. data/.data/spec/std/isa/ext/Zihpm.yaml +11 -2
  246. data/.data/spec/std/isa/inst/B/andn.yaml +0 -28
  247. data/.data/spec/std/isa/inst/B/clmul.yaml +0 -16
  248. data/.data/spec/std/isa/inst/B/clmulh.yaml +0 -16
  249. data/.data/spec/std/isa/inst/B/orn.yaml +0 -28
  250. data/.data/spec/std/isa/inst/B/rev8.yaml +0 -15
  251. data/.data/spec/std/isa/inst/B/rol.yaml +0 -28
  252. data/.data/spec/std/isa/inst/B/rolw.yaml +0 -17
  253. data/.data/spec/std/isa/inst/B/ror.yaml +0 -28
  254. data/.data/spec/std/isa/inst/B/rori.yaml +0 -15
  255. data/.data/spec/std/isa/inst/B/roriw.yaml +0 -13
  256. data/.data/spec/std/isa/inst/B/rorw.yaml +0 -17
  257. data/.data/spec/std/isa/inst/B/xnor.yaml +0 -28
  258. data/.data/spec/std/isa/inst/C/c.add.yaml +0 -13
  259. data/.data/spec/std/isa/inst/C/c.addw.yaml +0 -20
  260. data/.data/spec/std/isa/inst/C/c.and.yaml +0 -31
  261. data/.data/spec/std/isa/inst/C/c.andi.yaml +0 -21
  262. data/.data/spec/std/isa/inst/C/c.beqz.yaml +0 -38
  263. data/.data/spec/std/isa/inst/C/c.bnez.yaml +0 -38
  264. data/.data/spec/std/isa/inst/C/c.ebreak.yaml +0 -11
  265. data/.data/spec/std/isa/inst/C/c.ld.yaml +0 -33
  266. data/.data/spec/std/isa/inst/C/c.lw.yaml +0 -33
  267. data/.data/spec/std/isa/inst/C/c.mv.yaml +0 -12
  268. data/.data/spec/std/isa/inst/C/c.or.yaml +0 -31
  269. data/.data/spec/std/isa/inst/C/c.slli.yaml +0 -24
  270. data/.data/spec/std/isa/inst/C/c.srai.yaml +0 -24
  271. data/.data/spec/std/isa/inst/C/c.srli.yaml +0 -24
  272. data/.data/spec/std/isa/inst/C/c.sub.yaml +0 -31
  273. data/.data/spec/std/isa/inst/C/c.subw.yaml +0 -20
  274. data/.data/spec/std/isa/inst/C/c.xor.yaml +0 -31
  275. data/.data/spec/std/isa/inst/F/fadd.s.yaml +12 -23
  276. data/.data/spec/std/isa/inst/F/fclass.s.yaml +7 -13
  277. data/.data/spec/std/isa/inst/F/fcvt.l.s.yaml +3 -22
  278. data/.data/spec/std/isa/inst/F/fcvt.lu.s.yaml +3 -22
  279. data/.data/spec/std/isa/inst/F/fcvt.s.l.yaml +4 -22
  280. data/.data/spec/std/isa/inst/F/fcvt.s.lu.yaml +4 -22
  281. data/.data/spec/std/isa/inst/F/fcvt.s.w.yaml +0 -22
  282. data/.data/spec/std/isa/inst/F/fcvt.s.wu.yaml +0 -21
  283. data/.data/spec/std/isa/inst/F/fcvt.w.s.yaml +1 -23
  284. data/.data/spec/std/isa/inst/F/fcvt.wu.s.yaml +1 -22
  285. data/.data/spec/std/isa/inst/F/fdiv.s.yaml +4 -26
  286. data/.data/spec/std/isa/inst/F/feq.s.yaml +1 -19
  287. data/.data/spec/std/isa/inst/F/fle.s.yaml +14 -25
  288. data/.data/spec/std/isa/inst/F/fleq.s.yaml +26 -14
  289. data/.data/spec/std/isa/inst/F/flt.s.yaml +13 -26
  290. data/.data/spec/std/isa/inst/F/fltq.s.yaml +17 -14
  291. data/.data/spec/std/isa/inst/F/flw.yaml +0 -34
  292. data/.data/spec/std/isa/inst/F/fmadd.s.yaml +4 -28
  293. data/.data/spec/std/isa/inst/F/fmax.s.yaml +27 -15
  294. data/.data/spec/std/isa/inst/F/fmin.s.yaml +27 -15
  295. data/.data/spec/std/isa/inst/F/fmsub.s.yaml +4 -28
  296. data/.data/spec/std/isa/inst/F/fmul.s.yaml +4 -26
  297. data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +0 -13
  298. data/.data/spec/std/isa/inst/F/fmv.x.w.yaml +0 -13
  299. data/.data/spec/std/isa/inst/F/fnmadd.s.yaml +7 -28
  300. data/.data/spec/std/isa/inst/F/fnmsub.s.yaml +4 -28
  301. data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +0 -18
  302. data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +0 -18
  303. data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +0 -18
  304. data/.data/spec/std/isa/inst/F/fsqrt.s.yaml +4 -22
  305. data/.data/spec/std/isa/inst/F/fsub.s.yaml +0 -25
  306. data/.data/spec/std/isa/inst/F/fsw.yaml +0 -44
  307. data/.data/spec/std/isa/inst/I/add.yaml +0 -31
  308. data/.data/spec/std/isa/inst/I/addi.yaml +0 -21
  309. data/.data/spec/std/isa/inst/I/addiw.yaml +0 -12
  310. data/.data/spec/std/isa/inst/I/addw.yaml +0 -20
  311. data/.data/spec/std/isa/inst/I/and.yaml +0 -31
  312. data/.data/spec/std/isa/inst/I/andi.yaml +0 -21
  313. data/.data/spec/std/isa/inst/I/auipc.yaml +0 -16
  314. data/.data/spec/std/isa/inst/I/beq.yaml +0 -38
  315. data/.data/spec/std/isa/inst/I/bge.yaml +0 -38
  316. data/.data/spec/std/isa/inst/I/bgeu.yaml +0 -38
  317. data/.data/spec/std/isa/inst/I/blt.yaml +0 -38
  318. data/.data/spec/std/isa/inst/I/bltu.yaml +0 -38
  319. data/.data/spec/std/isa/inst/I/bne.yaml +0 -38
  320. data/.data/spec/std/isa/inst/I/ebreak.yaml +0 -11
  321. data/.data/spec/std/isa/inst/I/ecall.yaml +0 -19
  322. data/.data/spec/std/isa/inst/I/fence.tso.yaml +0 -12
  323. data/.data/spec/std/isa/inst/I/fence.yaml +0 -32
  324. data/.data/spec/std/isa/inst/I/jal.yaml +0 -29
  325. data/.data/spec/std/isa/inst/I/jalr.yaml +0 -34
  326. data/.data/spec/std/isa/inst/I/lb.yaml +0 -33
  327. data/.data/spec/std/isa/inst/I/lbu.yaml +0 -33
  328. data/.data/spec/std/isa/inst/I/ld.yaml +0 -33
  329. data/.data/spec/std/isa/inst/I/lh.yaml +0 -33
  330. data/.data/spec/std/isa/inst/I/lhu.yaml +0 -33
  331. data/.data/spec/std/isa/inst/I/lui.yaml +0 -16
  332. data/.data/spec/std/isa/inst/I/lw.yaml +0 -33
  333. data/.data/spec/std/isa/inst/I/lwu.yaml +0 -33
  334. data/.data/spec/std/isa/inst/I/mret.yaml +0 -17
  335. data/.data/spec/std/isa/inst/I/or.yaml +0 -31
  336. data/.data/spec/std/isa/inst/I/ori.yaml +0 -21
  337. data/.data/spec/std/isa/inst/I/sb.yaml +0 -48
  338. data/.data/spec/std/isa/inst/I/sd.yaml +0 -48
  339. data/.data/spec/std/isa/inst/I/sh.yaml +0 -48
  340. data/.data/spec/std/isa/inst/I/sll.yaml +0 -31
  341. data/.data/spec/std/isa/inst/I/slli.yaml +0 -24
  342. data/.data/spec/std/isa/inst/I/slliw.yaml +0 -17
  343. data/.data/spec/std/isa/inst/I/sllw.yaml +0 -20
  344. data/.data/spec/std/isa/inst/I/slt.yaml +0 -31
  345. data/.data/spec/std/isa/inst/I/slti.yaml +0 -21
  346. data/.data/spec/std/isa/inst/I/sltiu.yaml +0 -21
  347. data/.data/spec/std/isa/inst/I/sltu.yaml +0 -31
  348. data/.data/spec/std/isa/inst/I/sra.yaml +0 -31
  349. data/.data/spec/std/isa/inst/I/srai.yaml +0 -24
  350. data/.data/spec/std/isa/inst/I/sraiw.yaml +0 -17
  351. data/.data/spec/std/isa/inst/I/sraw.yaml +0 -20
  352. data/.data/spec/std/isa/inst/I/srl.yaml +0 -31
  353. data/.data/spec/std/isa/inst/I/srli.yaml +0 -24
  354. data/.data/spec/std/isa/inst/I/srliw.yaml +0 -17
  355. data/.data/spec/std/isa/inst/I/srlw.yaml +0 -20
  356. data/.data/spec/std/isa/inst/I/sub.yaml +0 -31
  357. data/.data/spec/std/isa/inst/I/subw.yaml +0 -20
  358. data/.data/spec/std/isa/inst/I/sw.yaml +0 -48
  359. data/.data/spec/std/isa/inst/I/wfi.yaml +0 -14
  360. data/.data/spec/std/isa/inst/I/xor.yaml +0 -31
  361. data/.data/spec/std/isa/inst/I/xori.yaml +0 -21
  362. data/.data/spec/std/isa/inst/M/div.yaml +0 -23
  363. data/.data/spec/std/isa/inst/M/divu.yaml +0 -23
  364. data/.data/spec/std/isa/inst/M/divuw.yaml +0 -23
  365. data/.data/spec/std/isa/inst/M/divw.yaml +0 -23
  366. data/.data/spec/std/isa/inst/M/mul.yaml +0 -24
  367. data/.data/spec/std/isa/inst/M/mulh.yaml +0 -24
  368. data/.data/spec/std/isa/inst/M/mulhsu.yaml +0 -24
  369. data/.data/spec/std/isa/inst/M/mulhu.yaml +0 -24
  370. data/.data/spec/std/isa/inst/M/mulw.yaml +0 -23
  371. data/.data/spec/std/isa/inst/M/rem.yaml +0 -22
  372. data/.data/spec/std/isa/inst/M/remu.yaml +0 -22
  373. data/.data/spec/std/isa/inst/M/remuw.yaml +0 -22
  374. data/.data/spec/std/isa/inst/M/remw.yaml +0 -22
  375. data/.data/spec/std/isa/inst/README.md +1 -5
  376. data/.data/spec/std/isa/inst/S/sfence.vma.yaml +0 -20
  377. data/.data/spec/std/isa/inst/S/sret.yaml +0 -22
  378. data/.data/spec/std/isa/inst/V/vaadd.vv.yaml +0 -83
  379. data/.data/spec/std/isa/inst/V/vaadd.vx.yaml +0 -92
  380. data/.data/spec/std/isa/inst/V/vaaddu.vv.yaml +0 -83
  381. data/.data/spec/std/isa/inst/V/vaaddu.vx.yaml +0 -92
  382. data/.data/spec/std/isa/inst/V/vadc.vim.yaml +0 -44
  383. data/.data/spec/std/isa/inst/V/vadc.vvm.yaml +0 -45
  384. data/.data/spec/std/isa/inst/V/vadc.vxm.yaml +0 -45
  385. data/.data/spec/std/isa/inst/V/vadd.vi.yaml +0 -68
  386. data/.data/spec/std/isa/inst/V/vadd.vv.yaml +0 -101
  387. data/.data/spec/std/isa/inst/V/vadd.vx.yaml +0 -84
  388. data/.data/spec/std/isa/inst/V/vand.vi.yaml +0 -68
  389. data/.data/spec/std/isa/inst/V/vand.vv.yaml +0 -101
  390. data/.data/spec/std/isa/inst/V/vand.vx.yaml +0 -84
  391. data/.data/spec/std/isa/inst/V/vasub.vv.yaml +0 -83
  392. data/.data/spec/std/isa/inst/V/vasub.vx.yaml +0 -92
  393. data/.data/spec/std/isa/inst/V/vasubu.vv.yaml +0 -83
  394. data/.data/spec/std/isa/inst/V/vasubu.vx.yaml +0 -92
  395. data/.data/spec/std/isa/inst/V/vcompress.vm.yaml +0 -54
  396. data/.data/spec/std/isa/inst/V/vdiv.vv.yaml +0 -83
  397. data/.data/spec/std/isa/inst/V/vdiv.vx.yaml +0 -92
  398. data/.data/spec/std/isa/inst/V/vdivu.vv.yaml +0 -83
  399. data/.data/spec/std/isa/inst/V/vdivu.vx.yaml +0 -92
  400. data/.data/spec/std/isa/inst/V/vfadd.vf.yaml +0 -59
  401. data/.data/spec/std/isa/inst/V/vfadd.vv.yaml +0 -48
  402. data/.data/spec/std/isa/inst/V/vfclass.v.yaml +0 -66
  403. data/.data/spec/std/isa/inst/V/vfcvt.f.x.v.yaml +0 -91
  404. data/.data/spec/std/isa/inst/V/vfcvt.f.xu.v.yaml +0 -91
  405. data/.data/spec/std/isa/inst/V/vfcvt.rtz.x.f.v.yaml +0 -91
  406. data/.data/spec/std/isa/inst/V/vfcvt.rtz.xu.f.v.yaml +0 -91
  407. data/.data/spec/std/isa/inst/V/vfcvt.x.f.v.yaml +0 -91
  408. data/.data/spec/std/isa/inst/V/vfcvt.xu.f.v.yaml +0 -91
  409. data/.data/spec/std/isa/inst/V/vfdiv.vf.yaml +0 -59
  410. data/.data/spec/std/isa/inst/V/vfdiv.vv.yaml +0 -48
  411. data/.data/spec/std/isa/inst/V/vfirst.m.yaml +0 -35
  412. data/.data/spec/std/isa/inst/V/vfmacc.vf.yaml +0 -47
  413. data/.data/spec/std/isa/inst/V/vfmacc.vv.yaml +0 -47
  414. data/.data/spec/std/isa/inst/V/vfmadd.vf.yaml +0 -47
  415. data/.data/spec/std/isa/inst/V/vfmadd.vv.yaml +0 -47
  416. data/.data/spec/std/isa/inst/V/vfmax.vf.yaml +0 -59
  417. data/.data/spec/std/isa/inst/V/vfmax.vv.yaml +0 -48
  418. data/.data/spec/std/isa/inst/V/vfmerge.vfm.yaml +0 -47
  419. data/.data/spec/std/isa/inst/V/vfmin.vf.yaml +0 -59
  420. data/.data/spec/std/isa/inst/V/vfmin.vv.yaml +0 -48
  421. data/.data/spec/std/isa/inst/V/vfmsac.vf.yaml +0 -47
  422. data/.data/spec/std/isa/inst/V/vfmsac.vv.yaml +0 -47
  423. data/.data/spec/std/isa/inst/V/vfmsub.vf.yaml +0 -47
  424. data/.data/spec/std/isa/inst/V/vfmsub.vv.yaml +0 -47
  425. data/.data/spec/std/isa/inst/V/vfmul.vf.yaml +0 -59
  426. data/.data/spec/std/isa/inst/V/vfmul.vv.yaml +0 -48
  427. data/.data/spec/std/isa/inst/V/vfmv.f.s.yaml +0 -29
  428. data/.data/spec/std/isa/inst/V/vfmv.s.f.yaml +0 -42
  429. data/.data/spec/std/isa/inst/V/vfmv.v.f.yaml +0 -35
  430. data/.data/spec/std/isa/inst/V/vfncvt.f.f.w.yaml +0 -114
  431. data/.data/spec/std/isa/inst/V/vfncvt.f.x.w.yaml +0 -114
  432. data/.data/spec/std/isa/inst/V/vfncvt.f.xu.w.yaml +0 -114
  433. data/.data/spec/std/isa/inst/V/vfncvt.rod.f.f.w.yaml +0 -114
  434. data/.data/spec/std/isa/inst/V/vfncvt.rtz.x.f.w.yaml +0 -114
  435. data/.data/spec/std/isa/inst/V/vfncvt.rtz.xu.f.w.yaml +0 -114
  436. data/.data/spec/std/isa/inst/V/vfncvt.x.f.w.yaml +0 -114
  437. data/.data/spec/std/isa/inst/V/vfncvt.xu.f.w.yaml +0 -114
  438. data/.data/spec/std/isa/inst/V/vfnmacc.vf.yaml +0 -47
  439. data/.data/spec/std/isa/inst/V/vfnmacc.vv.yaml +0 -47
  440. data/.data/spec/std/isa/inst/V/vfnmadd.vf.yaml +0 -47
  441. data/.data/spec/std/isa/inst/V/vfnmadd.vv.yaml +0 -47
  442. data/.data/spec/std/isa/inst/V/vfnmsac.vf.yaml +0 -47
  443. data/.data/spec/std/isa/inst/V/vfnmsac.vv.yaml +0 -47
  444. data/.data/spec/std/isa/inst/V/vfnmsub.vf.yaml +0 -47
  445. data/.data/spec/std/isa/inst/V/vfnmsub.vv.yaml +0 -47
  446. data/.data/spec/std/isa/inst/V/vfrdiv.vf.yaml +0 -59
  447. data/.data/spec/std/isa/inst/V/vfrec7.v.yaml +0 -66
  448. data/.data/spec/std/isa/inst/V/vfredmax.vs.yaml +0 -17
  449. data/.data/spec/std/isa/inst/V/vfredmin.vs.yaml +0 -17
  450. data/.data/spec/std/isa/inst/V/vfredosum.vs.yaml +0 -17
  451. data/.data/spec/std/isa/inst/V/vfredusum.vs.yaml +0 -17
  452. data/.data/spec/std/isa/inst/V/vfrsqrt7.v.yaml +0 -66
  453. data/.data/spec/std/isa/inst/V/vfrsub.vf.yaml +0 -59
  454. data/.data/spec/std/isa/inst/V/vfsgnj.vf.yaml +0 -59
  455. data/.data/spec/std/isa/inst/V/vfsgnj.vv.yaml +0 -48
  456. data/.data/spec/std/isa/inst/V/vfsgnjn.vf.yaml +0 -59
  457. data/.data/spec/std/isa/inst/V/vfsgnjn.vv.yaml +0 -48
  458. data/.data/spec/std/isa/inst/V/vfsgnjx.vf.yaml +0 -59
  459. data/.data/spec/std/isa/inst/V/vfsgnjx.vv.yaml +0 -48
  460. data/.data/spec/std/isa/inst/V/vfslide1down.vf.yaml +0 -59
  461. data/.data/spec/std/isa/inst/V/vfslide1up.vf.yaml +0 -59
  462. data/.data/spec/std/isa/inst/V/vfsqrt.v.yaml +0 -66
  463. data/.data/spec/std/isa/inst/V/vfsub.vf.yaml +0 -59
  464. data/.data/spec/std/isa/inst/V/vfsub.vv.yaml +0 -48
  465. data/.data/spec/std/isa/inst/V/vfwadd.vf.yaml +0 -47
  466. data/.data/spec/std/isa/inst/V/vfwadd.vv.yaml +0 -48
  467. data/.data/spec/std/isa/inst/V/vfwadd.wf.yaml +0 -45
  468. data/.data/spec/std/isa/inst/V/vfwadd.wv.yaml +0 -46
  469. data/.data/spec/std/isa/inst/V/vfwcvt.f.f.v.yaml +0 -106
  470. data/.data/spec/std/isa/inst/V/vfwcvt.f.x.v.yaml +0 -106
  471. data/.data/spec/std/isa/inst/V/vfwcvt.f.xu.v.yaml +0 -106
  472. data/.data/spec/std/isa/inst/V/vfwcvt.rtz.x.f.v.yaml +0 -106
  473. data/.data/spec/std/isa/inst/V/vfwcvt.rtz.xu.f.v.yaml +0 -106
  474. data/.data/spec/std/isa/inst/V/vfwcvt.x.f.v.yaml +0 -106
  475. data/.data/spec/std/isa/inst/V/vfwcvt.xu.f.v.yaml +0 -106
  476. data/.data/spec/std/isa/inst/V/vfwmacc.vf.yaml +0 -48
  477. data/.data/spec/std/isa/inst/V/vfwmacc.vv.yaml +0 -49
  478. data/.data/spec/std/isa/inst/V/vfwmsac.vf.yaml +0 -48
  479. data/.data/spec/std/isa/inst/V/vfwmsac.vv.yaml +0 -49
  480. data/.data/spec/std/isa/inst/V/vfwmul.vf.yaml +0 -47
  481. data/.data/spec/std/isa/inst/V/vfwmul.vv.yaml +0 -48
  482. data/.data/spec/std/isa/inst/V/vfwnmacc.vf.yaml +0 -48
  483. data/.data/spec/std/isa/inst/V/vfwnmacc.vv.yaml +0 -49
  484. data/.data/spec/std/isa/inst/V/vfwnmsac.vf.yaml +0 -48
  485. data/.data/spec/std/isa/inst/V/vfwnmsac.vv.yaml +0 -49
  486. data/.data/spec/std/isa/inst/V/vfwredosum.vs.yaml +0 -17
  487. data/.data/spec/std/isa/inst/V/vfwredusum.vs.yaml +0 -17
  488. data/.data/spec/std/isa/inst/V/vfwsub.vf.yaml +0 -47
  489. data/.data/spec/std/isa/inst/V/vfwsub.vv.yaml +0 -48
  490. data/.data/spec/std/isa/inst/V/vfwsub.wf.yaml +0 -45
  491. data/.data/spec/std/isa/inst/V/vfwsub.wv.yaml +0 -46
  492. data/.data/spec/std/isa/inst/V/vid.v.yaml +0 -32
  493. data/.data/spec/std/isa/inst/V/viota.m.yaml +0 -38
  494. data/.data/spec/std/isa/inst/V/vle16.v.yaml +0 -21
  495. data/.data/spec/std/isa/inst/V/vle16ff.v.yaml +0 -21
  496. data/.data/spec/std/isa/inst/V/vle32.v.yaml +0 -21
  497. data/.data/spec/std/isa/inst/V/vle32ff.v.yaml +0 -21
  498. data/.data/spec/std/isa/inst/V/vle64.v.yaml +0 -21
  499. data/.data/spec/std/isa/inst/V/vle64ff.v.yaml +0 -21
  500. data/.data/spec/std/isa/inst/V/vle8.v.yaml +0 -21
  501. data/.data/spec/std/isa/inst/V/vle8ff.v.yaml +0 -21
  502. data/.data/spec/std/isa/inst/V/vlm.v.yaml +0 -19
  503. data/.data/spec/std/isa/inst/V/vloxei16.v.yaml +0 -21
  504. data/.data/spec/std/isa/inst/V/vloxei32.v.yaml +0 -21
  505. data/.data/spec/std/isa/inst/V/vloxei64.v.yaml +0 -21
  506. data/.data/spec/std/isa/inst/V/vloxei8.v.yaml +0 -21
  507. data/.data/spec/std/isa/inst/V/vlse16.v.yaml +0 -21
  508. data/.data/spec/std/isa/inst/V/vlse32.v.yaml +0 -21
  509. data/.data/spec/std/isa/inst/V/vlse64.v.yaml +0 -21
  510. data/.data/spec/std/isa/inst/V/vlse8.v.yaml +0 -21
  511. data/.data/spec/std/isa/inst/V/vluxei16.v.yaml +0 -21
  512. data/.data/spec/std/isa/inst/V/vluxei32.v.yaml +0 -21
  513. data/.data/spec/std/isa/inst/V/vluxei64.v.yaml +0 -21
  514. data/.data/spec/std/isa/inst/V/vluxei8.v.yaml +0 -21
  515. data/.data/spec/std/isa/inst/V/vmacc.vv.yaml +0 -41
  516. data/.data/spec/std/isa/inst/V/vmacc.vx.yaml +0 -41
  517. data/.data/spec/std/isa/inst/V/vmadc.vi.yaml +0 -38
  518. data/.data/spec/std/isa/inst/V/vmadc.vim.yaml +0 -39
  519. data/.data/spec/std/isa/inst/V/vmadc.vv.yaml +0 -39
  520. data/.data/spec/std/isa/inst/V/vmadc.vvm.yaml +0 -40
  521. data/.data/spec/std/isa/inst/V/vmadc.vx.yaml +0 -39
  522. data/.data/spec/std/isa/inst/V/vmadc.vxm.yaml +0 -40
  523. data/.data/spec/std/isa/inst/V/vmadd.vv.yaml +0 -41
  524. data/.data/spec/std/isa/inst/V/vmadd.vx.yaml +0 -41
  525. data/.data/spec/std/isa/inst/V/vmand.mm.yaml +0 -44
  526. data/.data/spec/std/isa/inst/V/vmax.vv.yaml +0 -101
  527. data/.data/spec/std/isa/inst/V/vmax.vx.yaml +0 -84
  528. data/.data/spec/std/isa/inst/V/vmaxu.vv.yaml +0 -101
  529. data/.data/spec/std/isa/inst/V/vmaxu.vx.yaml +0 -84
  530. data/.data/spec/std/isa/inst/V/vmerge.vim.yaml +0 -45
  531. data/.data/spec/std/isa/inst/V/vmerge.vvm.yaml +0 -45
  532. data/.data/spec/std/isa/inst/V/vmerge.vxm.yaml +0 -45
  533. data/.data/spec/std/isa/inst/V/vmfeq.vf.yaml +0 -46
  534. data/.data/spec/std/isa/inst/V/vmfeq.vv.yaml +0 -44
  535. data/.data/spec/std/isa/inst/V/vmfge.vf.yaml +0 -46
  536. data/.data/spec/std/isa/inst/V/vmfgt.vf.yaml +0 -46
  537. data/.data/spec/std/isa/inst/V/vmfle.vf.yaml +0 -46
  538. data/.data/spec/std/isa/inst/V/vmfle.vv.yaml +0 -44
  539. data/.data/spec/std/isa/inst/V/vmflt.vf.yaml +0 -46
  540. data/.data/spec/std/isa/inst/V/vmflt.vv.yaml +0 -44
  541. data/.data/spec/std/isa/inst/V/vmfne.vf.yaml +0 -46
  542. data/.data/spec/std/isa/inst/V/vmfne.vv.yaml +0 -44
  543. data/.data/spec/std/isa/inst/V/vmin.vv.yaml +0 -101
  544. data/.data/spec/std/isa/inst/V/vmin.vx.yaml +0 -84
  545. data/.data/spec/std/isa/inst/V/vminu.vv.yaml +0 -101
  546. data/.data/spec/std/isa/inst/V/vminu.vx.yaml +0 -84
  547. data/.data/spec/std/isa/inst/V/vmnand.mm.yaml +0 -44
  548. data/.data/spec/std/isa/inst/V/vmnor.mm.yaml +0 -44
  549. data/.data/spec/std/isa/inst/V/vmor.mm.yaml +0 -44
  550. data/.data/spec/std/isa/inst/V/vmsbc.vv.yaml +0 -39
  551. data/.data/spec/std/isa/inst/V/vmsbc.vvm.yaml +0 -40
  552. data/.data/spec/std/isa/inst/V/vmsbc.vx.yaml +0 -39
  553. data/.data/spec/std/isa/inst/V/vmsbc.vxm.yaml +0 -40
  554. data/.data/spec/std/isa/inst/V/vmsbf.m.yaml +0 -38
  555. data/.data/spec/std/isa/inst/V/vmseq.vi.yaml +0 -44
  556. data/.data/spec/std/isa/inst/V/vmseq.vv.yaml +0 -44
  557. data/.data/spec/std/isa/inst/V/vmseq.vx.yaml +0 -46
  558. data/.data/spec/std/isa/inst/V/vmsgt.vi.yaml +0 -44
  559. data/.data/spec/std/isa/inst/V/vmsgt.vx.yaml +0 -46
  560. data/.data/spec/std/isa/inst/V/vmsgtu.vi.yaml +0 -44
  561. data/.data/spec/std/isa/inst/V/vmsgtu.vx.yaml +0 -46
  562. data/.data/spec/std/isa/inst/V/vmsif.m.yaml +0 -38
  563. data/.data/spec/std/isa/inst/V/vmsle.vi.yaml +0 -44
  564. data/.data/spec/std/isa/inst/V/vmsle.vv.yaml +0 -44
  565. data/.data/spec/std/isa/inst/V/vmsle.vx.yaml +0 -46
  566. data/.data/spec/std/isa/inst/V/vmsleu.vi.yaml +0 -44
  567. data/.data/spec/std/isa/inst/V/vmsleu.vv.yaml +0 -44
  568. data/.data/spec/std/isa/inst/V/vmsleu.vx.yaml +0 -46
  569. data/.data/spec/std/isa/inst/V/vmslt.vv.yaml +0 -44
  570. data/.data/spec/std/isa/inst/V/vmslt.vx.yaml +0 -46
  571. data/.data/spec/std/isa/inst/V/vmsltu.vv.yaml +0 -44
  572. data/.data/spec/std/isa/inst/V/vmsltu.vx.yaml +0 -46
  573. data/.data/spec/std/isa/inst/V/vmsne.vi.yaml +0 -44
  574. data/.data/spec/std/isa/inst/V/vmsne.vv.yaml +0 -44
  575. data/.data/spec/std/isa/inst/V/vmsne.vx.yaml +0 -46
  576. data/.data/spec/std/isa/inst/V/vmsof.m.yaml +0 -42
  577. data/.data/spec/std/isa/inst/V/vmul.vv.yaml +0 -83
  578. data/.data/spec/std/isa/inst/V/vmul.vx.yaml +0 -92
  579. data/.data/spec/std/isa/inst/V/vmulh.vv.yaml +0 -83
  580. data/.data/spec/std/isa/inst/V/vmulh.vx.yaml +0 -92
  581. data/.data/spec/std/isa/inst/V/vmulhsu.vv.yaml +0 -83
  582. data/.data/spec/std/isa/inst/V/vmulhsu.vx.yaml +0 -92
  583. data/.data/spec/std/isa/inst/V/vmulhu.vv.yaml +0 -83
  584. data/.data/spec/std/isa/inst/V/vmulhu.vx.yaml +0 -92
  585. data/.data/spec/std/isa/inst/V/vmv.s.x.yaml +0 -41
  586. data/.data/spec/std/isa/inst/V/vmv.v.i.yaml +0 -33
  587. data/.data/spec/std/isa/inst/V/vmv.v.v.yaml +0 -33
  588. data/.data/spec/std/isa/inst/V/vmv.v.x.yaml +0 -33
  589. data/.data/spec/std/isa/inst/V/vmv.x.s.yaml +0 -25
  590. data/.data/spec/std/isa/inst/V/vmv1r.v.yaml +0 -33
  591. data/.data/spec/std/isa/inst/V/vmv2r.v.yaml +0 -33
  592. data/.data/spec/std/isa/inst/V/vmv4r.v.yaml +0 -33
  593. data/.data/spec/std/isa/inst/V/vmv8r.v.yaml +0 -33
  594. data/.data/spec/std/isa/inst/V/vmxnor.mm.yaml +0 -44
  595. data/.data/spec/std/isa/inst/V/vmxor.mm.yaml +0 -44
  596. data/.data/spec/std/isa/inst/V/vnclip.wi.yaml +0 -54
  597. data/.data/spec/std/isa/inst/V/vnclip.wv.yaml +0 -54
  598. data/.data/spec/std/isa/inst/V/vnclip.wx.yaml +0 -54
  599. data/.data/spec/std/isa/inst/V/vnclipu.wi.yaml +0 -54
  600. data/.data/spec/std/isa/inst/V/vnclipu.wv.yaml +0 -54
  601. data/.data/spec/std/isa/inst/V/vnclipu.wx.yaml +0 -54
  602. data/.data/spec/std/isa/inst/V/vnmsac.vv.yaml +0 -41
  603. data/.data/spec/std/isa/inst/V/vnmsac.vx.yaml +0 -41
  604. data/.data/spec/std/isa/inst/V/vnmsub.vv.yaml +0 -41
  605. data/.data/spec/std/isa/inst/V/vnmsub.vx.yaml +0 -41
  606. data/.data/spec/std/isa/inst/V/vnsra.wi.yaml +0 -53
  607. data/.data/spec/std/isa/inst/V/vnsra.wv.yaml +0 -53
  608. data/.data/spec/std/isa/inst/V/vnsra.wx.yaml +0 -53
  609. data/.data/spec/std/isa/inst/V/vnsrl.wi.yaml +0 -53
  610. data/.data/spec/std/isa/inst/V/vnsrl.wv.yaml +0 -53
  611. data/.data/spec/std/isa/inst/V/vnsrl.wx.yaml +0 -53
  612. data/.data/spec/std/isa/inst/V/vor.vi.yaml +0 -68
  613. data/.data/spec/std/isa/inst/V/vor.vv.yaml +0 -101
  614. data/.data/spec/std/isa/inst/V/vor.vx.yaml +0 -84
  615. data/.data/spec/std/isa/inst/V/vredand.vs.yaml +0 -48
  616. data/.data/spec/std/isa/inst/V/vredmax.vs.yaml +0 -48
  617. data/.data/spec/std/isa/inst/V/vredmaxu.vs.yaml +0 -48
  618. data/.data/spec/std/isa/inst/V/vredmin.vs.yaml +0 -48
  619. data/.data/spec/std/isa/inst/V/vredminu.vs.yaml +0 -48
  620. data/.data/spec/std/isa/inst/V/vredor.vs.yaml +0 -48
  621. data/.data/spec/std/isa/inst/V/vredsum.vs.yaml +0 -48
  622. data/.data/spec/std/isa/inst/V/vredxor.vs.yaml +0 -48
  623. data/.data/spec/std/isa/inst/V/vrem.vv.yaml +0 -83
  624. data/.data/spec/std/isa/inst/V/vrem.vx.yaml +0 -92
  625. data/.data/spec/std/isa/inst/V/vremu.vv.yaml +0 -83
  626. data/.data/spec/std/isa/inst/V/vremu.vx.yaml +0 -92
  627. data/.data/spec/std/isa/inst/V/vrgather.vi.yaml +0 -54
  628. data/.data/spec/std/isa/inst/V/vrgather.vv.yaml +0 -101
  629. data/.data/spec/std/isa/inst/V/vrgather.vx.yaml +0 -54
  630. data/.data/spec/std/isa/inst/V/vrgatherei16.vv.yaml +0 -101
  631. data/.data/spec/std/isa/inst/V/vrsub.vi.yaml +0 -68
  632. data/.data/spec/std/isa/inst/V/vrsub.vx.yaml +0 -84
  633. data/.data/spec/std/isa/inst/V/vsadd.vi.yaml +0 -68
  634. data/.data/spec/std/isa/inst/V/vsadd.vv.yaml +0 -101
  635. data/.data/spec/std/isa/inst/V/vsadd.vx.yaml +0 -84
  636. data/.data/spec/std/isa/inst/V/vsaddu.vi.yaml +0 -68
  637. data/.data/spec/std/isa/inst/V/vsaddu.vv.yaml +0 -101
  638. data/.data/spec/std/isa/inst/V/vsaddu.vx.yaml +0 -84
  639. data/.data/spec/std/isa/inst/V/vsbc.vvm.yaml +0 -45
  640. data/.data/spec/std/isa/inst/V/vsbc.vxm.yaml +0 -45
  641. data/.data/spec/std/isa/inst/V/vse16.v.yaml +0 -21
  642. data/.data/spec/std/isa/inst/V/vse32.v.yaml +0 -21
  643. data/.data/spec/std/isa/inst/V/vse64.v.yaml +0 -21
  644. data/.data/spec/std/isa/inst/V/vse8.v.yaml +0 -21
  645. data/.data/spec/std/isa/inst/V/vsetivli.yaml +0 -50
  646. data/.data/spec/std/isa/inst/V/vsetvl.yaml +0 -75
  647. data/.data/spec/std/isa/inst/V/vsetvli.yaml +0 -75
  648. data/.data/spec/std/isa/inst/V/vsext.vf2.yaml +0 -44
  649. data/.data/spec/std/isa/inst/V/vsext.vf4.yaml +0 -44
  650. data/.data/spec/std/isa/inst/V/vsext.vf8.yaml +0 -44
  651. data/.data/spec/std/isa/inst/V/vslide1down.vx.yaml +0 -92
  652. data/.data/spec/std/isa/inst/V/vslide1up.vx.yaml +0 -92
  653. data/.data/spec/std/isa/inst/V/vslidedown.vi.yaml +0 -54
  654. data/.data/spec/std/isa/inst/V/vslidedown.vx.yaml +0 -54
  655. data/.data/spec/std/isa/inst/V/vslideup.vi.yaml +0 -54
  656. data/.data/spec/std/isa/inst/V/vslideup.vx.yaml +0 -54
  657. data/.data/spec/std/isa/inst/V/vsll.vi.yaml +0 -68
  658. data/.data/spec/std/isa/inst/V/vsll.vv.yaml +0 -101
  659. data/.data/spec/std/isa/inst/V/vsll.vx.yaml +0 -84
  660. data/.data/spec/std/isa/inst/V/vsm.v.yaml +0 -19
  661. data/.data/spec/std/isa/inst/V/vsmul.vv.yaml +0 -101
  662. data/.data/spec/std/isa/inst/V/vsmul.vx.yaml +0 -84
  663. data/.data/spec/std/isa/inst/V/vsoxei16.v.yaml +0 -21
  664. data/.data/spec/std/isa/inst/V/vsoxei32.v.yaml +0 -21
  665. data/.data/spec/std/isa/inst/V/vsoxei64.v.yaml +0 -21
  666. data/.data/spec/std/isa/inst/V/vsoxei8.v.yaml +0 -21
  667. data/.data/spec/std/isa/inst/V/vsra.vi.yaml +0 -68
  668. data/.data/spec/std/isa/inst/V/vsra.vv.yaml +0 -101
  669. data/.data/spec/std/isa/inst/V/vsra.vx.yaml +0 -84
  670. data/.data/spec/std/isa/inst/V/vsrl.vi.yaml +0 -68
  671. data/.data/spec/std/isa/inst/V/vsrl.vv.yaml +0 -101
  672. data/.data/spec/std/isa/inst/V/vsrl.vx.yaml +0 -84
  673. data/.data/spec/std/isa/inst/V/vsse16.v.yaml +0 -21
  674. data/.data/spec/std/isa/inst/V/vsse32.v.yaml +0 -21
  675. data/.data/spec/std/isa/inst/V/vsse64.v.yaml +0 -21
  676. data/.data/spec/std/isa/inst/V/vsse8.v.yaml +0 -21
  677. data/.data/spec/std/isa/inst/V/vssra.vi.yaml +0 -68
  678. data/.data/spec/std/isa/inst/V/vssra.vv.yaml +0 -101
  679. data/.data/spec/std/isa/inst/V/vssra.vx.yaml +0 -84
  680. data/.data/spec/std/isa/inst/V/vssrl.vi.yaml +0 -68
  681. data/.data/spec/std/isa/inst/V/vssrl.vv.yaml +0 -101
  682. data/.data/spec/std/isa/inst/V/vssrl.vx.yaml +0 -84
  683. data/.data/spec/std/isa/inst/V/vssub.vv.yaml +0 -101
  684. data/.data/spec/std/isa/inst/V/vssub.vx.yaml +0 -84
  685. data/.data/spec/std/isa/inst/V/vssubu.vv.yaml +0 -101
  686. data/.data/spec/std/isa/inst/V/vssubu.vx.yaml +0 -84
  687. data/.data/spec/std/isa/inst/V/vsub.vv.yaml +0 -101
  688. data/.data/spec/std/isa/inst/V/vsub.vx.yaml +0 -84
  689. data/.data/spec/std/isa/inst/V/vsuxei16.v.yaml +0 -21
  690. data/.data/spec/std/isa/inst/V/vsuxei32.v.yaml +0 -21
  691. data/.data/spec/std/isa/inst/V/vsuxei64.v.yaml +0 -21
  692. data/.data/spec/std/isa/inst/V/vsuxei8.v.yaml +0 -21
  693. data/.data/spec/std/isa/inst/V/vwadd.vv.yaml +0 -50
  694. data/.data/spec/std/isa/inst/V/vwadd.vx.yaml +0 -49
  695. data/.data/spec/std/isa/inst/V/vwadd.wv.yaml +0 -46
  696. data/.data/spec/std/isa/inst/V/vwadd.wx.yaml +0 -45
  697. data/.data/spec/std/isa/inst/V/vwaddu.vv.yaml +0 -50
  698. data/.data/spec/std/isa/inst/V/vwaddu.vx.yaml +0 -49
  699. data/.data/spec/std/isa/inst/V/vwaddu.wv.yaml +0 -46
  700. data/.data/spec/std/isa/inst/V/vwaddu.wx.yaml +0 -45
  701. data/.data/spec/std/isa/inst/V/vwmacc.vv.yaml +0 -46
  702. data/.data/spec/std/isa/inst/V/vwmacc.vx.yaml +0 -46
  703. data/.data/spec/std/isa/inst/V/vwmaccsu.vv.yaml +0 -46
  704. data/.data/spec/std/isa/inst/V/vwmaccsu.vx.yaml +0 -46
  705. data/.data/spec/std/isa/inst/V/vwmaccu.vv.yaml +0 -46
  706. data/.data/spec/std/isa/inst/V/vwmaccu.vx.yaml +0 -46
  707. data/.data/spec/std/isa/inst/V/vwmaccus.vx.yaml +0 -46
  708. data/.data/spec/std/isa/inst/V/vwmul.vv.yaml +0 -50
  709. data/.data/spec/std/isa/inst/V/vwmul.vx.yaml +0 -49
  710. data/.data/spec/std/isa/inst/V/vwmulsu.vv.yaml +0 -50
  711. data/.data/spec/std/isa/inst/V/vwmulsu.vx.yaml +0 -49
  712. data/.data/spec/std/isa/inst/V/vwmulu.vv.yaml +0 -50
  713. data/.data/spec/std/isa/inst/V/vwmulu.vx.yaml +0 -49
  714. data/.data/spec/std/isa/inst/V/vwredsum.vs.yaml +0 -46
  715. data/.data/spec/std/isa/inst/V/vwredsumu.vs.yaml +0 -46
  716. data/.data/spec/std/isa/inst/V/vwsub.vv.yaml +0 -50
  717. data/.data/spec/std/isa/inst/V/vwsub.vx.yaml +0 -49
  718. data/.data/spec/std/isa/inst/V/vwsub.wv.yaml +0 -46
  719. data/.data/spec/std/isa/inst/V/vwsub.wx.yaml +0 -45
  720. data/.data/spec/std/isa/inst/V/vwsubu.vv.yaml +0 -50
  721. data/.data/spec/std/isa/inst/V/vwsubu.vx.yaml +0 -49
  722. data/.data/spec/std/isa/inst/V/vwsubu.wv.yaml +0 -46
  723. data/.data/spec/std/isa/inst/V/vwsubu.wx.yaml +0 -45
  724. data/.data/spec/std/isa/inst/V/vxor.vi.yaml +0 -68
  725. data/.data/spec/std/isa/inst/V/vxor.vv.yaml +0 -101
  726. data/.data/spec/std/isa/inst/V/vxor.vx.yaml +0 -84
  727. data/.data/spec/std/isa/inst/V/vzext.vf2.yaml +0 -44
  728. data/.data/spec/std/isa/inst/V/vzext.vf4.yaml +0 -44
  729. data/.data/spec/std/isa/inst/V/vzext.vf8.yaml +0 -44
  730. data/.data/spec/std/isa/inst/Zaamo/amoadd.SIZE.AQRL.layout +0 -96
  731. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aq.yaml +0 -96
  732. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aqrl.yaml +0 -96
  733. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.rl.yaml +0 -96
  734. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.yaml +0 -96
  735. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aq.yaml +0 -96
  736. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aqrl.yaml +0 -96
  737. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.rl.yaml +0 -96
  738. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.yaml +0 -96
  739. data/.data/spec/std/isa/inst/Zaamo/amoand.SIZE.AQRL.layout +0 -96
  740. data/.data/spec/std/isa/inst/Zaamo/amoand.d.aq.yaml +0 -96
  741. data/.data/spec/std/isa/inst/Zaamo/amoand.d.aqrl.yaml +0 -96
  742. data/.data/spec/std/isa/inst/Zaamo/amoand.d.rl.yaml +0 -96
  743. data/.data/spec/std/isa/inst/Zaamo/amoand.d.yaml +0 -96
  744. data/.data/spec/std/isa/inst/Zaamo/amoand.w.aq.yaml +0 -96
  745. data/.data/spec/std/isa/inst/Zaamo/amoand.w.aqrl.yaml +0 -96
  746. data/.data/spec/std/isa/inst/Zaamo/amoand.w.rl.yaml +0 -96
  747. data/.data/spec/std/isa/inst/Zaamo/amoand.w.yaml +0 -96
  748. data/.data/spec/std/isa/inst/Zaamo/amomax.SIZE.AQRL.layout +0 -96
  749. data/.data/spec/std/isa/inst/Zaamo/amomax.d.aq.yaml +0 -96
  750. data/.data/spec/std/isa/inst/Zaamo/amomax.d.aqrl.yaml +0 -96
  751. data/.data/spec/std/isa/inst/Zaamo/amomax.d.rl.yaml +0 -96
  752. data/.data/spec/std/isa/inst/Zaamo/amomax.d.yaml +0 -96
  753. data/.data/spec/std/isa/inst/Zaamo/amomax.w.aq.yaml +0 -96
  754. data/.data/spec/std/isa/inst/Zaamo/amomax.w.aqrl.yaml +0 -96
  755. data/.data/spec/std/isa/inst/Zaamo/amomax.w.rl.yaml +0 -96
  756. data/.data/spec/std/isa/inst/Zaamo/amomax.w.yaml +0 -96
  757. data/.data/spec/std/isa/inst/Zaamo/amomaxu.SIZE.AQRL.layout +0 -96
  758. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aq.yaml +0 -96
  759. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aqrl.yaml +0 -96
  760. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.rl.yaml +0 -96
  761. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.yaml +0 -96
  762. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aq.yaml +0 -96
  763. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aqrl.yaml +0 -96
  764. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.rl.yaml +0 -96
  765. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.yaml +0 -96
  766. data/.data/spec/std/isa/inst/Zaamo/amomin.SIZE.AQRL.layout +0 -96
  767. data/.data/spec/std/isa/inst/Zaamo/amomin.d.aq.yaml +0 -96
  768. data/.data/spec/std/isa/inst/Zaamo/amomin.d.aqrl.yaml +0 -96
  769. data/.data/spec/std/isa/inst/Zaamo/amomin.d.rl.yaml +0 -96
  770. data/.data/spec/std/isa/inst/Zaamo/amomin.d.yaml +0 -96
  771. data/.data/spec/std/isa/inst/Zaamo/amomin.w.aq.yaml +0 -96
  772. data/.data/spec/std/isa/inst/Zaamo/amomin.w.aqrl.yaml +0 -96
  773. data/.data/spec/std/isa/inst/Zaamo/amomin.w.rl.yaml +0 -96
  774. data/.data/spec/std/isa/inst/Zaamo/amomin.w.yaml +0 -96
  775. data/.data/spec/std/isa/inst/Zaamo/amominu.SIZE.AQRL.layout +0 -96
  776. data/.data/spec/std/isa/inst/Zaamo/amominu.d.aq.yaml +0 -96
  777. data/.data/spec/std/isa/inst/Zaamo/amominu.d.aqrl.yaml +0 -96
  778. data/.data/spec/std/isa/inst/Zaamo/amominu.d.rl.yaml +0 -96
  779. data/.data/spec/std/isa/inst/Zaamo/amominu.d.yaml +0 -96
  780. data/.data/spec/std/isa/inst/Zaamo/amominu.w.aq.yaml +0 -96
  781. data/.data/spec/std/isa/inst/Zaamo/amominu.w.aqrl.yaml +0 -96
  782. data/.data/spec/std/isa/inst/Zaamo/amominu.w.rl.yaml +0 -96
  783. data/.data/spec/std/isa/inst/Zaamo/amominu.w.yaml +0 -96
  784. data/.data/spec/std/isa/inst/Zaamo/amoor.SIZE.AQRL.layout +0 -96
  785. data/.data/spec/std/isa/inst/Zaamo/amoor.d.aq.yaml +0 -96
  786. data/.data/spec/std/isa/inst/Zaamo/amoor.d.aqrl.yaml +0 -96
  787. data/.data/spec/std/isa/inst/Zaamo/amoor.d.rl.yaml +0 -96
  788. data/.data/spec/std/isa/inst/Zaamo/amoor.d.yaml +0 -96
  789. data/.data/spec/std/isa/inst/Zaamo/amoor.w.aq.yaml +0 -96
  790. data/.data/spec/std/isa/inst/Zaamo/amoor.w.aqrl.yaml +0 -96
  791. data/.data/spec/std/isa/inst/Zaamo/amoor.w.rl.yaml +0 -96
  792. data/.data/spec/std/isa/inst/Zaamo/amoor.w.yaml +0 -96
  793. data/.data/spec/std/isa/inst/Zaamo/amoswap.SIZE.AQRL.layout +0 -96
  794. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aq.yaml +0 -96
  795. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aqrl.yaml +0 -96
  796. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.rl.yaml +0 -96
  797. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.yaml +0 -96
  798. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aq.yaml +0 -96
  799. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aqrl.yaml +0 -96
  800. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.rl.yaml +0 -96
  801. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.yaml +0 -96
  802. data/.data/spec/std/isa/inst/Zaamo/amoxor.SIZE.AQRL.layout +0 -96
  803. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aq.yaml +0 -96
  804. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aqrl.yaml +0 -96
  805. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.rl.yaml +0 -96
  806. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.yaml +0 -96
  807. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aq.yaml +0 -96
  808. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aqrl.yaml +0 -96
  809. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.rl.yaml +0 -96
  810. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.yaml +0 -96
  811. data/.data/spec/std/isa/inst/Zabha/amoadd.b.aq.yaml +0 -96
  812. data/.data/spec/std/isa/inst/Zabha/amoadd.b.aqrl.yaml +0 -96
  813. data/.data/spec/std/isa/inst/Zabha/amoadd.b.rl.yaml +0 -96
  814. data/.data/spec/std/isa/inst/Zabha/amoadd.b.yaml +0 -96
  815. data/.data/spec/std/isa/inst/Zabha/amoadd.h.aq.yaml +0 -96
  816. data/.data/spec/std/isa/inst/Zabha/amoadd.h.aqrl.yaml +0 -96
  817. data/.data/spec/std/isa/inst/Zabha/amoadd.h.rl.yaml +0 -96
  818. data/.data/spec/std/isa/inst/Zabha/amoadd.h.yaml +0 -96
  819. data/.data/spec/std/isa/inst/Zabha/amoand.b.aq.yaml +0 -96
  820. data/.data/spec/std/isa/inst/Zabha/amoand.b.aqrl.yaml +0 -96
  821. data/.data/spec/std/isa/inst/Zabha/amoand.b.rl.yaml +0 -96
  822. data/.data/spec/std/isa/inst/Zabha/amoand.b.yaml +0 -96
  823. data/.data/spec/std/isa/inst/Zabha/amoand.h.aq.yaml +0 -96
  824. data/.data/spec/std/isa/inst/Zabha/amoand.h.aqrl.yaml +0 -96
  825. data/.data/spec/std/isa/inst/Zabha/amoand.h.rl.yaml +0 -96
  826. data/.data/spec/std/isa/inst/Zabha/amoand.h.yaml +0 -96
  827. data/.data/spec/std/isa/inst/Zabha/amocas.b.aq.yaml +0 -87
  828. data/.data/spec/std/isa/inst/Zabha/amocas.b.aqrl.yaml +0 -87
  829. data/.data/spec/std/isa/inst/Zabha/amocas.b.rl.yaml +0 -87
  830. data/.data/spec/std/isa/inst/Zabha/amocas.b.yaml +0 -87
  831. data/.data/spec/std/isa/inst/Zabha/amocas.h.aq.yaml +0 -87
  832. data/.data/spec/std/isa/inst/Zabha/amocas.h.aqrl.yaml +0 -87
  833. data/.data/spec/std/isa/inst/Zabha/amocas.h.rl.yaml +0 -87
  834. data/.data/spec/std/isa/inst/Zabha/amocas.h.yaml +0 -87
  835. data/.data/spec/std/isa/inst/Zabha/amomax.b.aq.yaml +0 -96
  836. data/.data/spec/std/isa/inst/Zabha/amomax.b.aqrl.yaml +0 -96
  837. data/.data/spec/std/isa/inst/Zabha/amomax.b.rl.yaml +0 -96
  838. data/.data/spec/std/isa/inst/Zabha/amomax.b.yaml +0 -96
  839. data/.data/spec/std/isa/inst/Zabha/amomax.h.aq.yaml +0 -96
  840. data/.data/spec/std/isa/inst/Zabha/amomax.h.aqrl.yaml +0 -96
  841. data/.data/spec/std/isa/inst/Zabha/amomax.h.rl.yaml +0 -96
  842. data/.data/spec/std/isa/inst/Zabha/amomax.h.yaml +0 -96
  843. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aq.yaml +0 -96
  844. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aqrl.yaml +0 -96
  845. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.rl.yaml +0 -96
  846. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.yaml +0 -96
  847. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aq.yaml +0 -96
  848. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aqrl.yaml +0 -96
  849. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.rl.yaml +0 -96
  850. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.yaml +0 -96
  851. data/.data/spec/std/isa/inst/Zabha/amomin.b.aq.yaml +0 -96
  852. data/.data/spec/std/isa/inst/Zabha/amomin.b.aqrl.yaml +0 -96
  853. data/.data/spec/std/isa/inst/Zabha/amomin.b.rl.yaml +0 -96
  854. data/.data/spec/std/isa/inst/Zabha/amomin.b.yaml +0 -96
  855. data/.data/spec/std/isa/inst/Zabha/amomin.h.aq.yaml +0 -96
  856. data/.data/spec/std/isa/inst/Zabha/amomin.h.aqrl.yaml +0 -96
  857. data/.data/spec/std/isa/inst/Zabha/amomin.h.rl.yaml +0 -96
  858. data/.data/spec/std/isa/inst/Zabha/amomin.h.yaml +0 -96
  859. data/.data/spec/std/isa/inst/Zabha/amominu.b.aq.yaml +0 -96
  860. data/.data/spec/std/isa/inst/Zabha/amominu.b.aqrl.yaml +0 -96
  861. data/.data/spec/std/isa/inst/Zabha/amominu.b.rl.yaml +0 -96
  862. data/.data/spec/std/isa/inst/Zabha/amominu.b.yaml +0 -96
  863. data/.data/spec/std/isa/inst/Zabha/amominu.h.aq.yaml +0 -96
  864. data/.data/spec/std/isa/inst/Zabha/amominu.h.aqrl.yaml +0 -96
  865. data/.data/spec/std/isa/inst/Zabha/amominu.h.rl.yaml +0 -96
  866. data/.data/spec/std/isa/inst/Zabha/amominu.h.yaml +0 -96
  867. data/.data/spec/std/isa/inst/Zabha/amoor.b.aq.yaml +0 -96
  868. data/.data/spec/std/isa/inst/Zabha/amoor.b.aqrl.yaml +0 -96
  869. data/.data/spec/std/isa/inst/Zabha/amoor.b.rl.yaml +0 -96
  870. data/.data/spec/std/isa/inst/Zabha/amoor.b.yaml +0 -96
  871. data/.data/spec/std/isa/inst/Zabha/amoor.h.aq.yaml +0 -96
  872. data/.data/spec/std/isa/inst/Zabha/amoor.h.aqrl.yaml +0 -96
  873. data/.data/spec/std/isa/inst/Zabha/amoor.h.rl.yaml +0 -96
  874. data/.data/spec/std/isa/inst/Zabha/amoor.h.yaml +0 -96
  875. data/.data/spec/std/isa/inst/Zabha/amoswap.b.aq.yaml +0 -96
  876. data/.data/spec/std/isa/inst/Zabha/amoswap.b.aqrl.yaml +0 -96
  877. data/.data/spec/std/isa/inst/Zabha/amoswap.b.rl.yaml +0 -96
  878. data/.data/spec/std/isa/inst/Zabha/amoswap.b.yaml +0 -96
  879. data/.data/spec/std/isa/inst/Zabha/amoswap.h.aq.yaml +0 -96
  880. data/.data/spec/std/isa/inst/Zabha/amoswap.h.aqrl.yaml +0 -96
  881. data/.data/spec/std/isa/inst/Zabha/amoswap.h.rl.yaml +0 -96
  882. data/.data/spec/std/isa/inst/Zabha/amoswap.h.yaml +0 -96
  883. data/.data/spec/std/isa/inst/Zabha/amoxor.b.aq.yaml +0 -96
  884. data/.data/spec/std/isa/inst/Zabha/amoxor.b.aqrl.yaml +0 -96
  885. data/.data/spec/std/isa/inst/Zabha/amoxor.b.rl.yaml +0 -96
  886. data/.data/spec/std/isa/inst/Zabha/amoxor.b.yaml +0 -96
  887. data/.data/spec/std/isa/inst/Zabha/amoxor.h.aq.yaml +0 -96
  888. data/.data/spec/std/isa/inst/Zabha/amoxor.h.aqrl.yaml +0 -96
  889. data/.data/spec/std/isa/inst/Zabha/amoxor.h.rl.yaml +0 -96
  890. data/.data/spec/std/isa/inst/Zabha/amoxor.h.yaml +0 -96
  891. data/.data/spec/std/isa/inst/Zacas/amocas.SIZE.AQRL.layout +0 -87
  892. data/.data/spec/std/isa/inst/Zacas/amocas.d.aq.yaml +0 -87
  893. data/.data/spec/std/isa/inst/Zacas/amocas.d.aqrl.yaml +0 -87
  894. data/.data/spec/std/isa/inst/Zacas/amocas.d.rl.yaml +0 -87
  895. data/.data/spec/std/isa/inst/Zacas/amocas.d.yaml +0 -87
  896. data/.data/spec/std/isa/inst/Zacas/amocas.q.aq.yaml +0 -87
  897. data/.data/spec/std/isa/inst/Zacas/amocas.q.aqrl.yaml +0 -87
  898. data/.data/spec/std/isa/inst/Zacas/amocas.q.rl.yaml +0 -87
  899. data/.data/spec/std/isa/inst/Zacas/amocas.q.yaml +0 -87
  900. data/.data/spec/std/isa/inst/Zacas/amocas.w.aq.yaml +0 -87
  901. data/.data/spec/std/isa/inst/Zacas/amocas.w.aqrl.yaml +0 -87
  902. data/.data/spec/std/isa/inst/Zacas/amocas.w.rl.yaml +0 -87
  903. data/.data/spec/std/isa/inst/Zacas/amocas.w.yaml +0 -87
  904. data/.data/spec/std/isa/inst/Zalasr/lSIZE.AQRL.layout +0 -33
  905. data/.data/spec/std/isa/inst/Zalasr/lb.aq.yaml +0 -33
  906. data/.data/spec/std/isa/inst/Zalasr/lb.aqrl.yaml +0 -33
  907. data/.data/spec/std/isa/inst/Zalasr/ld.aq.yaml +0 -33
  908. data/.data/spec/std/isa/inst/Zalasr/ld.aqrl.yaml +0 -33
  909. data/.data/spec/std/isa/inst/Zalasr/lh.aq.yaml +0 -33
  910. data/.data/spec/std/isa/inst/Zalasr/lh.aqrl.yaml +0 -33
  911. data/.data/spec/std/isa/inst/Zalasr/lw.aq.yaml +0 -33
  912. data/.data/spec/std/isa/inst/Zalasr/lw.aqrl.yaml +0 -33
  913. data/.data/spec/std/isa/inst/Zalasr/sSIZE.AQRL.layout +0 -48
  914. data/.data/spec/std/isa/inst/Zalasr/sb.aqrl.yaml +0 -48
  915. data/.data/spec/std/isa/inst/Zalasr/sb.rl.yaml +0 -48
  916. data/.data/spec/std/isa/inst/Zalasr/sd.aqrl.yaml +0 -48
  917. data/.data/spec/std/isa/inst/Zalasr/sd.rl.yaml +0 -48
  918. data/.data/spec/std/isa/inst/Zalasr/sh.aqrl.yaml +0 -48
  919. data/.data/spec/std/isa/inst/Zalasr/sh.rl.yaml +0 -48
  920. data/.data/spec/std/isa/inst/Zalasr/sw.aqrl.yaml +0 -48
  921. data/.data/spec/std/isa/inst/Zalasr/sw.rl.yaml +0 -48
  922. data/.data/spec/std/isa/inst/Zalrsc/lr.SIZE.AQRL.layout +0 -48
  923. data/.data/spec/std/isa/inst/Zalrsc/lr.d.aq.yaml +0 -48
  924. data/.data/spec/std/isa/inst/Zalrsc/lr.d.aqrl.yaml +0 -48
  925. data/.data/spec/std/isa/inst/Zalrsc/lr.d.rl.yaml +0 -48
  926. data/.data/spec/std/isa/inst/Zalrsc/lr.d.yaml +0 -48
  927. data/.data/spec/std/isa/inst/Zalrsc/lr.w.aq.yaml +0 -48
  928. data/.data/spec/std/isa/inst/Zalrsc/lr.w.aqrl.yaml +0 -48
  929. data/.data/spec/std/isa/inst/Zalrsc/lr.w.rl.yaml +0 -48
  930. data/.data/spec/std/isa/inst/Zalrsc/lr.w.yaml +0 -48
  931. data/.data/spec/std/isa/inst/Zalrsc/sc.SIZE.AQRL.layout +0 -82
  932. data/.data/spec/std/isa/inst/Zalrsc/sc.d.aq.yaml +0 -82
  933. data/.data/spec/std/isa/inst/Zalrsc/sc.d.aqrl.yaml +0 -82
  934. data/.data/spec/std/isa/inst/Zalrsc/sc.d.rl.yaml +0 -82
  935. data/.data/spec/std/isa/inst/Zalrsc/sc.d.yaml +0 -82
  936. data/.data/spec/std/isa/inst/Zalrsc/sc.w.aq.yaml +0 -82
  937. data/.data/spec/std/isa/inst/Zalrsc/sc.w.aqrl.yaml +0 -82
  938. data/.data/spec/std/isa/inst/Zalrsc/sc.w.rl.yaml +0 -82
  939. data/.data/spec/std/isa/inst/Zalrsc/sc.w.yaml +0 -82
  940. data/.data/spec/std/isa/inst/Zba/add.uw.yaml +0 -20
  941. data/.data/spec/std/isa/inst/Zba/sh1add.uw.yaml +0 -20
  942. data/.data/spec/std/isa/inst/Zba/sh1add.yaml +0 -19
  943. data/.data/spec/std/isa/inst/Zba/sh2add.uw.yaml +0 -20
  944. data/.data/spec/std/isa/inst/Zba/sh2add.yaml +0 -19
  945. data/.data/spec/std/isa/inst/Zba/sh3add.uw.yaml +0 -20
  946. data/.data/spec/std/isa/inst/Zba/sh3add.yaml +0 -19
  947. data/.data/spec/std/isa/inst/Zba/slli.uw.yaml +0 -13
  948. data/.data/spec/std/isa/inst/Zbb/clz.yaml +0 -18
  949. data/.data/spec/std/isa/inst/Zbb/clzw.yaml +0 -18
  950. data/.data/spec/std/isa/inst/Zbb/cpop.yaml +0 -15
  951. data/.data/spec/std/isa/inst/Zbb/cpopw.yaml +0 -15
  952. data/.data/spec/std/isa/inst/Zbb/ctz.yaml +0 -18
  953. data/.data/spec/std/isa/inst/Zbb/ctzw.yaml +0 -18
  954. data/.data/spec/std/isa/inst/Zbb/max.yaml +0 -28
  955. data/.data/spec/std/isa/inst/Zbb/maxu.yaml +0 -28
  956. data/.data/spec/std/isa/inst/Zbb/min.yaml +0 -28
  957. data/.data/spec/std/isa/inst/Zbb/minu.yaml +0 -28
  958. data/.data/spec/std/isa/inst/Zbb/orc.b.yaml +0 -17
  959. data/.data/spec/std/isa/inst/Zbb/sext.b.yaml +0 -17
  960. data/.data/spec/std/isa/inst/Zbb/sext.h.yaml +0 -17
  961. data/.data/spec/std/isa/inst/Zbb/zext.h.yaml +0 -17
  962. data/.data/spec/std/isa/inst/Zbc/clmulr.yaml +0 -16
  963. data/.data/spec/std/isa/inst/Zbkb/brev8.yaml +0 -12
  964. data/.data/spec/std/isa/inst/Zbkb/unzip.yaml +0 -11
  965. data/.data/spec/std/isa/inst/Zbkb/zip.yaml +0 -11
  966. data/.data/spec/std/isa/inst/Zbkx/xperm4.yaml +0 -19
  967. data/.data/spec/std/isa/inst/Zbkx/xperm8.yaml +0 -19
  968. data/.data/spec/std/isa/inst/Zbs/bclr.yaml +0 -22
  969. data/.data/spec/std/isa/inst/Zbs/bclri.yaml +0 -21
  970. data/.data/spec/std/isa/inst/Zbs/bext.yaml +0 -22
  971. data/.data/spec/std/isa/inst/Zbs/bexti.yaml +0 -21
  972. data/.data/spec/std/isa/inst/Zbs/binv.yaml +0 -22
  973. data/.data/spec/std/isa/inst/Zbs/binvi.yaml +0 -21
  974. data/.data/spec/std/isa/inst/Zbs/bset.yaml +0 -22
  975. data/.data/spec/std/isa/inst/Zbs/bseti.yaml +0 -21
  976. data/.data/spec/std/isa/inst/Zcb/c.lbu.yaml +0 -33
  977. data/.data/spec/std/isa/inst/Zcb/c.lh.yaml +0 -33
  978. data/.data/spec/std/isa/inst/Zcb/c.lhu.yaml +0 -33
  979. data/.data/spec/std/isa/inst/Zcb/c.mul.yaml +0 -12
  980. data/.data/spec/std/isa/inst/Zcb/c.not.yaml +0 -11
  981. data/.data/spec/std/isa/inst/Zcb/c.sext.b.yaml +0 -19
  982. data/.data/spec/std/isa/inst/Zcb/c.sext.h.yaml +0 -19
  983. data/.data/spec/std/isa/inst/Zcb/c.zext.b.yaml +0 -19
  984. data/.data/spec/std/isa/inst/Zcb/c.zext.h.yaml +0 -19
  985. data/.data/spec/std/isa/inst/Zcb/c.zext.w.yaml +0 -19
  986. data/.data/spec/std/isa/inst/Zcmt/cm.jalt.yaml +0 -2
  987. data/.data/spec/std/isa/inst/Zcmt/cm.jt.yaml +0 -2
  988. data/.data/spec/std/isa/inst/Zfa/fli.s.yaml +0 -45
  989. data/.data/spec/std/isa/inst/Zfa/fmaxm.s.yaml +0 -24
  990. data/.data/spec/std/isa/inst/Zfa/fminm.s.yaml +0 -24
  991. data/.data/spec/std/isa/inst/Zfa/fround.s.yaml +0 -22
  992. data/.data/spec/std/isa/inst/Zfa/froundnx.s.yaml +0 -22
  993. data/.data/spec/std/isa/inst/Zfh/fcvt.h.s.yaml +0 -22
  994. data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +0 -22
  995. data/.data/spec/std/isa/inst/Zfh/flh.yaml +0 -34
  996. data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +0 -13
  997. data/.data/spec/std/isa/inst/Zfh/fmv.x.h.yaml +0 -13
  998. data/.data/spec/std/isa/inst/Zfh/fsh.yaml +0 -44
  999. data/.data/spec/std/isa/inst/Zicond/czero.eqz.yaml +0 -15
  1000. data/.data/spec/std/isa/inst/Zicond/czero.nez.yaml +0 -15
  1001. data/.data/spec/std/isa/inst/Zicsr/csrrs.yaml +0 -31
  1002. data/.data/spec/std/isa/inst/Zicsr/csrrw.yaml +0 -31
  1003. data/.data/spec/std/isa/inst/Zicsr/csrrwi.yaml +0 -31
  1004. data/.data/spec/std/isa/inst/Zifencei/fence.i.yaml +0 -8
  1005. data/.data/spec/std/isa/isa/fp.idl +911 -101
  1006. data/.data/spec/std/isa/isa/globals.isa +3 -1
  1007. data/.data/spec/std/isa/isa/util.idl +22 -0
  1008. data/.data/spec/std/isa/manual_version/isa/20240411/isa_20240411.yaml +0 -2
  1009. data/.data/spec/std/isa/param/HPM_COUNTER_EN.yaml +3 -3
  1010. data/.data/spec/std/isa/param/HPM_EVENTS.yaml +96 -5
  1011. data/.data/spec/std/isa/param/MCOUNTENABLE_EN.yaml +2 -2
  1012. data/.data/spec/std/isa/param/NUM_PMP_ENTRIES.yaml +1 -1
  1013. data/.data/spec/std/isa/param/PMP_GRANULARITY.yaml +1 -1
  1014. data/.data/spec/std/isa/param/SCOUNTENABLE_EN.yaml +2 -6
  1015. data/.data/spec/std/isa/proc_cert_model/MC200-32.yaml +3 -3
  1016. data/.data/spec/std/isa/profile/RVB23M64.yaml +0 -3
  1017. data/lib/udb/cfg_arch.rb +42 -6
  1018. data/lib/udb/cli.rb +4 -0
  1019. data/lib/udb/condition.rb +66 -2
  1020. data/lib/udb/global_opts.rb +18 -0
  1021. data/lib/udb/logic.rb +27 -1
  1022. data/lib/udb/obj/extension.rb +3 -0
  1023. data/lib/udb/version.rb +1 -1
  1024. data/lib/udb/yaml/yaml_resolver.rb +3 -3
  1025. data/lib/udb/z3.rb +41 -0
  1026. metadata +4 -4
  1027. data/.data/spec/std/isa/ext/Smhpm.yaml +0 -29
  1028. data/.data/spec/std/isa/ext/Smpmp.yaml +0 -42
@@ -936,6 +936,8 @@ function xlen {
936
936
  } else {
937
937
  unreachable();
938
938
  }
939
+ } else {
940
+ unreachable();
939
941
  }
940
942
  }
941
943
  }
@@ -1281,7 +1283,7 @@ function access_check {
1281
1283
  }
1282
1284
 
1283
1285
  # check PMP
1284
- if (implemented?(ExtensionName::Smpmp)) {
1286
+ if (NUM_PMP_ENTRIES > 0) {
1285
1287
  if (!pmp_check(paddr[PHYS_ADDR_WIDTH-1:0], access_size, type)) {
1286
1288
  raise(fault_type, from_mode, vaddr);
1287
1289
  }
@@ -147,6 +147,28 @@ function count_leading_zeros {
147
147
  }
148
148
  }
149
149
 
150
+ function count_leading_zeros_64 {
151
+ returns
152
+ XReg # Number of leading zeros in +value+
153
+ arguments
154
+ U32 N, # bit width
155
+ Bits<64> value # value to count zero in
156
+ description {
157
+ Returns the number of leading 0 bits before the most-significant 1 bit of +value+,
158
+ or N if value is zero.
159
+ }
160
+ body {
161
+ for (U32 i=0; i < N; i++) {
162
+ if (value[N - 1 - i] == 1) {
163
+ return i;
164
+ }
165
+ }
166
+
167
+ # fall-through; value must be zero
168
+ return N;
169
+ }
170
+ }
171
+
150
172
  function sext {
151
173
  returns XReg
152
174
  arguments XReg value, XReg first_extended_bit
@@ -207,8 +207,6 @@ volumes:
207
207
  - { name: Smcdeleg, version: "1.0.0" }
208
208
  - { name: S, version: "1.12.0" }
209
209
  - { name: Sm, version: "1.12.0" }
210
- - { name: Smhpm, version: "1.12.0" }
211
- - { name: Smpmp, version: "1.12.0" }
212
210
  - { name: Sv32, version: "1.12.0" }
213
211
  - { name: Sv39, version: "1.12.0" }
214
212
  - { name: Sv48, version: "1.12.0" }
@@ -11,8 +11,8 @@ description: |
11
11
  There is one entry for each hpmcounter.
12
12
 
13
13
  The first three entries *must* be false (as they correspond to CY, IR, TM in, _e.g._ `mhmpcountinhibit`)
14
- Index 3 in HPM_COUNTER_EN corresponds to hpmcounter3.
15
- Index 31 in HPM_COUNTER_EN corresponds to hpmcounter31.
14
+ Index 3 in HPM_COUNTER_EN corresponds to mhpmcounter3.
15
+ Index 31 in HPM_COUNTER_EN corresponds to mhpmcounter31.
16
16
  long_name: TODO
17
17
  schema:
18
18
  type: array
@@ -26,4 +26,4 @@ schema:
26
26
  minItems: 32
27
27
  definedBy:
28
28
  extension:
29
- name: Smhpm
29
+ name: Sm
@@ -6,9 +6,7 @@
6
6
  $schema: param_schema.json#
7
7
  kind: parameter
8
8
  name: HPM_EVENTS
9
- description: "List of defined event numbers that can be written into hpmeventN
10
-
11
- "
9
+ description: List of defined event numbers that can be written into mhpmeventN
12
10
  long_name: TODO
13
11
  schema:
14
12
  type: array
@@ -19,5 +17,98 @@ schema:
19
17
  minItems: 0
20
18
  maxItems: 18446744073709551616 # 2**64
21
19
  definedBy:
22
- extension:
23
- name: Smhpm
20
+ allOf:
21
+ - extension:
22
+ name: Sm
23
+ - param:
24
+ anyOf:
25
+ - name: HPM_COUNTER_EN
26
+ index: 3
27
+ equal: true
28
+ - name: HPM_COUNTER_EN
29
+ index: 4
30
+ equal: true
31
+ - name: HPM_COUNTER_EN
32
+ index: 4
33
+ equal: true
34
+ - name: HPM_COUNTER_EN
35
+ index: 5
36
+ equal: true
37
+ - name: HPM_COUNTER_EN
38
+ index: 6
39
+ equal: true
40
+ - name: HPM_COUNTER_EN
41
+ index: 7
42
+ equal: true
43
+ - name: HPM_COUNTER_EN
44
+ index: 8
45
+ equal: true
46
+ - name: HPM_COUNTER_EN
47
+ index: 9
48
+ equal: true
49
+ - name: HPM_COUNTER_EN
50
+ index: 10
51
+ equal: true
52
+ - name: HPM_COUNTER_EN
53
+ index: 11
54
+ equal: true
55
+ - name: HPM_COUNTER_EN
56
+ index: 12
57
+ equal: true
58
+ - name: HPM_COUNTER_EN
59
+ index: 13
60
+ equal: true
61
+ - name: HPM_COUNTER_EN
62
+ index: 14
63
+ equal: true
64
+ - name: HPM_COUNTER_EN
65
+ index: 15
66
+ equal: true
67
+ - name: HPM_COUNTER_EN
68
+ index: 16
69
+ equal: true
70
+ - name: HPM_COUNTER_EN
71
+ index: 17
72
+ equal: true
73
+ - name: HPM_COUNTER_EN
74
+ index: 18
75
+ equal: true
76
+ - name: HPM_COUNTER_EN
77
+ index: 19
78
+ equal: true
79
+ - name: HPM_COUNTER_EN
80
+ index: 20
81
+ equal: true
82
+ - name: HPM_COUNTER_EN
83
+ index: 21
84
+ equal: true
85
+ - name: HPM_COUNTER_EN
86
+ index: 22
87
+ equal: true
88
+ - name: HPM_COUNTER_EN
89
+ index: 23
90
+ equal: true
91
+ - name: HPM_COUNTER_EN
92
+ index: 24
93
+ equal: true
94
+ - name: HPM_COUNTER_EN
95
+ index: 25
96
+ equal: true
97
+ - name: HPM_COUNTER_EN
98
+ index: 26
99
+ equal: true
100
+ - name: HPM_COUNTER_EN
101
+ index: 27
102
+ equal: true
103
+ - name: HPM_COUNTER_EN
104
+ index: 28
105
+ equal: true
106
+ - name: HPM_COUNTER_EN
107
+ index: 29
108
+ equal: true
109
+ - name: HPM_COUNTER_EN
110
+ index: 30
111
+ equal: true
112
+ - name: HPM_COUNTER_EN
113
+ index: 31
114
+ equal: true
@@ -24,9 +24,9 @@ schema:
24
24
  minItems: 32
25
25
  definedBy:
26
26
  extension:
27
- name: U
27
+ name: Sm
28
28
  requirements:
29
29
  idl(): |
30
30
  for (U32 i=3; i < 32; i++) {
31
- MCOUNTENABLE_EN[i] -> !implemented?(ExtensionName::Smhpm) || HPM_COUNTER_EN[i];
31
+ MCOUNTENABLE_EN[i] -> HPM_COUNTER_EN[i];
32
32
  }
@@ -39,4 +39,4 @@ schema:
39
39
  maximum: 64
40
40
  definedBy:
41
41
  extension:
42
- name: Smpmp
42
+ name: Sm
@@ -22,4 +22,4 @@ schema:
22
22
  maximum: 66
23
23
  definedBy:
24
24
  extension:
25
- name: Smpmp
25
+ name: Sm
@@ -29,7 +29,7 @@ requirements:
29
29
  }
30
30
  for (U32 i = 3; i < 32; i++) {
31
31
  !implemented?(ExtensionName::Zihpm) -> !SCOUNTENABLE_EN[i];
32
- (implemented?(ExtensionName::Smhpm) && !HPM_COUNTER_EN[i]) -> !SCOUNTENABLE_EN[i];
32
+ (!HPM_COUNTER_EN[i]) -> !SCOUNTENABLE_EN[i];
33
33
  }
34
34
  reason: |
35
35
  Counters 0-2 are defined by Zicntr
@@ -39,8 +39,4 @@ requirements:
39
39
  When mhpmcounter[i] does not exist, it cannot be enabled.
40
40
  definedBy:
41
41
  extension:
42
- allOf:
43
- - name: S
44
- - anyOf:
45
- - name: Zicntr
46
- - name: Zihpm
42
+ name: Sm
@@ -30,9 +30,9 @@ introduction: |
30
30
  It supports either a 32-bit (MC200-32) or 64-bit (MC200-64) base ISA.
31
31
  The MC200 adds the following mandatory extensions to the MC100:
32
32
 
33
- * M extension (mandatory)
33
+ * M extension
34
34
  * U extension (User-mode privilege level)
35
- * Smpmp extension (M-mode PMP)
35
+ * Zihpm extension (hardware performance counters)
36
36
  * B (Bitfield) extension
37
37
  * Zce extension (additional 16-bit instructions suitable for microcontrollers)
38
38
  * CLIC extension (if/when ratified)
@@ -56,5 +56,5 @@ extensions:
56
56
  presence: mandatory
57
57
  U:
58
58
  presence: mandatory
59
- Smpmp:
59
+ Zihpm:
60
60
  presence: mandatory
@@ -28,9 +28,6 @@ extensions:
28
28
  Sm:
29
29
  version: "~> 1.13"
30
30
  presence: mandatory
31
- Smpmp:
32
- version: "~> 1.13"
33
- presence: mandatory
34
31
 
35
32
  #########################################################################
36
33
  # OPTIONAL LOCALIZED extensions in RVB23M64
data/lib/udb/cfg_arch.rb CHANGED
@@ -287,7 +287,12 @@ module Udb
287
287
 
288
288
  explicitly_implemented_extension_versions.each do |ext_ver|
289
289
  unless ext_ver.requirements_condition.satisfied_by_cfg_arch?(self) == SatisfiedResult::Yes
290
- reasons << "Extension requirement is unmet: #{ext_ver}. Needs: #{ext_ver.requirements_condition.minimize(expand: true).to_s_with_value(self, expand: false)}"
290
+ failing = ext_ver.requirements_condition.failing_conjuncts(self, expand: false)
291
+ reasons << "Extension requirement is unmet: #{ext_ver}. " + if failing.empty?
292
+ "Condition not yet determined: #{ext_ver.requirements_condition.to_s_with_value(self, expand: false)}"
293
+ else
294
+ "Failing condition(s):\n" + failing.map { |f| " - #{f}" }.join("\n")
295
+ end
291
296
  end
292
297
  end
293
298
 
@@ -295,15 +300,25 @@ module Udb
295
300
  config.param_values.each do |param_name, param_value|
296
301
  p = T.must(param(param_name))
297
302
  unless p.defined_by_condition.satisfied_by_cfg_arch?(self) == SatisfiedResult::Yes
303
+ failing = p.defined_by_condition.failing_conjuncts(self, expand: false)
298
304
  reasons << [
299
305
  "Parameter is not defined by this config: '#{param_name}'.",
300
- "Needs: #{p.defined_by_condition.minimize(expand: true).to_s_with_value(self, expand: false)}"
306
+ if failing.empty?
307
+ "Condition not yet determined: #{p.defined_by_condition.to_s_with_value(self, expand: false)}"
308
+ else
309
+ "Failing condition(s):\n" + failing.map { |f| " - #{f}" }.join("\n")
310
+ end
301
311
  ].join("\n")
302
312
  end
303
313
  unless p.requirements_condition.satisfied_by_cfg_arch?(self) == SatisfiedResult::Yes
314
+ failing = p.requirements_condition.failing_conjuncts(self, expand: false)
304
315
  reasons << [
305
316
  "Parameter requirements not met: '#{param_name}'.",
306
- "Needs: #{p.requirements_condition.minimize(expand: true).to_s_with_value(self, expand: false)}"
317
+ if failing.empty?
318
+ "Condition not yet determined: #{p.requirements_condition.to_s_with_value(self, expand: false)}"
319
+ else
320
+ "Failing condition(s):\n" + failing.map { |f| " - #{f}" }.join("\n")
321
+ end
307
322
  ].join("\n")
308
323
  end
309
324
  end
@@ -357,7 +372,12 @@ module Udb
357
372
  reasons = []
358
373
  mandatory_extension_reqs.each do |ext_req|
359
374
  if ext_req.requirements_condition.satisfied_by_cfg_arch?(self) != SatisfiedResult::Yes
360
- reasons << "Requirement of #{ext_req} are not met: #{ext_req.requirements_condition.to_s_with_value(self, expand: false)}"
375
+ failing = ext_req.requirements_condition.failing_conjuncts(self, expand: false)
376
+ reasons << "Requirement of #{ext_req} are not met:\n" + if failing.empty?
377
+ " Condition not yet determined: #{ext_req.requirements_condition.to_s_with_value(self, expand: false)}"
378
+ else
379
+ failing.map { |f| " - #{f}" }.join("\n")
380
+ end
361
381
  end
362
382
  end
363
383
 
@@ -414,11 +434,27 @@ module Udb
414
434
  # check that parameter is defined by the partial config (e.g., is defined by a mandatory
415
435
  # extension and/or other param value).
416
436
  unless p.defined_by_condition.satisfied_by_cfg_arch?(self) == SatisfiedResult::Yes
417
- reasons << "Parameter is not defined by this config: '#{param_name}'. Needs #{p.defined_by_condition}"
437
+ failing = p.defined_by_condition.failing_conjuncts(self, expand: false)
438
+ reasons << [
439
+ "Parameter is not defined by this config: '#{param_name}'.",
440
+ if failing.empty?
441
+ "Condition not yet determined: #{p.defined_by_condition.to_s_with_value(self, expand: false)}"
442
+ else
443
+ "Failing condition(s):\n" + failing.map { |f| " - #{f}" }.join("\n")
444
+ end
445
+ ].join("\n")
418
446
  end
419
447
 
420
448
  if p.requirements_condition.satisfied_by_cfg_arch?(self) == SatisfiedResult::No
421
- reasons << "Parameter requirements cannot be met: '#{param_name}'. Needs: #{p.requirements_condition}"
449
+ failing = p.requirements_condition.failing_conjuncts(self, expand: false)
450
+ reasons << [
451
+ "Parameter requirements cannot be met: '#{param_name}'.",
452
+ if failing.empty?
453
+ "Condition not yet determined: #{p.requirements_condition.to_s_with_value(self, expand: false)}"
454
+ else
455
+ "Failing condition(s):\n" + failing.map { |f| " - #{f}" }.join("\n")
456
+ end
457
+ ].join("\n")
422
458
  end
423
459
  end
424
460
 
data/lib/udb/cli.rb CHANGED
@@ -10,6 +10,7 @@ require "pastel"
10
10
  require "thor"
11
11
  require "terminal-table"
12
12
 
13
+ require_relative "global_opts"
13
14
  require_relative "resolver"
14
15
 
15
16
  class SubCommandBase < Thor
@@ -81,9 +82,12 @@ module Udb
81
82
  method_option :custom, type: :string, desc: "Path to custom specification directory, if needed", default: Udb.default_custom_isa_path.to_s
82
83
  method_option :config_dir, type: :string, desc: "Path to directory with config files", default: Udb.default_cfgs_path.to_s
83
84
  method_option :gen, type: :string, desc: "Path to folder used for generation", default: Udb.default_gen_path.to_s
85
+ method_option :z3parallel, type: :boolean, desc: "Use parallel.enable for Z3", default: true
84
86
  def cfg(name_or_path)
85
87
  raise ArgumentError, "Spec directory does not exist: #{options[:std]}" unless File.directory?(options[:std])
86
88
 
89
+ Udb.global_options.parallel_z3 = options[:z3parallel]
90
+
87
91
  cfg_file =
88
92
  if File.file?(name_or_path)
89
93
  Pathname.new(name_or_path)
data/lib/udb/condition.rb CHANGED
@@ -333,6 +333,10 @@ module Udb
333
333
  sig { abstract.params(cfg_arch: ConfiguredArchitecture, expand: T::Boolean).returns(String) }
334
334
  def to_s_with_value(cfg_arch, expand:); end
335
335
 
336
+ # returns the failing conjuncts (clauses that are false) for the given cfg_arch
337
+ sig { abstract.params(cfg_arch: ConfiguredArchitecture, expand: T::Boolean).returns(T::Array[String]) }
338
+ def failing_conjuncts(cfg_arch, expand:); end
339
+
336
340
  # string representation of condition in Asciidoc
337
341
  sig { abstract.returns(String) }
338
342
  def to_asciidoc; end
@@ -1151,7 +1155,7 @@ module Udb
1151
1155
  elsif cfg_arch.partially_configured?
1152
1156
  cb = make_cb_proc do |term|
1153
1157
  if term.is_a?(ExtensionTerm)
1154
- if cfg_arch.mandatory_extension_reqs.any? { |cfg_ext_req| cfg_ext_req.satisfied_by?(term.to_ext_req(cfg_arch)) }
1158
+ if cfg_arch.mandatory_extension_reqs.any? { |cfg_ext_req| term.to_ext_req(cfg_arch).satisfied_by?(cfg_ext_req) }
1155
1159
  SatisfiedResult::Yes
1156
1160
  elsif cfg_arch.possible_extension_versions.any? { |cfg_ext_ver| term.to_ext_req(cfg_arch).satisfied_by?(cfg_ext_ver) }
1157
1161
  SatisfiedResult::Maybe
@@ -1273,7 +1277,7 @@ module Udb
1273
1277
  SatisfiedResult::Yes
1274
1278
  end
1275
1279
  elsif cfg_arch.partially_configured?
1276
- if cfg_arch.mandatory_extension_reqs.any? { |cfg_ext_req| cfg_ext_req.satisfied_by?(term.to_ext_req(cfg_arch)) }
1280
+ if cfg_arch.mandatory_extension_reqs.any? { |cfg_ext_req| term.to_ext_req(cfg_arch).satisfied_by?(cfg_ext_req) }
1277
1281
  SatisfiedResult::Yes
1278
1282
  elsif cfg_arch.possible_extension_versions.any? { |cfg_ext_ver| term.to_ext_req(cfg_arch).satisfied_by?(cfg_ext_ver) }
1279
1283
  SatisfiedResult::Maybe
@@ -1312,6 +1316,60 @@ module Udb
1312
1316
  to_logic_tree(expand:).to_s_with_value(cb, format: LogicNode::LogicSymbolFormat::C)
1313
1317
  end
1314
1318
 
1319
+ sig { override.params(cfg_arch: ConfiguredArchitecture, expand: T::Boolean).returns(T::Array[String]) }
1320
+ def failing_conjuncts(cfg_arch, expand: false)
1321
+ cb = LogicNode.make_eval_cb do |term|
1322
+ case term
1323
+ when ExtensionTerm
1324
+ if cfg_arch.fully_configured?
1325
+ ext_ver = cfg_arch.implemented_extension_version(term.name)
1326
+ if ext_ver.nil? || !term.to_ext_req(cfg_arch).satisfied_by?(ext_ver)
1327
+ SatisfiedResult::No
1328
+ else
1329
+ SatisfiedResult::Yes
1330
+ end
1331
+ elsif cfg_arch.partially_configured?
1332
+ if cfg_arch.mandatory_extension_reqs.any? { |cfg_ext_req| term.to_ext_req(cfg_arch).satisfied_by?(cfg_ext_req) }
1333
+ SatisfiedResult::Yes
1334
+ elsif cfg_arch.possible_extension_versions.any? { |cfg_ext_ver| term.to_ext_req(cfg_arch).satisfied_by?(cfg_ext_ver) }
1335
+ SatisfiedResult::Maybe
1336
+ else
1337
+ SatisfiedResult::No
1338
+ end
1339
+ else
1340
+ SatisfiedResult::Maybe
1341
+ end
1342
+ when ParameterTerm
1343
+ if cfg_arch.fully_configured?
1344
+ if cfg_arch.param_values.key?(term.name)
1345
+ term.eval(cfg_arch)
1346
+ else
1347
+ SatisfiedResult::No
1348
+ end
1349
+ elsif cfg_arch.partially_configured?
1350
+ term.eval(cfg_arch)
1351
+ else
1352
+ SatisfiedResult::Maybe
1353
+ end
1354
+ when XlenTerm
1355
+ if cfg_arch.possible_xlens.include?(term.xlen)
1356
+ if cfg_arch.possible_xlens.size == 1
1357
+ SatisfiedResult::Yes
1358
+ else
1359
+ SatisfiedResult::Maybe
1360
+ end
1361
+ else
1362
+ SatisfiedResult::No
1363
+ end
1364
+ else
1365
+ raise "unexpected term type #{term.class.name}"
1366
+ end
1367
+ end
1368
+ to_logic_tree(expand:).failing_conjuncts(cb).map do |node|
1369
+ node.to_s_with_value(cb, format: LogicNode::LogicSymbolFormat::C)
1370
+ end
1371
+ end
1372
+
1315
1373
  sig { override.returns(String) }
1316
1374
  def to_asciidoc
1317
1375
  to_logic_tree(expand: false).to_asciidoc(include_versions: false)
@@ -1690,6 +1748,9 @@ module Udb
1690
1748
  sig { override.params(cfg_arch: ConfiguredArchitecture, expand: T::Boolean).returns(String) }
1691
1749
  def to_s_with_value(cfg_arch, expand: false) = "true"
1692
1750
 
1751
+ sig { override.params(cfg_arch: ConfiguredArchitecture, expand: T::Boolean).returns(T::Array[String]) }
1752
+ def failing_conjuncts(cfg_arch, expand: false) = []
1753
+
1693
1754
  sig { override.returns(String) }
1694
1755
  def to_asciidoc = "true"
1695
1756
 
@@ -1803,6 +1864,9 @@ module Udb
1803
1864
  sig { override.params(cfg_arch: ConfiguredArchitecture, expand: T::Boolean).returns(String) }
1804
1865
  def to_s_with_value(cfg_arch, expand: false) = "false"
1805
1866
 
1867
+ sig { override.params(cfg_arch: ConfiguredArchitecture, expand: T::Boolean).returns(T::Array[String]) }
1868
+ def failing_conjuncts(cfg_arch, expand: false) = ["false"]
1869
+
1806
1870
  sig { override.returns(String) }
1807
1871
  def to_asciidoc = "false"
1808
1872
 
@@ -0,0 +1,18 @@
1
+ # Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # typed: true
5
+ # frozen_string_literal: true
6
+
7
+ require "sorbet-runtime"
8
+
9
+ module Udb
10
+ class GlobalOptions < T::Struct
11
+ # when true, set Z3's parallel.enable param to true
12
+ prop :parallel_z3, T::Boolean, default: true
13
+ end
14
+
15
+ def self.global_options
16
+ @global_options ||= GlobalOptions.new
17
+ end
18
+ end
data/lib/udb/logic.rb CHANGED
@@ -1058,8 +1058,10 @@ module Udb
1058
1058
  cv <=> T.cast(other_param.comparison_value, String)
1059
1059
  elsif cv.is_a?(Array)
1060
1060
  cv <=> T.cast(other_param.comparison_value, T::Array[T.any(String, T::Boolean, Integer)])
1061
- else
1061
+ elsif cv.is_a?(Integer)
1062
1062
  T.cast(comparison_value, Integer) <=> T.cast(other_param.comparison_value, Integer)
1063
+ else
1064
+ T.cast(comparison_value, T::Boolean) <=> T.cast(other_param.comparison_value, T::Boolean)
1063
1065
  end
1064
1066
  else
1065
1067
  # these are the same (ignoring reason)
@@ -1689,6 +1691,27 @@ module Udb
1689
1691
  end
1690
1692
  end
1691
1693
 
1694
+ sig { params(eval_cb: EvalCallbackType).returns(T::Array[LogicNode]) }
1695
+ def failing_conjuncts(eval_cb)
1696
+ if @type == LogicNodeType::And
1697
+ # Evaluate each original child independently to find failing conjuncts
1698
+ child_replace_cb = LogicNode.make_replace_cb do |tn|
1699
+ r = eval_cb.call(T.cast(tn.children.fetch(0), TermType))
1700
+ case r
1701
+ when SatisfiedResult::Yes then LogicNode::True
1702
+ when SatisfiedResult::No then LogicNode::False
1703
+ when SatisfiedResult::Maybe then tn
1704
+ else T.absurd(r)
1705
+ end
1706
+ end
1707
+ node_children.select do |child|
1708
+ child.replace_terms(child_replace_cb).reduce.type == LogicNodeType::False
1709
+ end
1710
+ else
1711
+ [self]
1712
+ end
1713
+ end
1714
+
1692
1715
  sig { params(callback: EvalCallbackType).returns(SatisfiedResult) }
1693
1716
  def eval_cb(callback)
1694
1717
  case @type
@@ -2696,6 +2719,9 @@ module Udb
2696
2719
  if xor_with_self
2697
2720
  # xor with self if always false
2698
2721
  False
2722
+ elsif reduced.node_children.all? { |c| c.type == LogicNodeType::True || c.type == LogicNodeType::False }
2723
+ # all children are literals: xor is true iff exactly one child is true
2724
+ reduced.node_children.count { |c| c.type == LogicNodeType::True } == 1 ? True : False
2699
2725
  else
2700
2726
  reduced
2701
2727
  end
@@ -664,6 +664,9 @@ module Udb
664
664
  sig { returns(T.nilable(String)) }
665
665
  def ratification_date = @data["ratification_date"]
666
666
 
667
+ sig { returns(T.nilable(String)) }
668
+ def release_date = @data["release_date"]
669
+
667
670
  sig { returns(T.nilable(T::Array[String])) }
668
671
  def changes = @data["changes"].nil? ? [] : T.cast(@data.fetch("changes"), T::Array[String])
669
672
 
data/lib/udb/version.rb CHANGED
@@ -5,5 +5,5 @@
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module Udb
8
- def self.version = "0.1.3"
8
+ def self.version = "0.1.5"
9
9
  end
@@ -355,7 +355,7 @@ module Udb
355
355
  end
356
356
 
357
357
  if @compile_idl
358
- idl_keys = obj.keys.select { |k| k.end_with?(")") }.reject { |k| k == "sail()" }
358
+ idl_keys = obj.keys.select { |k| k.end_with?(")") }
359
359
  idl_keys.each do |key|
360
360
  idl_source = obj[key]
361
361
 
@@ -677,7 +677,7 @@ module Udb
677
677
  key_text = key_node.value
678
678
 
679
679
  # Check if this is an IDL function key
680
- if key_text.is_a?(String) && key_text.end_with?(")") && key_text != "sail()"
680
+ if key_text.is_a?(String) && key_text.end_with?(")")
681
681
  # Validate the value node
682
682
  if value_node.is_a?(Psych::Nodes::Scalar)
683
683
  # Check if it's a multiline plain scalar
@@ -735,7 +735,7 @@ module Udb
735
735
  when Psych::Nodes::Scalar
736
736
  return unless keys.any?
737
737
 
738
- is_idl_key = keys.last.is_a?(String) && T.must(keys.last).end_with?(")") && keys.last != "sail()"
738
+ is_idl_key = keys.last.is_a?(String) && T.must(keys.last).end_with?(")")
739
739
  marked_offset = cumulative_offsets.fetch(node.start_line) + node.start_column
740
740
 
741
741
  if is_idl_key
data/lib/udb/z3.rb CHANGED
@@ -14,6 +14,8 @@
14
14
  require "forwardable"
15
15
  require "sorbet-runtime"
16
16
  require "udb/version_spec"
17
+
18
+ require_relative "global_opts"
17
19
  require_relative "z3_loader"
18
20
 
19
21
  # Ensure Z3 library is available before requiring the z3 gem
@@ -1057,9 +1059,48 @@ module Udb
1057
1059
  sig { returns(Z3::Solver) }
1058
1060
  attr_reader :solver
1059
1061
 
1062
+ @parallel_enabled = T.let(nil, T.nilable(T::Boolean))
1063
+
1064
+ class << self
1065
+ extend T::Sig
1066
+
1067
+ sig { returns(T.nilable(T::Boolean)) }
1068
+ def parallel_enabled
1069
+ @parallel_enabled
1070
+ end
1071
+
1072
+ sig { params(value: T.nilable(T::Boolean)).void }
1073
+ def parallel_enabled=(value)
1074
+ @parallel_enabled = value
1075
+ end
1076
+
1077
+ sig { params(desired: T::Boolean).void }
1078
+ def configure_parallelization(desired)
1079
+ previous = parallel_enabled
1080
+
1081
+ if !previous.nil? && previous != desired
1082
+ if desired
1083
+ Udb.logger.warn "Z3 parallelization was previously disabled, but is now being enabled"
1084
+ else
1085
+ Udb.logger.warn "Z3 parallelization was previously enabled, but is now being disabled"
1086
+ end
1087
+ end
1088
+
1089
+ Z3.set_param("parallel.enable", desired ? "true" : "false")
1090
+ self.parallel_enabled = desired
1091
+ end
1092
+ end
1093
+
1060
1094
  sig { void }
1061
1095
  def initialize
1096
+ if Udb.global_options.parallel_z3
1097
+ Z3Solver.configure_parallelization(true)
1098
+ else
1099
+ Z3Solver.configure_parallelization(false)
1100
+ end
1101
+
1062
1102
  @solver = T.let(Z3::Solver.new, Z3::Solver)
1103
+
1063
1104
  # Stacks for incremental solving with push/pop
1064
1105
  @ext_vers = T.let([{}], T::Array[T::Hash[String, Z3ExtensionVersion]])
1065
1106
  @ext_reqs = T.let([{}], T::Array[T::Hash[String, Z3ExtensionRequirement]])