udb 0.1.14 → 0.1.16

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 (343) hide show
  1. checksums.yaml +4 -4
  2. data/.data/cfgs/example_rv64_with_overlay.yaml +6 -6
  3. data/.data/cfgs/mc100-32-full-example.yaml +3 -2
  4. data/.data/cfgs/profile/RVA20S64.yaml +2 -0
  5. data/.data/cfgs/profile/RVA20U64.yaml +2 -0
  6. data/.data/cfgs/profile/RVA22S64.yaml +2 -0
  7. data/.data/cfgs/profile/RVA22U64.yaml +2 -0
  8. data/.data/cfgs/profile/RVA23S64.yaml +2 -0
  9. data/.data/cfgs/profile/RVA23U64.yaml +2 -0
  10. data/.data/cfgs/profile/RVB23S64.yaml +2 -0
  11. data/.data/cfgs/profile/RVB23U64.yaml +2 -0
  12. data/.data/cfgs/qc_iu.yaml +3 -2
  13. data/.data/cfgs/rv32-riscv-tests.yaml +5 -4
  14. data/.data/cfgs/rv32-vector.yaml +5 -4
  15. data/.data/cfgs/rv64-riscv-tests.yaml +5 -4
  16. data/.data/cfgs/rv64-vector.yaml +5 -4
  17. data/.data/spec/schemas/README.adoc +3 -0
  18. data/.data/spec/schemas/schema_defs.json +3 -3
  19. data/.data/spec/std/isa/csr/H/hcounteren.layout +3 -3
  20. data/.data/spec/std/isa/csr/H/hcounteren.yaml +31 -31
  21. data/.data/spec/std/isa/csr/H/henvcfg.yaml +1 -1
  22. data/.data/spec/std/isa/csr/H/htimedeltah.yaml +1 -1
  23. data/.data/spec/std/isa/csr/H/htinst.yaml +3 -3
  24. data/.data/spec/std/isa/csr/H/htval.yaml +3 -3
  25. data/.data/spec/std/isa/csr/H/mtinst.yaml +1 -1
  26. data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfg.yaml +1 -1
  27. data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfgh.yaml +1 -1
  28. data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfg.yaml +1 -1
  29. data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfgh.yaml +1 -1
  30. data/.data/spec/std/isa/csr/Smctr/vsctrctl.yaml +1 -1
  31. data/.data/spec/std/isa/csr/Sscofpmf/scountovf.layout +1 -1
  32. data/.data/spec/std/isa/csr/Sscofpmf/scountovf.yaml +29 -29
  33. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10.yaml +4 -4
  34. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10h.yaml +1 -1
  35. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11.yaml +4 -4
  36. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11h.yaml +1 -1
  37. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12.yaml +4 -4
  38. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12h.yaml +1 -1
  39. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13.yaml +4 -4
  40. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13h.yaml +1 -1
  41. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14.yaml +4 -4
  42. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14h.yaml +1 -1
  43. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15.yaml +4 -4
  44. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15h.yaml +1 -1
  45. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16.yaml +4 -4
  46. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16h.yaml +1 -1
  47. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17.yaml +4 -4
  48. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17h.yaml +1 -1
  49. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18.yaml +4 -4
  50. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18h.yaml +1 -1
  51. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19.yaml +4 -4
  52. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19h.yaml +1 -1
  53. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20.yaml +4 -4
  54. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20h.yaml +1 -1
  55. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21.yaml +4 -4
  56. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21h.yaml +1 -1
  57. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22.yaml +4 -4
  58. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22h.yaml +1 -1
  59. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23.yaml +4 -4
  60. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23h.yaml +1 -1
  61. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24.yaml +4 -4
  62. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24h.yaml +1 -1
  63. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25.yaml +4 -4
  64. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25h.yaml +1 -1
  65. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26.yaml +4 -4
  66. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26h.yaml +1 -1
  67. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27.yaml +4 -4
  68. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27h.yaml +1 -1
  69. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28.yaml +4 -4
  70. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28h.yaml +1 -1
  71. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29.yaml +4 -4
  72. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29h.yaml +1 -1
  73. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3.yaml +4 -4
  74. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30.yaml +4 -4
  75. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30h.yaml +1 -1
  76. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31.yaml +4 -4
  77. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31h.yaml +1 -1
  78. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3h.yaml +1 -1
  79. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4.yaml +4 -4
  80. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4h.yaml +1 -1
  81. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5.yaml +4 -4
  82. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5h.yaml +1 -1
  83. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6.yaml +4 -4
  84. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6h.yaml +1 -1
  85. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7.yaml +4 -4
  86. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7h.yaml +1 -1
  87. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8.yaml +4 -4
  88. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8h.yaml +1 -1
  89. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9.yaml +4 -4
  90. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9h.yaml +1 -1
  91. data/.data/spec/std/isa/csr/Zihpm/mhpmcounterN.layout +4 -4
  92. data/.data/spec/std/isa/csr/Zihpm/mhpmcounterNh.layout +1 -1
  93. data/.data/spec/std/isa/csr/hstateen0h.yaml +1 -1
  94. data/.data/spec/std/isa/csr/hstateen1h.yaml +1 -1
  95. data/.data/spec/std/isa/csr/hstateen2h.yaml +1 -1
  96. data/.data/spec/std/isa/csr/hstateen3h.yaml +1 -1
  97. data/.data/spec/std/isa/csr/hstatus.yaml +1 -1
  98. data/.data/spec/std/isa/csr/instreth.yaml +1 -3
  99. data/.data/spec/std/isa/csr/mcycle.yaml +6 -6
  100. data/.data/spec/std/isa/csr/minstret.yaml +3 -3
  101. data/.data/spec/std/isa/csr/minstreth.yaml +2 -2
  102. data/.data/spec/std/isa/csr/mstatus.yaml +14 -20
  103. data/.data/spec/std/isa/csr/mstatush.yaml +1 -1
  104. data/.data/spec/std/isa/csr/mtvec.yaml +16 -57
  105. data/.data/spec/std/isa/csr/senvcfg.yaml +1 -1
  106. data/.data/spec/std/isa/csr/sepc.yaml +4 -3
  107. data/.data/spec/std/isa/csr/sie.yaml +30 -4
  108. data/.data/spec/std/isa/csr/sip.yaml +17 -3
  109. data/.data/spec/std/isa/csr/sscratch.yaml +3 -2
  110. data/.data/spec/std/isa/csr/stval.yaml +3 -2
  111. data/.data/spec/std/isa/csr/stvec.yaml +14 -14
  112. data/.data/spec/std/isa/csr/time.yaml +1 -1
  113. data/.data/spec/std/isa/csr/timeh.yaml +1 -1
  114. data/.data/spec/std/isa/csr/vsepc.yaml +6 -5
  115. data/.data/spec/std/isa/csr/vstval.yaml +1 -1
  116. data/.data/spec/std/isa/csr/vstvec.yaml +17 -17
  117. data/.data/spec/std/isa/ext/M.yaml +4 -0
  118. data/.data/spec/std/isa/ext/Q.yaml +1 -1
  119. data/.data/spec/std/isa/ext/Shgatpa.yaml +1 -0
  120. data/.data/spec/std/isa/ext/Shlcofideleg.yaml +24 -0
  121. data/.data/spec/std/isa/ext/Shvstvecd.yaml +2 -2
  122. data/.data/spec/std/isa/ext/Sspm.yaml +5 -0
  123. data/.data/spec/std/isa/ext/Sstvecd.yaml +2 -2
  124. data/.data/spec/std/isa/ext/Sstvecv.yaml +2 -2
  125. data/.data/spec/std/isa/ext/Supm.yaml +17 -0
  126. data/.data/spec/std/isa/ext/Zcb.yaml +3 -0
  127. data/.data/spec/std/isa/ext/Zfbfmin.yaml +3 -5
  128. data/.data/spec/std/isa/ext/Zibi.yaml +29 -0
  129. data/.data/spec/std/isa/ext/Ziccid.yaml +29 -0
  130. data/.data/spec/std/isa/ext/Zicfilp.yaml +5 -1
  131. data/.data/spec/std/isa/ext/Zicfiss.yaml +20 -1
  132. data/.data/spec/std/isa/ext/Zihpm.yaml +3 -0
  133. data/.data/spec/std/isa/ext/Zilx.yaml +58 -0
  134. data/.data/spec/std/isa/ext/Zkt.yaml +33 -1
  135. data/.data/spec/std/isa/ext/Zvabd.yaml +21 -0
  136. data/.data/spec/std/isa/ext/Zvbc.yaml +3 -0
  137. data/.data/spec/std/isa/ext/Zvkb.yaml +3 -0
  138. data/.data/spec/std/isa/ext/Zvkg.yaml +3 -0
  139. data/.data/spec/std/isa/ext/Zvkned.yaml +3 -0
  140. data/.data/spec/std/isa/ext/Zvknha.yaml +3 -0
  141. data/.data/spec/std/isa/ext/Zvknhb.yaml +4 -2
  142. data/.data/spec/std/isa/ext/Zvksed.yaml +3 -0
  143. data/.data/spec/std/isa/ext/Zvksh.yaml +3 -0
  144. data/.data/spec/std/isa/ext/Zvkt.yaml +3 -0
  145. data/.data/spec/std/isa/inst/B/roriw.yaml +1 -1
  146. data/.data/spec/std/isa/inst/B/rorw.yaml +1 -1
  147. data/.data/spec/std/isa/inst/C/c.add.yaml +1 -0
  148. data/.data/spec/std/isa/inst/C/c.addi.yaml +1 -0
  149. data/.data/spec/std/isa/inst/C/c.addiw.yaml +1 -0
  150. data/.data/spec/std/isa/inst/C/c.addw.yaml +1 -0
  151. data/.data/spec/std/isa/inst/C/c.and.yaml +1 -0
  152. data/.data/spec/std/isa/inst/C/c.andi.yaml +1 -0
  153. data/.data/spec/std/isa/inst/C/c.lui.yaml +1 -0
  154. data/.data/spec/std/isa/inst/C/c.mv.yaml +1 -0
  155. data/.data/spec/std/isa/inst/C/c.nop.yaml +13 -2
  156. data/.data/spec/std/isa/inst/C/c.or.yaml +1 -0
  157. data/.data/spec/std/isa/inst/C/c.slli.yaml +1 -0
  158. data/.data/spec/std/isa/inst/C/c.srai.yaml +1 -0
  159. data/.data/spec/std/isa/inst/C/c.srli.yaml +1 -0
  160. data/.data/spec/std/isa/inst/C/c.sub.yaml +1 -0
  161. data/.data/spec/std/isa/inst/C/c.subw.yaml +1 -0
  162. data/.data/spec/std/isa/inst/C/c.xor.yaml +1 -0
  163. data/.data/spec/std/isa/inst/D/fld.yaml +1 -0
  164. data/.data/spec/std/isa/inst/D/fsd.yaml +1 -0
  165. data/.data/spec/std/isa/inst/F/fadd.s.yaml +1 -1
  166. data/.data/spec/std/isa/inst/F/fcvt.l.s.yaml +1 -1
  167. data/.data/spec/std/isa/inst/F/fcvt.lu.s.yaml +1 -1
  168. data/.data/spec/std/isa/inst/F/fcvt.s.l.yaml +1 -1
  169. data/.data/spec/std/isa/inst/F/fcvt.s.lu.yaml +1 -1
  170. data/.data/spec/std/isa/inst/F/fcvt.s.wu.yaml +1 -1
  171. data/.data/spec/std/isa/inst/F/fcvt.w.s.yaml +1 -1
  172. data/.data/spec/std/isa/inst/F/fcvt.wu.s.yaml +1 -1
  173. data/.data/spec/std/isa/inst/F/fdiv.s.yaml +1 -1
  174. data/.data/spec/std/isa/inst/F/feq.s.yaml +1 -1
  175. data/.data/spec/std/isa/inst/F/fle.s.yaml +1 -1
  176. data/.data/spec/std/isa/inst/F/flt.s.yaml +1 -1
  177. data/.data/spec/std/isa/inst/F/flw.yaml +2 -1
  178. data/.data/spec/std/isa/inst/F/fmadd.s.yaml +1 -1
  179. data/.data/spec/std/isa/inst/F/fmax.s.yaml +1 -1
  180. data/.data/spec/std/isa/inst/F/fmin.s.yaml +1 -1
  181. data/.data/spec/std/isa/inst/F/fmsub.s.yaml +1 -1
  182. data/.data/spec/std/isa/inst/F/fmul.s.yaml +1 -1
  183. data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +4 -1
  184. data/.data/spec/std/isa/inst/F/fmv.x.w.yaml +4 -1
  185. data/.data/spec/std/isa/inst/F/fnmadd.s.yaml +1 -1
  186. data/.data/spec/std/isa/inst/F/fnmsub.s.yaml +1 -1
  187. data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +1 -1
  188. data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +1 -1
  189. data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +1 -1
  190. data/.data/spec/std/isa/inst/F/fsqrt.s.yaml +1 -1
  191. data/.data/spec/std/isa/inst/F/fsub.s.yaml +1 -1
  192. data/.data/spec/std/isa/inst/F/fsw.yaml +2 -1
  193. data/.data/spec/std/isa/inst/I/sd.yaml +1 -1
  194. data/.data/spec/std/isa/inst/M/mul.yaml +1 -3
  195. data/.data/spec/std/isa/inst/M/mulh.yaml +1 -3
  196. data/.data/spec/std/isa/inst/M/mulhsu.yaml +1 -3
  197. data/.data/spec/std/isa/inst/M/mulhu.yaml +1 -3
  198. data/.data/spec/std/isa/inst/M/mulw.yaml +1 -3
  199. data/.data/spec/std/isa/inst/Q/fadd.q.yaml +2 -2
  200. data/.data/spec/std/isa/inst/Q/fclass.q.yaml +5 -5
  201. data/.data/spec/std/isa/inst/Q/flq.yaml +1 -0
  202. data/.data/spec/std/isa/inst/Q/fsq.yaml +1 -0
  203. data/.data/spec/std/isa/inst/V/vmv.v.i.yaml +1 -0
  204. data/.data/spec/std/isa/inst/Zbb/ctzw.yaml +6 -1
  205. data/.data/spec/std/isa/inst/Zcb/c.mul.yaml +1 -0
  206. data/.data/spec/std/isa/inst/Zcb/c.not.yaml +1 -0
  207. data/.data/spec/std/isa/inst/Zcb/c.zext.b.yaml +2 -7
  208. data/.data/spec/std/isa/inst/Zcb/c.zext.w.yaml +1 -1
  209. data/.data/spec/std/isa/inst/Zcmop/c.mop.1.yaml +2 -0
  210. data/.data/spec/std/isa/inst/Zcmop/c.mop.5.yaml +2 -0
  211. data/.data/spec/std/isa/inst/Zcmop/c.mop.N.layout +7 -0
  212. data/.data/spec/std/isa/inst/{Q → Zfa}/fleq.q.yaml +0 -1
  213. data/.data/spec/std/isa/inst/{F → Zfa}/fleq.s.yaml +1 -1
  214. data/.data/spec/std/isa/inst/{Q → Zfa}/fli.q.yaml +1 -1
  215. data/.data/spec/std/isa/inst/Zfa/fli.s.yaml +1 -1
  216. data/.data/spec/std/isa/inst/{Q → Zfa}/fltq.q.yaml +2 -3
  217. data/.data/spec/std/isa/inst/{F → Zfa}/fltq.s.yaml +1 -1
  218. data/.data/spec/std/isa/inst/{Q → Zfa}/fmaxm.q.yaml +0 -1
  219. data/.data/spec/std/isa/inst/Zfa/fmaxm.s.yaml +1 -1
  220. data/.data/spec/std/isa/inst/{Q → Zfa}/fminm.q.yaml +0 -1
  221. data/.data/spec/std/isa/inst/Zfa/fminm.s.yaml +1 -1
  222. data/.data/spec/std/isa/inst/{Q → Zfa}/fmvp.q.x.yaml +1 -1
  223. data/.data/spec/std/isa/inst/Zfa/fround.s.yaml +1 -1
  224. data/.data/spec/std/isa/inst/Zfa/froundnx.s.yaml +1 -1
  225. data/.data/spec/std/isa/inst/Zfh/flh.yaml +5 -2
  226. data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +3 -1
  227. data/.data/spec/std/isa/inst/Zfh/fmv.x.h.yaml +3 -1
  228. data/.data/spec/std/isa/inst/Zfh/fsh.yaml +4 -1
  229. data/.data/spec/std/isa/inst/Zibi/beqi.yaml +45 -0
  230. data/.data/spec/std/isa/inst/Zibi/bnei.yaml +45 -0
  231. data/.data/spec/std/isa/inst/Zicbom/cbo.inval.yaml +1 -1
  232. data/.data/spec/std/isa/inst/Zicfiss/c.sspopchk.yaml +30 -0
  233. data/.data/spec/std/isa/inst/Zicfiss/c.sspush.yaml +29 -0
  234. data/.data/spec/std/isa/inst/Zicfiss/ssamoswap.d.yaml +1 -1
  235. data/.data/spec/std/isa/inst/Zicfiss/ssamoswap.w.yaml +1 -1
  236. data/.data/spec/std/isa/inst/Zicfiss/sspopchk.yaml +63 -0
  237. data/.data/spec/std/isa/inst/Zicfiss/sspush.yaml +63 -0
  238. data/.data/spec/std/isa/inst/Zicond/czero.eqz.yaml +1 -1
  239. data/.data/spec/std/isa/inst/Zicond/czero.nez.yaml +1 -1
  240. data/.data/spec/std/isa/inst/Zicsr/csrrw.yaml +12 -0
  241. data/.data/spec/std/isa/inst/Zilx/lxd.yaml +38 -0
  242. data/.data/spec/std/isa/inst/Zilx/lxh.yaml +35 -0
  243. data/.data/spec/std/isa/inst/Zilx/lxhu.yaml +35 -0
  244. data/.data/spec/std/isa/inst/Zilx/lxsb.yaml +40 -0
  245. data/.data/spec/std/isa/inst/Zilx/lxsbu.yaml +40 -0
  246. data/.data/spec/std/isa/inst/Zilx/lxsd.yaml +38 -0
  247. data/.data/spec/std/isa/inst/Zilx/lxsh.yaml +35 -0
  248. data/.data/spec/std/isa/inst/Zilx/lxshu.yaml +35 -0
  249. data/.data/spec/std/isa/inst/Zilx/lxsuwb.yaml +40 -0
  250. data/.data/spec/std/isa/inst/Zilx/lxsuwbu.yaml +40 -0
  251. data/.data/spec/std/isa/inst/Zilx/lxsuwd.yaml +39 -0
  252. data/.data/spec/std/isa/inst/Zilx/lxsuwh.yaml +40 -0
  253. data/.data/spec/std/isa/inst/Zilx/lxsuwhu.yaml +40 -0
  254. data/.data/spec/std/isa/inst/Zilx/lxsuww.yaml +40 -0
  255. data/.data/spec/std/isa/inst/Zilx/lxsuwwu.yaml +40 -0
  256. data/.data/spec/std/isa/inst/Zilx/lxsw.yaml +35 -0
  257. data/.data/spec/std/isa/inst/Zilx/lxswu.yaml +39 -0
  258. data/.data/spec/std/isa/inst/Zilx/lxw.yaml +35 -0
  259. data/.data/spec/std/isa/inst/Zilx/lxwu.yaml +39 -0
  260. data/.data/spec/std/isa/inst/Zimop/mop.r.28.yaml +1 -2
  261. data/.data/spec/std/isa/inst/Zimop/mop.r.N.layout +1 -2
  262. data/.data/spec/std/isa/inst/Zimop/mop.rr.7.yaml +1 -2
  263. data/.data/spec/std/isa/inst/Zimop/mop.rr.N.layout +1 -2
  264. data/.data/spec/std/isa/inst/Zvabd/vabd.vv.yaml +67 -0
  265. data/.data/spec/std/isa/inst/Zvabd/vabdu.vv.yaml +67 -0
  266. data/.data/spec/std/isa/inst/Zvabd/vabs.v.yaml +61 -0
  267. data/.data/spec/std/isa/inst/Zvabd/vwabda.vv.yaml +72 -0
  268. data/.data/spec/std/isa/inst/Zvabd/vwabdau.vv.yaml +72 -0
  269. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vandn.vv.yaml +1 -1
  270. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vandn.vx.yaml +1 -1
  271. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vbrev8.v.yaml +1 -1
  272. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vrev8.v.yaml +1 -1
  273. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vrol.vv.yaml +1 -1
  274. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vrol.vx.yaml +1 -1
  275. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vror.vi.yaml +1 -1
  276. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vror.vv.yaml +1 -1
  277. data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vror.vx.yaml +1 -1
  278. data/.data/spec/std/isa/isa/fp.idl +42 -18
  279. data/.data/spec/std/isa/isa/globals.isa +1 -1
  280. data/.data/spec/std/isa/isa/util.idl +3 -3
  281. data/.data/spec/std/isa/param/CACHE_BLOCK_SIZE.yaml +70 -6
  282. data/.data/spec/std/isa/param/COUNTINHIBIT_EN.yaml +9 -0
  283. data/.data/spec/std/isa/param/ELEN.yaml +27 -5
  284. data/.data/spec/std/isa/param/HCONTEXT_AVAILABLE.yaml +1 -1
  285. data/.data/spec/std/isa/param/HCOUNTENABLE_EN.yaml +13 -0
  286. data/.data/spec/std/isa/param/HPM_COUNTER_EN.yaml +13 -3
  287. data/.data/spec/std/isa/param/HPM_EVENTS.yaml +0 -3
  288. data/.data/spec/std/isa/param/MCOUNTENABLE_EN.yaml +8 -0
  289. data/.data/spec/std/isa/param/MTVEC_BASE_ALIGNMENT_DIRECT.yaml +71 -65
  290. data/.data/spec/std/isa/param/MTVEC_BASE_ALIGNMENT_VECTORED.yaml +71 -65
  291. data/.data/spec/std/isa/param/MUTABLE_MISA_H.yaml +1 -1
  292. data/.data/spec/std/isa/param/MUTABLE_MISA_S.yaml +1 -1
  293. data/.data/spec/std/isa/param/STVAL_WIDTH.yaml +3 -2
  294. data/.data/spec/std/isa/param/STVEC_BASE_ALIGNMENT_VECTORED.yaml +100 -0
  295. data/.data/spec/std/isa/param/STVEC_MODES.yaml +31 -0
  296. data/.data/spec/std/isa/param/SV32_VSMODE_TRANSLATION.yaml +1 -1
  297. data/.data/spec/std/isa/param/SXLEN.yaml +2 -2
  298. data/.data/spec/std/isa/param/TINST_VALUE_ON_FINAL_INSTRUCTION_GUEST_PAGE_FAULT.yaml +1 -1
  299. data/.data/spec/std/isa/param/TINST_VALUE_ON_FINAL_LOAD_GUEST_PAGE_FAULT.yaml +1 -1
  300. data/.data/spec/std/isa/param/TINST_VALUE_ON_FINAL_STORE_AMO_GUEST_PAGE_FAULT.yaml +1 -1
  301. data/.data/spec/std/isa/param/TINST_VALUE_ON_LOAD_ADDRESS_MISALIGNED.yaml +1 -1
  302. data/.data/spec/std/isa/param/TINST_VALUE_ON_STORE_AMO_ADDRESS_MISALIGNED.yaml +1 -1
  303. data/.data/spec/std/isa/param/UXLEN.yaml +1 -1
  304. data/.data/spec/std/isa/param/VLEN.yaml +16 -7
  305. data/.data/spec/std/isa/param/VSTVEC_MODES.yaml +31 -0
  306. data/lib/udb/Z3_VERSION +1 -1
  307. data/lib/udb/config.rb +1 -1
  308. data/lib/udb/obj/csr.rb +1 -1
  309. data/lib/udb/obj/csr_field.rb +1 -1
  310. data/lib/udb/obj/extension.rb +1 -1
  311. data/lib/udb/version.rb +1 -1
  312. data/lib/udb/version_spec.rb +1 -1
  313. data/lib/udb/z3.rb +29 -7
  314. metadata +80 -50
  315. data/.data/spec/std/isa/inst/Zicfiss/sspopchk.x1.yaml +0 -25
  316. data/.data/spec/std/isa/inst/Zicfiss/sspopchk.x5.yaml +0 -25
  317. data/.data/spec/std/isa/inst/Zicfiss/sspush.x1.yaml +0 -25
  318. data/.data/spec/std/isa/inst/Zicfiss/sspush.x5.yaml +0 -25
  319. data/.data/spec/std/isa/param/STVEC_MODE_DIRECT.yaml +0 -21
  320. data/.data/spec/std/isa/param/STVEC_MODE_VECTORED.yaml +0 -19
  321. data/.data/spec/std/isa/param/VSTVEC_MODE_DIRECT.yaml +0 -21
  322. data/.data/spec/std/isa/param/VSTVEC_MODE_VECTORED.yaml +0 -21
  323. /data/.data/spec/std/isa/inst/{Smdbltrp → Smctr}/sctrclr.yaml +0 -0
  324. /data/.data/spec/std/isa/inst/{D → Zfa}/fcvtmod.w.d.yaml +0 -0
  325. /data/.data/spec/std/isa/inst/{D → Zfa}/fleq.d.yaml +0 -0
  326. /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fleq.h.yaml +0 -0
  327. /data/.data/spec/std/isa/inst/{D → Zfa}/fli.d.yaml +0 -0
  328. /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fli.h.yaml +0 -0
  329. /data/.data/spec/std/isa/inst/{D → Zfa}/fltq.d.yaml +0 -0
  330. /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fltq.h.yaml +0 -0
  331. /data/.data/spec/std/isa/inst/{D → Zfa}/fmaxm.d.yaml +0 -0
  332. /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fmaxm.h.yaml +0 -0
  333. /data/.data/spec/std/isa/inst/{D → Zfa}/fminm.d.yaml +0 -0
  334. /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fminm.h.yaml +0 -0
  335. /data/.data/spec/std/isa/inst/{D → Zfa}/fmvh.x.d.yaml +0 -0
  336. /data/.data/spec/std/isa/inst/{Q → Zfa}/fmvh.x.q.yaml +0 -0
  337. /data/.data/spec/std/isa/inst/{D → Zfa}/fmvp.d.x.yaml +0 -0
  338. /data/.data/spec/std/isa/inst/{D → Zfa}/fround.d.yaml +0 -0
  339. /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fround.h.yaml +0 -0
  340. /data/.data/spec/std/isa/inst/{Q → Zfa}/fround.q.yaml +0 -0
  341. /data/.data/spec/std/isa/inst/{D → Zfa}/froundnx.d.yaml +0 -0
  342. /data/.data/spec/std/isa/inst/{Zfh → Zfa}/froundnx.h.yaml +0 -0
  343. /data/.data/spec/std/isa/inst/{Q → Zfa}/froundnx.q.yaml +0 -0
@@ -8,15 +8,24 @@ kind: parameter
8
8
  name: VLEN
9
9
  description: |
10
10
  The number of bits in a single vector register.
11
- long_name: TODO
11
+ long_name: vector register bit width
12
12
  schema:
13
13
  type: integer
14
- minimum: 32
15
- maximum: 65536
16
- # requirements:
17
- # idl(): |
18
- # -> (VLEN >= ELEN) && (VLEN <='h10000) && (popcount(VLEN) == 1);
19
- # reason: VLEN >= ELEN, which must be a power of 2, and must be no greater than 2^16.
14
+ enum:
15
+ [
16
+ 0x20,
17
+ 0x40,
18
+ 0x80,
19
+ 0x100,
20
+ 0x200,
21
+ 0x400,
22
+ 0x800,
23
+ 0x1000,
24
+ 0x2000,
25
+ 0x4000,
26
+ 0x8000,
27
+ 0x10000,
28
+ ]
20
29
  definedBy:
21
30
  extension:
22
31
  name: Zvl32b
@@ -0,0 +1,31 @@
1
+ # Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/param_schema.json
5
+
6
+ $schema: param_schema.json#
7
+ kind: parameter
8
+ name: VSTVEC_MODES
9
+ long_name: |
10
+ Modes supported by `vstvec.MODE`
11
+ definedBy:
12
+ extension:
13
+ name: H
14
+ description: |
15
+ Options:
16
+
17
+ 0::
18
+ Direct; All traps set `pc` to `vstvec.BASE`
19
+ 1::
20
+ Vectored; Asynchronous interrupts set `pc` to `vstvec.BASE` + 4 x cause.
21
+
22
+ If only one mode is given, `vstvec.MODE` is assumed to be read-only with that value.
23
+ Otherwise, `vstvec.MODE` is read-write.
24
+ schema:
25
+ type: array
26
+ items:
27
+ type: integer
28
+ enum: [0, 1]
29
+ minItems: 1
30
+ maxItems: 2
31
+ uniqueItems: true
data/lib/udb/Z3_VERSION CHANGED
@@ -1 +1 @@
1
- z3-4.16.0
1
+ z3-5.0.0
data/lib/udb/config.rb CHANGED
@@ -238,7 +238,7 @@ module Udb
238
238
  def initialize(data, info)
239
239
  super(data, info)
240
240
 
241
- @param_values = @data.key?("params") ? @data["params"] : [].freeze
241
+ @param_values = @data.key?("params") ? @data["params"] : {}.freeze
242
242
 
243
243
  @mxlen = @data.dig("params", "MXLEN")
244
244
 
data/lib/udb/obj/csr.rb CHANGED
@@ -198,7 +198,7 @@ module Udb
198
198
  # VSXLEN condition applies if VS-mode is possible
199
199
  (cfg_arch.mxlen.nil?) || \
200
200
  (cfg_arch.possible_extensions.map(&:name).include?("S") && \
201
- (cfg_arch.param_values["SXLEN"].nil? || cfg_arch.param_values["SXLEN"].size > 1)) && \
201
+ (cfg_arch.param_values["SXLEN"].nil? || cfg_arch.param_values["SXLEN"].size > 1)) || \
202
202
  (cfg_arch.possible_extensions.map(&:name).include?("H") && \
203
203
  (cfg_arch.param_values["VSXLEN"].nil? || cfg_arch.param_values["VSXLEN"].size > 1))
204
204
  else
@@ -715,7 +715,7 @@ module Udb
715
715
  sig { override.returns(T::Boolean) }
716
716
  def defined_in_base64? = base != 32
717
717
 
718
- sig { params(xlen: Integer).returns(T::Boolean) }
718
+ sig { override.params(xlen: Integer).returns(T::Boolean) }
719
719
  def defined_in_base?(xlen) = xlen == 32 ? defined_in_base32? : defined_in_base64?
720
720
 
721
721
  # @return [Boolean] Whether or not this field exists for any XLEN
@@ -403,7 +403,7 @@ module Udb
403
403
  sig { override.params(other_ext: Object).returns(T.nilable(Integer)).checked(:never) }
404
404
  def <=>(other_ext)
405
405
  return nil unless other_ext.is_a?(Extension)
406
- other_ext.name <=> name
406
+ name <=> other_ext.name
407
407
  end
408
408
 
409
409
  # returns list of exception codes that are defined by any version of this extension
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.14"
8
+ def self.version = "0.1.16"
9
9
  end
@@ -114,7 +114,7 @@ module Udb
114
114
  sig { params(other: T.untyped).returns(T.nilable(Integer)).checked(:never) }
115
115
  def <=>(other)
116
116
  if other.is_a?(String)
117
- VersionSpec.new(other) <=> self
117
+ self <=> VersionSpec.new(other)
118
118
  elsif other.is_a?(VersionSpec)
119
119
  if @major != other.major
120
120
  @major <=> other.major
data/lib/udb/z3.rb CHANGED
@@ -318,12 +318,13 @@ module Udb
318
318
  # Supported JSON schema features:
319
319
  # - Type constraints (boolean, integer, string, array)
320
320
  # - Value constraints (const, enum, minimum, maximum)
321
- # - Composition (allOf)
321
+ # - Composition (allOf; anyOf for boolean, integer, and string)
322
322
  # - References ($ref to uint32/uint64)
323
323
  # - Array constraints (items, minItems, maxItems, contains, uniqueItems)
324
324
  #
325
325
  # Not yet supported (TODO):
326
- # - anyOf, oneOf, noneOf (would require disjunctive constraints)
326
+ # - anyOf for array
327
+ # - oneOf, noneOf
327
328
  # - if/then/else (conditional schemas)
328
329
  class Z3ParameterTerm
329
330
  extend T::Sig
@@ -341,6 +342,7 @@ module Udb
341
342
  # - enum: one of several values
342
343
  # - minimum/maximum: range bounds (unsigned comparison)
343
344
  # - allOf: conjunction of subschemas
345
+ # - anyOf: inclusive disjunction of subschemas (at least one must hold)
344
346
  # - $ref: references to uint32/uint64 types
345
347
  #
346
348
  # @param solver [Z3Solver] The solver to add assertions to
@@ -385,12 +387,15 @@ module Udb
385
387
 
386
388
  if schema_hsh.key?("allOf")
387
389
  schema_hsh.fetch("allOf").each do |h|
388
- assertions += constrain_int(solver, term, h)
390
+ assertions += constrain_int(solver, term, h, assert: false)
389
391
  end
390
392
  end
391
393
 
392
394
  if schema_hsh.key?("anyOf")
393
- raise "TODO: anyOf not yet implemented for integer constraints"
395
+ branches = schema_hsh.fetch("anyOf").map do |h|
396
+ constrain_int(solver, term, h, assert: false)
397
+ end
398
+ assertions << any_of_constraint(branches)
394
399
  end
395
400
 
396
401
  if schema_hsh.key?("oneOf")
@@ -433,6 +438,7 @@ module Udb
433
438
  # Handles JSON schema keywords:
434
439
  # - const: exact boolean value
435
440
  # - allOf: conjunction of subschemas
441
+ # - anyOf: inclusive disjunction of subschemas (at least one must hold)
436
442
  #
437
443
  # @param solver [Z3Solver] The solver to add assertions to
438
444
  # @param term [Z3::BoolExpr] The Z3 boolean term to constrain
@@ -458,12 +464,15 @@ module Udb
458
464
 
459
465
  if schema_hsh.key?("allOf")
460
466
  schema_hsh.fetch("allOf").each do |h|
461
- assertions += constrain_bool(solver, term, h)
467
+ assertions += constrain_bool(solver, term, h, assert: false)
462
468
  end
463
469
  end
464
470
 
465
471
  if schema_hsh.key?("anyOf")
466
- raise "TODO: anyOf not yet implemented for boolean constraints"
472
+ branches = schema_hsh.fetch("anyOf").map do |h|
473
+ constrain_bool(solver, term, h, assert: false)
474
+ end
475
+ assertions << any_of_constraint(branches)
467
476
  end
468
477
 
469
478
  if schema_hsh.key?("oneOf")
@@ -492,6 +501,7 @@ module Udb
492
501
  # Handles JSON schema keywords:
493
502
  # - const: exact string value (compared via hash)
494
503
  # - enum: one of several string values (compared via hash)
504
+ # - anyOf: inclusive disjunction of subschemas (at least one must hold)
495
505
  #
496
506
  # @param solver [Z3Solver] The solver to add assertions to
497
507
  # @param term [Z3::IntExpr] The Z3 integer term representing the string hash
@@ -526,7 +536,10 @@ module Udb
526
536
  end
527
537
 
528
538
  if schema_hsh.key?("anyOf")
529
- raise "TODO: anyOf not yet implemented for string constraints"
539
+ branches = schema_hsh.fetch("anyOf").map do |h|
540
+ constrain_string(solver, term, h, assert: false)
541
+ end
542
+ assertions << any_of_constraint(branches)
530
543
  end
531
544
 
532
545
  if schema_hsh.key?("oneOf")
@@ -547,6 +560,15 @@ module Udb
547
560
  assertions
548
561
  end
549
562
 
563
+ sig { params(branches: T::Array[T::Array[Z3::BoolExpr]]).returns(Z3::BoolExpr) }
564
+ def self.any_of_constraint(branches)
565
+ expressions = branches.map do |branch|
566
+ branch.reduce(Z3.True) { |expression, assertion| expression & assertion }
567
+ end
568
+ expressions.reduce(Z3.False) { |expression, branch| expression | branch }
569
+ end
570
+ private_class_method :any_of_constraint
571
+
550
572
  # Extract array constraints from JSON schema
551
573
  #
552
574
  # Processes JSON schema array keywords and returns an ArrayConstraints object
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: udb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Hower
8
8
  - James Ball
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-18 00:00:00.000000000 Z
11
+ date: 2026-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.1.5
75
+ version: 0.1.7
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.1.5
82
+ version: 0.1.7
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json_schemer
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -1213,6 +1213,7 @@ files:
1213
1213
  - ".data/spec/std/isa/ext/Sha.yaml"
1214
1214
  - ".data/spec/std/isa/ext/Shcounterenw.yaml"
1215
1215
  - ".data/spec/std/isa/ext/Shgatpa.yaml"
1216
+ - ".data/spec/std/isa/ext/Shlcofideleg.yaml"
1216
1217
  - ".data/spec/std/isa/ext/Shtvala.yaml"
1217
1218
  - ".data/spec/std/isa/ext/Shvsatpa.yaml"
1218
1219
  - ".data/spec/std/isa/ext/Shvstvala.yaml"
@@ -1299,12 +1300,14 @@ files:
1299
1300
  - ".data/spec/std/isa/ext/Zfinx.yaml"
1300
1301
  - ".data/spec/std/isa/ext/Zhinx.yaml"
1301
1302
  - ".data/spec/std/isa/ext/Zhinxmin.yaml"
1303
+ - ".data/spec/std/isa/ext/Zibi.yaml"
1302
1304
  - ".data/spec/std/isa/ext/Zic64b.yaml"
1303
1305
  - ".data/spec/std/isa/ext/Zicbom.yaml"
1304
1306
  - ".data/spec/std/isa/ext/Zicbop.yaml"
1305
1307
  - ".data/spec/std/isa/ext/Zicboz.yaml"
1306
1308
  - ".data/spec/std/isa/ext/Ziccamoa.yaml"
1307
1309
  - ".data/spec/std/isa/ext/Ziccamoc.yaml"
1310
+ - ".data/spec/std/isa/ext/Ziccid.yaml"
1308
1311
  - ".data/spec/std/isa/ext/Ziccif.yaml"
1309
1312
  - ".data/spec/std/isa/ext/Zicclsm.yaml"
1310
1313
  - ".data/spec/std/isa/ext/Ziccrse.yaml"
@@ -1318,6 +1321,7 @@ files:
1318
1321
  - ".data/spec/std/isa/ext/Zihintpause.yaml"
1319
1322
  - ".data/spec/std/isa/ext/Zihpm.yaml"
1320
1323
  - ".data/spec/std/isa/ext/Zilsd.yaml"
1324
+ - ".data/spec/std/isa/ext/Zilx.yaml"
1321
1325
  - ".data/spec/std/isa/ext/Zimop.yaml"
1322
1326
  - ".data/spec/std/isa/ext/Zk.yaml"
1323
1327
  - ".data/spec/std/isa/ext/Zkn.yaml"
@@ -1331,6 +1335,7 @@ files:
1331
1335
  - ".data/spec/std/isa/ext/Zkt.yaml"
1332
1336
  - ".data/spec/std/isa/ext/Zmmul.yaml"
1333
1337
  - ".data/spec/std/isa/ext/Ztso.yaml"
1338
+ - ".data/spec/std/isa/ext/Zvabd.yaml"
1334
1339
  - ".data/spec/std/isa/ext/Zvbb.yaml"
1335
1340
  - ".data/spec/std/isa/ext/Zvbc.yaml"
1336
1341
  - ".data/spec/std/isa/ext/Zve32f.yaml"
@@ -1420,30 +1425,20 @@ files:
1420
1425
  - ".data/spec/std/isa/inst/D/fcvt.s.d.yaml"
1421
1426
  - ".data/spec/std/isa/inst/D/fcvt.w.d.yaml"
1422
1427
  - ".data/spec/std/isa/inst/D/fcvt.wu.d.yaml"
1423
- - ".data/spec/std/isa/inst/D/fcvtmod.w.d.yaml"
1424
1428
  - ".data/spec/std/isa/inst/D/fdiv.d.yaml"
1425
1429
  - ".data/spec/std/isa/inst/D/feq.d.yaml"
1426
1430
  - ".data/spec/std/isa/inst/D/fld.yaml"
1427
1431
  - ".data/spec/std/isa/inst/D/fle.d.yaml"
1428
- - ".data/spec/std/isa/inst/D/fleq.d.yaml"
1429
- - ".data/spec/std/isa/inst/D/fli.d.yaml"
1430
1432
  - ".data/spec/std/isa/inst/D/flt.d.yaml"
1431
- - ".data/spec/std/isa/inst/D/fltq.d.yaml"
1432
1433
  - ".data/spec/std/isa/inst/D/fmadd.d.yaml"
1433
1434
  - ".data/spec/std/isa/inst/D/fmax.d.yaml"
1434
- - ".data/spec/std/isa/inst/D/fmaxm.d.yaml"
1435
1435
  - ".data/spec/std/isa/inst/D/fmin.d.yaml"
1436
- - ".data/spec/std/isa/inst/D/fminm.d.yaml"
1437
1436
  - ".data/spec/std/isa/inst/D/fmsub.d.yaml"
1438
1437
  - ".data/spec/std/isa/inst/D/fmul.d.yaml"
1439
1438
  - ".data/spec/std/isa/inst/D/fmv.d.x.yaml"
1440
1439
  - ".data/spec/std/isa/inst/D/fmv.x.d.yaml"
1441
- - ".data/spec/std/isa/inst/D/fmvh.x.d.yaml"
1442
- - ".data/spec/std/isa/inst/D/fmvp.d.x.yaml"
1443
1440
  - ".data/spec/std/isa/inst/D/fnmadd.d.yaml"
1444
1441
  - ".data/spec/std/isa/inst/D/fnmsub.d.yaml"
1445
- - ".data/spec/std/isa/inst/D/fround.d.yaml"
1446
- - ".data/spec/std/isa/inst/D/froundnx.d.yaml"
1447
1442
  - ".data/spec/std/isa/inst/D/fsd.yaml"
1448
1443
  - ".data/spec/std/isa/inst/D/fsgnj.d.yaml"
1449
1444
  - ".data/spec/std/isa/inst/D/fsgnjn.d.yaml"
@@ -1463,9 +1458,7 @@ files:
1463
1458
  - ".data/spec/std/isa/inst/F/fdiv.s.yaml"
1464
1459
  - ".data/spec/std/isa/inst/F/feq.s.yaml"
1465
1460
  - ".data/spec/std/isa/inst/F/fle.s.yaml"
1466
- - ".data/spec/std/isa/inst/F/fleq.s.yaml"
1467
1461
  - ".data/spec/std/isa/inst/F/flt.s.yaml"
1468
- - ".data/spec/std/isa/inst/F/fltq.s.yaml"
1469
1462
  - ".data/spec/std/isa/inst/F/flw.yaml"
1470
1463
  - ".data/spec/std/isa/inst/F/fmadd.s.yaml"
1471
1464
  - ".data/spec/std/isa/inst/F/fmax.s.yaml"
@@ -1584,24 +1577,15 @@ files:
1584
1577
  - ".data/spec/std/isa/inst/Q/fdiv.q.yaml"
1585
1578
  - ".data/spec/std/isa/inst/Q/feq.q.yaml"
1586
1579
  - ".data/spec/std/isa/inst/Q/fle.q.yaml"
1587
- - ".data/spec/std/isa/inst/Q/fleq.q.yaml"
1588
- - ".data/spec/std/isa/inst/Q/fli.q.yaml"
1589
1580
  - ".data/spec/std/isa/inst/Q/flq.yaml"
1590
1581
  - ".data/spec/std/isa/inst/Q/flt.q.yaml"
1591
- - ".data/spec/std/isa/inst/Q/fltq.q.yaml"
1592
1582
  - ".data/spec/std/isa/inst/Q/fmadd.q.yaml"
1593
1583
  - ".data/spec/std/isa/inst/Q/fmax.q.yaml"
1594
- - ".data/spec/std/isa/inst/Q/fmaxm.q.yaml"
1595
1584
  - ".data/spec/std/isa/inst/Q/fmin.q.yaml"
1596
- - ".data/spec/std/isa/inst/Q/fminm.q.yaml"
1597
1585
  - ".data/spec/std/isa/inst/Q/fmsub.q.yaml"
1598
1586
  - ".data/spec/std/isa/inst/Q/fmul.q.yaml"
1599
- - ".data/spec/std/isa/inst/Q/fmvh.x.q.yaml"
1600
- - ".data/spec/std/isa/inst/Q/fmvp.q.x.yaml"
1601
1587
  - ".data/spec/std/isa/inst/Q/fnmadd.q.yaml"
1602
1588
  - ".data/spec/std/isa/inst/Q/fnmsub.q.yaml"
1603
- - ".data/spec/std/isa/inst/Q/fround.q.yaml"
1604
- - ".data/spec/std/isa/inst/Q/froundnx.q.yaml"
1605
1589
  - ".data/spec/std/isa/inst/Q/fsgnj.q.yaml"
1606
1590
  - ".data/spec/std/isa/inst/Q/fsgnjn.q.yaml"
1607
1591
  - ".data/spec/std/isa/inst/Q/fsgnjx.q.yaml"
@@ -1612,7 +1596,7 @@ files:
1612
1596
  - ".data/spec/std/isa/inst/S/sfence.vma.yaml"
1613
1597
  - ".data/spec/std/isa/inst/S/sret.yaml"
1614
1598
  - ".data/spec/std/isa/inst/Sdext/dret.yaml"
1615
- - ".data/spec/std/isa/inst/Smdbltrp/sctrclr.yaml"
1599
+ - ".data/spec/std/isa/inst/Smctr/sctrclr.yaml"
1616
1600
  - ".data/spec/std/isa/inst/Smrnmi/mnret.yaml"
1617
1601
  - ".data/spec/std/isa/inst/Svinval/hinval.gvma.yaml"
1618
1602
  - ".data/spec/std/isa/inst/Svinval/hinval.vvma.yaml"
@@ -2534,10 +2518,38 @@ files:
2534
2518
  - ".data/spec/std/isa/inst/Zcmp/cm.push.yaml"
2535
2519
  - ".data/spec/std/isa/inst/Zcmt/cm.jalt.yaml"
2536
2520
  - ".data/spec/std/isa/inst/Zcmt/cm.jt.yaml"
2521
+ - ".data/spec/std/isa/inst/Zfa/fcvtmod.w.d.yaml"
2522
+ - ".data/spec/std/isa/inst/Zfa/fleq.d.yaml"
2523
+ - ".data/spec/std/isa/inst/Zfa/fleq.h.yaml"
2524
+ - ".data/spec/std/isa/inst/Zfa/fleq.q.yaml"
2525
+ - ".data/spec/std/isa/inst/Zfa/fleq.s.yaml"
2526
+ - ".data/spec/std/isa/inst/Zfa/fli.d.yaml"
2527
+ - ".data/spec/std/isa/inst/Zfa/fli.h.yaml"
2528
+ - ".data/spec/std/isa/inst/Zfa/fli.q.yaml"
2537
2529
  - ".data/spec/std/isa/inst/Zfa/fli.s.yaml"
2530
+ - ".data/spec/std/isa/inst/Zfa/fltq.d.yaml"
2531
+ - ".data/spec/std/isa/inst/Zfa/fltq.h.yaml"
2532
+ - ".data/spec/std/isa/inst/Zfa/fltq.q.yaml"
2533
+ - ".data/spec/std/isa/inst/Zfa/fltq.s.yaml"
2534
+ - ".data/spec/std/isa/inst/Zfa/fmaxm.d.yaml"
2535
+ - ".data/spec/std/isa/inst/Zfa/fmaxm.h.yaml"
2536
+ - ".data/spec/std/isa/inst/Zfa/fmaxm.q.yaml"
2538
2537
  - ".data/spec/std/isa/inst/Zfa/fmaxm.s.yaml"
2538
+ - ".data/spec/std/isa/inst/Zfa/fminm.d.yaml"
2539
+ - ".data/spec/std/isa/inst/Zfa/fminm.h.yaml"
2540
+ - ".data/spec/std/isa/inst/Zfa/fminm.q.yaml"
2539
2541
  - ".data/spec/std/isa/inst/Zfa/fminm.s.yaml"
2542
+ - ".data/spec/std/isa/inst/Zfa/fmvh.x.d.yaml"
2543
+ - ".data/spec/std/isa/inst/Zfa/fmvh.x.q.yaml"
2544
+ - ".data/spec/std/isa/inst/Zfa/fmvp.d.x.yaml"
2545
+ - ".data/spec/std/isa/inst/Zfa/fmvp.q.x.yaml"
2546
+ - ".data/spec/std/isa/inst/Zfa/fround.d.yaml"
2547
+ - ".data/spec/std/isa/inst/Zfa/fround.h.yaml"
2548
+ - ".data/spec/std/isa/inst/Zfa/fround.q.yaml"
2540
2549
  - ".data/spec/std/isa/inst/Zfa/fround.s.yaml"
2550
+ - ".data/spec/std/isa/inst/Zfa/froundnx.d.yaml"
2551
+ - ".data/spec/std/isa/inst/Zfa/froundnx.h.yaml"
2552
+ - ".data/spec/std/isa/inst/Zfa/froundnx.q.yaml"
2541
2553
  - ".data/spec/std/isa/inst/Zfa/froundnx.s.yaml"
2542
2554
  - ".data/spec/std/isa/inst/Zfbfmin/fcvt.bf16.s.yaml"
2543
2555
  - ".data/spec/std/isa/inst/Zfbfmin/fcvt.s.bf16.yaml"
@@ -2558,30 +2570,25 @@ files:
2558
2570
  - ".data/spec/std/isa/inst/Zfh/fdiv.h.yaml"
2559
2571
  - ".data/spec/std/isa/inst/Zfh/feq.h.yaml"
2560
2572
  - ".data/spec/std/isa/inst/Zfh/fle.h.yaml"
2561
- - ".data/spec/std/isa/inst/Zfh/fleq.h.yaml"
2562
2573
  - ".data/spec/std/isa/inst/Zfh/flh.yaml"
2563
- - ".data/spec/std/isa/inst/Zfh/fli.h.yaml"
2564
2574
  - ".data/spec/std/isa/inst/Zfh/flt.h.yaml"
2565
- - ".data/spec/std/isa/inst/Zfh/fltq.h.yaml"
2566
2575
  - ".data/spec/std/isa/inst/Zfh/fmadd.h.yaml"
2567
2576
  - ".data/spec/std/isa/inst/Zfh/fmax.h.yaml"
2568
- - ".data/spec/std/isa/inst/Zfh/fmaxm.h.yaml"
2569
2577
  - ".data/spec/std/isa/inst/Zfh/fmin.h.yaml"
2570
- - ".data/spec/std/isa/inst/Zfh/fminm.h.yaml"
2571
2578
  - ".data/spec/std/isa/inst/Zfh/fmsub.h.yaml"
2572
2579
  - ".data/spec/std/isa/inst/Zfh/fmul.h.yaml"
2573
2580
  - ".data/spec/std/isa/inst/Zfh/fmv.h.x.yaml"
2574
2581
  - ".data/spec/std/isa/inst/Zfh/fmv.x.h.yaml"
2575
2582
  - ".data/spec/std/isa/inst/Zfh/fnmadd.h.yaml"
2576
2583
  - ".data/spec/std/isa/inst/Zfh/fnmsub.h.yaml"
2577
- - ".data/spec/std/isa/inst/Zfh/fround.h.yaml"
2578
- - ".data/spec/std/isa/inst/Zfh/froundnx.h.yaml"
2579
2584
  - ".data/spec/std/isa/inst/Zfh/fsgnj.h.yaml"
2580
2585
  - ".data/spec/std/isa/inst/Zfh/fsgnjn.h.yaml"
2581
2586
  - ".data/spec/std/isa/inst/Zfh/fsgnjx.h.yaml"
2582
2587
  - ".data/spec/std/isa/inst/Zfh/fsh.yaml"
2583
2588
  - ".data/spec/std/isa/inst/Zfh/fsqrt.h.yaml"
2584
2589
  - ".data/spec/std/isa/inst/Zfh/fsub.h.yaml"
2590
+ - ".data/spec/std/isa/inst/Zibi/beqi.yaml"
2591
+ - ".data/spec/std/isa/inst/Zibi/bnei.yaml"
2585
2592
  - ".data/spec/std/isa/inst/Zicbom/cbo.clean.yaml"
2586
2593
  - ".data/spec/std/isa/inst/Zicbom/cbo.flush.yaml"
2587
2594
  - ".data/spec/std/isa/inst/Zicbom/cbo.inval.yaml"
@@ -2590,12 +2597,12 @@ files:
2590
2597
  - ".data/spec/std/isa/inst/Zicbop/prefetch.w.yaml"
2591
2598
  - ".data/spec/std/isa/inst/Zicboz/cbo.zero.yaml"
2592
2599
  - ".data/spec/std/isa/inst/Zicfilp/lpad.yaml"
2600
+ - ".data/spec/std/isa/inst/Zicfiss/c.sspopchk.yaml"
2601
+ - ".data/spec/std/isa/inst/Zicfiss/c.sspush.yaml"
2593
2602
  - ".data/spec/std/isa/inst/Zicfiss/ssamoswap.d.yaml"
2594
2603
  - ".data/spec/std/isa/inst/Zicfiss/ssamoswap.w.yaml"
2595
- - ".data/spec/std/isa/inst/Zicfiss/sspopchk.x1.yaml"
2596
- - ".data/spec/std/isa/inst/Zicfiss/sspopchk.x5.yaml"
2597
- - ".data/spec/std/isa/inst/Zicfiss/sspush.x1.yaml"
2598
- - ".data/spec/std/isa/inst/Zicfiss/sspush.x5.yaml"
2604
+ - ".data/spec/std/isa/inst/Zicfiss/sspopchk.yaml"
2605
+ - ".data/spec/std/isa/inst/Zicfiss/sspush.yaml"
2599
2606
  - ".data/spec/std/isa/inst/Zicfiss/ssrdp.yaml"
2600
2607
  - ".data/spec/std/isa/inst/Zicond/czero.eqz.yaml"
2601
2608
  - ".data/spec/std/isa/inst/Zicond/czero.nez.yaml"
@@ -2615,6 +2622,25 @@ files:
2615
2622
  - ".data/spec/std/isa/inst/Zihintntl/ntl.pall.yaml"
2616
2623
  - ".data/spec/std/isa/inst/Zihintntl/ntl.s1.yaml"
2617
2624
  - ".data/spec/std/isa/inst/Zihintpause/pause.yaml"
2625
+ - ".data/spec/std/isa/inst/Zilx/lxd.yaml"
2626
+ - ".data/spec/std/isa/inst/Zilx/lxh.yaml"
2627
+ - ".data/spec/std/isa/inst/Zilx/lxhu.yaml"
2628
+ - ".data/spec/std/isa/inst/Zilx/lxsb.yaml"
2629
+ - ".data/spec/std/isa/inst/Zilx/lxsbu.yaml"
2630
+ - ".data/spec/std/isa/inst/Zilx/lxsd.yaml"
2631
+ - ".data/spec/std/isa/inst/Zilx/lxsh.yaml"
2632
+ - ".data/spec/std/isa/inst/Zilx/lxshu.yaml"
2633
+ - ".data/spec/std/isa/inst/Zilx/lxsuwb.yaml"
2634
+ - ".data/spec/std/isa/inst/Zilx/lxsuwbu.yaml"
2635
+ - ".data/spec/std/isa/inst/Zilx/lxsuwd.yaml"
2636
+ - ".data/spec/std/isa/inst/Zilx/lxsuwh.yaml"
2637
+ - ".data/spec/std/isa/inst/Zilx/lxsuwhu.yaml"
2638
+ - ".data/spec/std/isa/inst/Zilx/lxsuww.yaml"
2639
+ - ".data/spec/std/isa/inst/Zilx/lxsuwwu.yaml"
2640
+ - ".data/spec/std/isa/inst/Zilx/lxsw.yaml"
2641
+ - ".data/spec/std/isa/inst/Zilx/lxswu.yaml"
2642
+ - ".data/spec/std/isa/inst/Zilx/lxw.yaml"
2643
+ - ".data/spec/std/isa/inst/Zilx/lxwu.yaml"
2618
2644
  - ".data/spec/std/isa/inst/Zimop/mop.r.0.yaml"
2619
2645
  - ".data/spec/std/isa/inst/Zimop/mop.r.1.yaml"
2620
2646
  - ".data/spec/std/isa/inst/Zimop/mop.r.10.yaml"
@@ -2686,19 +2712,15 @@ files:
2686
2712
  - ".data/spec/std/isa/inst/Zks/sm3p1.yaml"
2687
2713
  - ".data/spec/std/isa/inst/Zks/sm4ed.yaml"
2688
2714
  - ".data/spec/std/isa/inst/Zks/sm4ks.yaml"
2689
- - ".data/spec/std/isa/inst/Zvbb/vandn.vv.yaml"
2690
- - ".data/spec/std/isa/inst/Zvbb/vandn.vx.yaml"
2715
+ - ".data/spec/std/isa/inst/Zvabd/vabd.vv.yaml"
2716
+ - ".data/spec/std/isa/inst/Zvabd/vabdu.vv.yaml"
2717
+ - ".data/spec/std/isa/inst/Zvabd/vabs.v.yaml"
2718
+ - ".data/spec/std/isa/inst/Zvabd/vwabda.vv.yaml"
2719
+ - ".data/spec/std/isa/inst/Zvabd/vwabdau.vv.yaml"
2691
2720
  - ".data/spec/std/isa/inst/Zvbb/vbrev.v.yaml"
2692
- - ".data/spec/std/isa/inst/Zvbb/vbrev8.v.yaml"
2693
2721
  - ".data/spec/std/isa/inst/Zvbb/vclz.v.yaml"
2694
2722
  - ".data/spec/std/isa/inst/Zvbb/vcpop.v.yaml"
2695
2723
  - ".data/spec/std/isa/inst/Zvbb/vctz.v.yaml"
2696
- - ".data/spec/std/isa/inst/Zvbb/vrev8.v.yaml"
2697
- - ".data/spec/std/isa/inst/Zvbb/vrol.vv.yaml"
2698
- - ".data/spec/std/isa/inst/Zvbb/vrol.vx.yaml"
2699
- - ".data/spec/std/isa/inst/Zvbb/vror.vi.yaml"
2700
- - ".data/spec/std/isa/inst/Zvbb/vror.vv.yaml"
2701
- - ".data/spec/std/isa/inst/Zvbb/vror.vx.yaml"
2702
2724
  - ".data/spec/std/isa/inst/Zvbb/vwsll.vi.yaml"
2703
2725
  - ".data/spec/std/isa/inst/Zvbb/vwsll.vv.yaml"
2704
2726
  - ".data/spec/std/isa/inst/Zvbb/vwsll.vx.yaml"
@@ -2710,6 +2732,15 @@ files:
2710
2732
  - ".data/spec/std/isa/inst/Zvfbfmin/vfwcvtbf16.f.f.v.yaml"
2711
2733
  - ".data/spec/std/isa/inst/Zvfbfwma/vfwmaccbf16.vf.yaml"
2712
2734
  - ".data/spec/std/isa/inst/Zvfbfwma/vfwmaccbf16.vv.yaml"
2735
+ - ".data/spec/std/isa/inst/Zvkb/vandn.vv.yaml"
2736
+ - ".data/spec/std/isa/inst/Zvkb/vandn.vx.yaml"
2737
+ - ".data/spec/std/isa/inst/Zvkb/vbrev8.v.yaml"
2738
+ - ".data/spec/std/isa/inst/Zvkb/vrev8.v.yaml"
2739
+ - ".data/spec/std/isa/inst/Zvkb/vrol.vv.yaml"
2740
+ - ".data/spec/std/isa/inst/Zvkb/vrol.vx.yaml"
2741
+ - ".data/spec/std/isa/inst/Zvkb/vror.vi.yaml"
2742
+ - ".data/spec/std/isa/inst/Zvkb/vror.vv.yaml"
2743
+ - ".data/spec/std/isa/inst/Zvkb/vror.vx.yaml"
2713
2744
  - ".data/spec/std/isa/inst/Zvkg/vghsh.vv.yaml"
2714
2745
  - ".data/spec/std/isa/inst/Zvkg/vgmul.vv.yaml"
2715
2746
  - ".data/spec/std/isa/inst/Zvkned/vaesdf.vs.yaml"
@@ -2923,8 +2954,8 @@ files:
2923
2954
  - ".data/spec/std/isa/param/SEW_MIN.yaml"
2924
2955
  - ".data/spec/std/isa/param/SSTATEEN_JVT_TYPE.yaml"
2925
2956
  - ".data/spec/std/isa/param/STVAL_WIDTH.yaml"
2926
- - ".data/spec/std/isa/param/STVEC_MODE_DIRECT.yaml"
2927
- - ".data/spec/std/isa/param/STVEC_MODE_VECTORED.yaml"
2957
+ - ".data/spec/std/isa/param/STVEC_BASE_ALIGNMENT_VECTORED.yaml"
2958
+ - ".data/spec/std/isa/param/STVEC_MODES.yaml"
2928
2959
  - ".data/spec/std/isa/param/SUPPORT_FRACTIONAL_LMUL_BEYOND_REQUIRED.yaml"
2929
2960
  - ".data/spec/std/isa/param/SV32X4_TRANSLATION.yaml"
2930
2961
  - ".data/spec/std/isa/param/SV32_VSMODE_TRANSLATION.yaml"
@@ -2985,8 +3016,7 @@ files:
2985
3016
  - ".data/spec/std/isa/param/VMID_WIDTH.yaml"
2986
3017
  - ".data/spec/std/isa/param/VSSTAGE_MODE_BARE.yaml"
2987
3018
  - ".data/spec/std/isa/param/VSSTATUS_VS_EXISTS.yaml"
2988
- - ".data/spec/std/isa/param/VSTVEC_MODE_DIRECT.yaml"
2989
- - ".data/spec/std/isa/param/VSTVEC_MODE_VECTORED.yaml"
3019
+ - ".data/spec/std/isa/param/VSTVEC_MODES.yaml"
2990
3020
  - ".data/spec/std/isa/param/VSXLEN.yaml"
2991
3021
  - ".data/spec/std/isa/param/VS_MODE_ENDIANNESS.yaml"
2992
3022
  - ".data/spec/std/isa/param/VUXLEN.yaml"
@@ -1,25 +0,0 @@
1
- # Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
- # SPDX-License-Identifier: BSD-3-Clause-Clear
3
-
4
- # yaml-language-server: $schema=../../../../schemas/inst_schema.json
5
-
6
- $schema: inst_schema.json#
7
- kind: instruction
8
- name: sspopchk.x1
9
- long_name: No synopsis available
10
- description: |
11
- No description available.
12
- definedBy:
13
- extension:
14
- name: Zicfiss
15
- assembly: sspopchk_x1
16
- encoding:
17
- match: "11001101110000001100000001110011"
18
- variables: []
19
- access:
20
- s: always
21
- u: always
22
- vs: always
23
- vu: always
24
- data_independent_timing: false
25
- operation(): |
@@ -1,25 +0,0 @@
1
- # Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
- # SPDX-License-Identifier: BSD-3-Clause-Clear
3
-
4
- # yaml-language-server: $schema=../../../../schemas/inst_schema.json
5
-
6
- $schema: inst_schema.json#
7
- kind: instruction
8
- name: sspopchk.x5
9
- long_name: No synopsis available
10
- description: |
11
- No description available.
12
- definedBy:
13
- extension:
14
- name: Zicfiss
15
- assembly: sspopchk_x5
16
- encoding:
17
- match: "11001101110000101100000001110011"
18
- variables: []
19
- access:
20
- s: always
21
- u: always
22
- vs: always
23
- vu: always
24
- data_independent_timing: false
25
- operation(): |
@@ -1,25 +0,0 @@
1
- # Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
- # SPDX-License-Identifier: BSD-3-Clause-Clear
3
-
4
- # yaml-language-server: $schema=../../../../schemas/inst_schema.json
5
-
6
- $schema: inst_schema.json#
7
- kind: instruction
8
- name: sspush.x1
9
- long_name: No synopsis available
10
- description: |
11
- No description available.
12
- definedBy:
13
- extension:
14
- name: Zicfiss
15
- assembly: sspush_x1
16
- encoding:
17
- match: "11001110000100000100000001110011"
18
- variables: []
19
- access:
20
- s: always
21
- u: always
22
- vs: always
23
- vu: always
24
- data_independent_timing: false
25
- operation(): |
@@ -1,25 +0,0 @@
1
- # Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
- # SPDX-License-Identifier: BSD-3-Clause-Clear
3
-
4
- # yaml-language-server: $schema=../../../../schemas/inst_schema.json
5
-
6
- $schema: inst_schema.json#
7
- kind: instruction
8
- name: sspush.x5
9
- long_name: No synopsis available
10
- description: |
11
- No description available.
12
- definedBy:
13
- extension:
14
- name: Zicfiss
15
- assembly: sspush_x5
16
- encoding:
17
- match: "11001110010100000100000001110011"
18
- variables: []
19
- access:
20
- s: always
21
- u: always
22
- vs: always
23
- vu: always
24
- data_independent_timing: false
25
- operation(): |