udb 0.1.17 → 0.1.18

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 (288) hide show
  1. checksums.yaml +4 -4
  2. data/.data/cfgs/example_rv64_with_overlay.yaml +140 -5
  3. data/.data/cfgs/profile/RVA23S64.yaml +1 -1
  4. data/.data/cfgs/profile/RVA23p1S64.yaml +217 -0
  5. data/.data/cfgs/profile/RVB23S64.yaml +1 -1
  6. data/.data/cfgs/profile/RVB23p1S64.yaml +179 -0
  7. data/.data/cfgs/rv32-riscv-tests.yaml +134 -0
  8. data/.data/cfgs/rv32-vector.yaml +134 -0
  9. data/.data/cfgs/rv64-riscv-tests.yaml +134 -0
  10. data/.data/cfgs/rv64-vector.yaml +134 -0
  11. data/.data/spec/schemas/schema_defs.json +4 -1
  12. data/.data/spec/std/isa/csr/I/mcounteren.layout +7 -0
  13. data/.data/spec/std/isa/csr/I/mcounteren.yaml +7 -0
  14. data/.data/spec/std/isa/csr/Smcdeleg/scountinhibit.layout +111 -0
  15. data/.data/spec/std/isa/csr/Smcdeleg/scountinhibit.yaml +840 -0
  16. data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfg.yaml +2 -0
  17. data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfgh.yaml +2 -0
  18. data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfg.yaml +2 -0
  19. data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfgh.yaml +2 -0
  20. data/.data/spec/std/isa/csr/Sscofpmf/scountovf.layout +7 -0
  21. data/.data/spec/std/isa/csr/Sscofpmf/scountovf.yaml +7 -0
  22. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10.yaml +4 -7
  23. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10h.yaml +2 -4
  24. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11.yaml +4 -7
  25. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11h.yaml +2 -4
  26. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12.yaml +4 -7
  27. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12h.yaml +2 -4
  28. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13.yaml +4 -7
  29. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13h.yaml +2 -4
  30. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14.yaml +4 -7
  31. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14h.yaml +2 -4
  32. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15.yaml +4 -7
  33. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15h.yaml +2 -4
  34. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16.yaml +4 -7
  35. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16h.yaml +2 -4
  36. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17.yaml +4 -7
  37. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17h.yaml +2 -4
  38. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18.yaml +4 -7
  39. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18h.yaml +2 -4
  40. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19.yaml +4 -7
  41. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19h.yaml +2 -4
  42. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20.yaml +4 -7
  43. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20h.yaml +2 -4
  44. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21.yaml +4 -7
  45. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21h.yaml +2 -4
  46. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22.yaml +4 -7
  47. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22h.yaml +2 -4
  48. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23.yaml +4 -7
  49. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23h.yaml +2 -4
  50. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24.yaml +4 -7
  51. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24h.yaml +2 -4
  52. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25.yaml +4 -7
  53. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25h.yaml +2 -4
  54. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26.yaml +4 -7
  55. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26h.yaml +2 -4
  56. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27.yaml +4 -7
  57. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27h.yaml +2 -4
  58. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28.yaml +4 -7
  59. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28h.yaml +2 -4
  60. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29.yaml +4 -7
  61. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29h.yaml +2 -4
  62. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3.yaml +4 -7
  63. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30.yaml +4 -7
  64. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30h.yaml +2 -4
  65. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31.yaml +4 -7
  66. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31h.yaml +2 -4
  67. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3h.yaml +2 -4
  68. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4.yaml +4 -7
  69. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4h.yaml +2 -4
  70. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5.yaml +4 -7
  71. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5h.yaml +2 -4
  72. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6.yaml +4 -7
  73. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6h.yaml +2 -4
  74. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7.yaml +4 -7
  75. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7h.yaml +2 -4
  76. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8.yaml +4 -7
  77. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8h.yaml +2 -4
  78. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9.yaml +4 -7
  79. data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9h.yaml +2 -4
  80. data/.data/spec/std/isa/csr/Zihpm/mhpmcounterN.layout +4 -7
  81. data/.data/spec/std/isa/csr/Zihpm/mhpmcounterNh.layout +2 -4
  82. data/.data/spec/std/isa/csr/Zihpm/mhpmevent10.yaml +4 -7
  83. data/.data/spec/std/isa/csr/Zihpm/mhpmevent10h.yaml +4 -4
  84. data/.data/spec/std/isa/csr/Zihpm/mhpmevent11.yaml +4 -7
  85. data/.data/spec/std/isa/csr/Zihpm/mhpmevent11h.yaml +4 -4
  86. data/.data/spec/std/isa/csr/Zihpm/mhpmevent12.yaml +4 -7
  87. data/.data/spec/std/isa/csr/Zihpm/mhpmevent12h.yaml +4 -4
  88. data/.data/spec/std/isa/csr/Zihpm/mhpmevent13.yaml +4 -7
  89. data/.data/spec/std/isa/csr/Zihpm/mhpmevent13h.yaml +4 -4
  90. data/.data/spec/std/isa/csr/Zihpm/mhpmevent14.yaml +4 -7
  91. data/.data/spec/std/isa/csr/Zihpm/mhpmevent14h.yaml +4 -4
  92. data/.data/spec/std/isa/csr/Zihpm/mhpmevent15.yaml +4 -7
  93. data/.data/spec/std/isa/csr/Zihpm/mhpmevent15h.yaml +4 -4
  94. data/.data/spec/std/isa/csr/Zihpm/mhpmevent16.yaml +4 -7
  95. data/.data/spec/std/isa/csr/Zihpm/mhpmevent16h.yaml +4 -4
  96. data/.data/spec/std/isa/csr/Zihpm/mhpmevent17.yaml +4 -7
  97. data/.data/spec/std/isa/csr/Zihpm/mhpmevent17h.yaml +4 -4
  98. data/.data/spec/std/isa/csr/Zihpm/mhpmevent18.yaml +4 -7
  99. data/.data/spec/std/isa/csr/Zihpm/mhpmevent18h.yaml +4 -4
  100. data/.data/spec/std/isa/csr/Zihpm/mhpmevent19.yaml +4 -7
  101. data/.data/spec/std/isa/csr/Zihpm/mhpmevent19h.yaml +4 -4
  102. data/.data/spec/std/isa/csr/Zihpm/mhpmevent20.yaml +4 -7
  103. data/.data/spec/std/isa/csr/Zihpm/mhpmevent20h.yaml +4 -4
  104. data/.data/spec/std/isa/csr/Zihpm/mhpmevent21.yaml +4 -7
  105. data/.data/spec/std/isa/csr/Zihpm/mhpmevent21h.yaml +4 -4
  106. data/.data/spec/std/isa/csr/Zihpm/mhpmevent22.yaml +4 -7
  107. data/.data/spec/std/isa/csr/Zihpm/mhpmevent22h.yaml +4 -4
  108. data/.data/spec/std/isa/csr/Zihpm/mhpmevent23.yaml +4 -7
  109. data/.data/spec/std/isa/csr/Zihpm/mhpmevent23h.yaml +4 -4
  110. data/.data/spec/std/isa/csr/Zihpm/mhpmevent24.yaml +4 -7
  111. data/.data/spec/std/isa/csr/Zihpm/mhpmevent24h.yaml +4 -4
  112. data/.data/spec/std/isa/csr/Zihpm/mhpmevent25.yaml +4 -7
  113. data/.data/spec/std/isa/csr/Zihpm/mhpmevent25h.yaml +4 -4
  114. data/.data/spec/std/isa/csr/Zihpm/mhpmevent26.yaml +4 -7
  115. data/.data/spec/std/isa/csr/Zihpm/mhpmevent26h.yaml +4 -4
  116. data/.data/spec/std/isa/csr/Zihpm/mhpmevent27.yaml +4 -7
  117. data/.data/spec/std/isa/csr/Zihpm/mhpmevent27h.yaml +4 -4
  118. data/.data/spec/std/isa/csr/Zihpm/mhpmevent28.yaml +4 -7
  119. data/.data/spec/std/isa/csr/Zihpm/mhpmevent28h.yaml +4 -4
  120. data/.data/spec/std/isa/csr/Zihpm/mhpmevent29.yaml +4 -7
  121. data/.data/spec/std/isa/csr/Zihpm/mhpmevent29h.yaml +4 -4
  122. data/.data/spec/std/isa/csr/Zihpm/mhpmevent3.yaml +4 -7
  123. data/.data/spec/std/isa/csr/Zihpm/mhpmevent30.yaml +4 -7
  124. data/.data/spec/std/isa/csr/Zihpm/mhpmevent30h.yaml +4 -4
  125. data/.data/spec/std/isa/csr/Zihpm/mhpmevent31.yaml +4 -7
  126. data/.data/spec/std/isa/csr/Zihpm/mhpmevent31h.yaml +4 -4
  127. data/.data/spec/std/isa/csr/Zihpm/mhpmevent3h.yaml +4 -4
  128. data/.data/spec/std/isa/csr/Zihpm/mhpmevent4.yaml +4 -7
  129. data/.data/spec/std/isa/csr/Zihpm/mhpmevent4h.yaml +4 -4
  130. data/.data/spec/std/isa/csr/Zihpm/mhpmevent5.yaml +4 -7
  131. data/.data/spec/std/isa/csr/Zihpm/mhpmevent5h.yaml +4 -4
  132. data/.data/spec/std/isa/csr/Zihpm/mhpmevent6.yaml +4 -7
  133. data/.data/spec/std/isa/csr/Zihpm/mhpmevent6h.yaml +4 -4
  134. data/.data/spec/std/isa/csr/Zihpm/mhpmevent7.yaml +4 -7
  135. data/.data/spec/std/isa/csr/Zihpm/mhpmevent7h.yaml +4 -4
  136. data/.data/spec/std/isa/csr/Zihpm/mhpmevent8.yaml +4 -7
  137. data/.data/spec/std/isa/csr/Zihpm/mhpmevent8h.yaml +4 -4
  138. data/.data/spec/std/isa/csr/Zihpm/mhpmevent9.yaml +4 -7
  139. data/.data/spec/std/isa/csr/Zihpm/mhpmevent9h.yaml +4 -4
  140. data/.data/spec/std/isa/csr/Zihpm/mhpmeventN.layout +4 -7
  141. data/.data/spec/std/isa/csr/Zihpm/mhpmeventNh.layout +4 -4
  142. data/.data/spec/std/isa/csr/Zkr/seed.yaml +75 -0
  143. data/.data/spec/std/isa/csr/hcontext.yaml +4 -4
  144. data/.data/spec/std/isa/csr/mcontext.yaml +4 -4
  145. data/.data/spec/std/isa/csr/mcycle.yaml +2 -0
  146. data/.data/spec/std/isa/csr/mcycleh.yaml +2 -0
  147. data/.data/spec/std/isa/csr/medeleg.yaml +72 -36
  148. data/.data/spec/std/isa/csr/menvcfg.yaml +12 -1
  149. data/.data/spec/std/isa/csr/menvcfgh.yaml +12 -0
  150. data/.data/spec/std/isa/csr/mideleg.yaml +13 -36
  151. data/.data/spec/std/isa/csr/mie.yaml +3 -6
  152. data/.data/spec/std/isa/csr/minstret.yaml +2 -0
  153. data/.data/spec/std/isa/csr/minstreth.yaml +2 -0
  154. data/.data/spec/std/isa/csr/mip.yaml +3 -6
  155. data/.data/spec/std/isa/csr/misa.yaml +3 -23
  156. data/.data/spec/std/isa/csr/mseccfg.yaml +27 -1
  157. data/.data/spec/std/isa/csr/mstatus.yaml +8 -2
  158. data/.data/spec/std/isa/csr/scontext.yaml +8 -4
  159. data/.data/spec/std/isa/csr/tcontrol.yaml +6 -2
  160. data/.data/spec/std/isa/csr/tdata2.yaml +6 -2
  161. data/.data/spec/std/isa/csr/tdata3.yaml +6 -2
  162. data/.data/spec/std/isa/ext/Sdext.yaml +58 -2
  163. data/.data/spec/std/isa/ext/Sm.yaml +2 -2
  164. data/.data/spec/std/isa/ext/Smcdeleg.yaml +7 -0
  165. data/.data/spec/std/isa/ext/Smmpm.yaml +8 -0
  166. data/.data/spec/std/isa/ext/Smnpm.yaml +19 -0
  167. data/.data/spec/std/isa/ext/Smpmpdeleg.yaml +33 -0
  168. data/.data/spec/std/isa/ext/Ssccfg.yaml +7 -0
  169. data/.data/spec/std/isa/ext/Ssnpm.yaml +8 -0
  170. data/.data/spec/std/isa/ext/Sspmp.yaml +44 -0
  171. data/.data/spec/std/isa/ext/Sspmpen.yaml +30 -0
  172. data/.data/spec/std/isa/ext/Zvabd.yaml +5 -1
  173. data/.data/spec/std/isa/ext/Zvfbdota32f.yaml +23 -0
  174. data/.data/spec/std/isa/ext/Zvzip.yaml +24 -0
  175. data/.data/spec/std/isa/inst/C/c.bnez.yaml +2 -2
  176. data/.data/spec/std/isa/inst/H/hlv.b.yaml +1 -1
  177. data/.data/spec/std/isa/inst/H/hlv.bu.yaml +1 -1
  178. data/.data/spec/std/isa/inst/H/hlv.d.yaml +1 -1
  179. data/.data/spec/std/isa/inst/H/hlv.h.yaml +1 -1
  180. data/.data/spec/std/isa/inst/H/hlv.hu.yaml +1 -1
  181. data/.data/spec/std/isa/inst/H/hlv.w.yaml +1 -1
  182. data/.data/spec/std/isa/inst/H/hlv.wu.yaml +1 -1
  183. data/.data/spec/std/isa/inst/H/hlvx.hu.yaml +1 -1
  184. data/.data/spec/std/isa/inst/H/hlvx.wu.yaml +1 -1
  185. data/.data/spec/std/isa/inst/H/hsv.b.yaml +1 -1
  186. data/.data/spec/std/isa/inst/H/hsv.d.yaml +1 -1
  187. data/.data/spec/std/isa/inst/H/hsv.h.yaml +1 -1
  188. data/.data/spec/std/isa/inst/H/hsv.w.yaml +1 -1
  189. data/.data/spec/std/isa/inst/I/ld.yaml +9 -8
  190. data/.data/spec/std/isa/inst/I/sd.yaml +9 -8
  191. data/.data/spec/std/isa/inst/Q/fcvt.q.d.yaml +1 -1
  192. data/.data/spec/std/isa/inst/Q/flq.yaml +1 -1
  193. data/.data/spec/std/isa/inst/Sdext/dret.yaml +72 -6
  194. data/.data/spec/std/isa/inst/V/vfncvt.f.f.w.yaml +2 -2
  195. data/.data/spec/std/isa/inst/V/vfncvt.f.x.w.yaml +2 -2
  196. data/.data/spec/std/isa/inst/V/vfncvt.f.xu.w.yaml +2 -2
  197. data/.data/spec/std/isa/inst/V/vfncvt.rod.f.f.w.yaml +2 -2
  198. data/.data/spec/std/isa/inst/V/vfncvt.rtz.x.f.w.yaml +2 -2
  199. data/.data/spec/std/isa/inst/V/vfncvt.rtz.xu.f.w.yaml +2 -2
  200. data/.data/spec/std/isa/inst/V/vfncvt.x.f.w.yaml +2 -2
  201. data/.data/spec/std/isa/inst/V/vfncvt.xu.f.w.yaml +2 -2
  202. data/.data/spec/std/isa/inst/V/vnclip.wi.yaml +2 -2
  203. data/.data/spec/std/isa/inst/V/vnclip.wv.yaml +2 -2
  204. data/.data/spec/std/isa/inst/V/vnclip.wx.yaml +2 -2
  205. data/.data/spec/std/isa/inst/V/vnclipu.wi.yaml +2 -2
  206. data/.data/spec/std/isa/inst/V/vnclipu.wv.yaml +2 -2
  207. data/.data/spec/std/isa/inst/V/vnclipu.wx.yaml +2 -2
  208. data/.data/spec/std/isa/inst/V/vnsra.wi.yaml +2 -2
  209. data/.data/spec/std/isa/inst/V/vnsra.wv.yaml +2 -2
  210. data/.data/spec/std/isa/inst/V/vnsra.wx.yaml +2 -2
  211. data/.data/spec/std/isa/inst/V/vnsrl.wi.yaml +2 -2
  212. data/.data/spec/std/isa/inst/V/vnsrl.wv.yaml +2 -2
  213. data/.data/spec/std/isa/inst/V/vnsrl.wx.yaml +2 -2
  214. data/.data/spec/std/isa/inst/Zfh/fcvt.h.s.yaml +28 -20
  215. data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +35 -20
  216. data/.data/spec/std/isa/inst/Zvabd/vabd.vv.yaml +3 -3
  217. data/.data/spec/std/isa/inst/Zvabd/vabd.vx.yaml +69 -0
  218. data/.data/spec/std/isa/inst/Zvabd/vabdu.vv.yaml +3 -3
  219. data/.data/spec/std/isa/inst/Zvabd/{vabs.v.yaml → vabdu.vx.yaml} +17 -11
  220. data/.data/spec/std/isa/inst/Zvabd/vwabda.vv.yaml +1 -1
  221. data/.data/spec/std/isa/inst/Zvabd/vwabda.vx.yaml +73 -0
  222. data/.data/spec/std/isa/inst/Zvabd/vwabdau.vv.yaml +1 -1
  223. data/.data/spec/std/isa/inst/Zvabd/vwabdau.vx.yaml +74 -0
  224. data/.data/spec/std/isa/inst/Zvfbdota32f/vfbdota.vv.yaml +68 -0
  225. data/.data/spec/std/isa/inst/Zvzip/vpaire.vv.yaml +36 -0
  226. data/.data/spec/std/isa/inst/Zvzip/vpairo.vv.yaml +37 -0
  227. data/.data/spec/std/isa/inst/Zvzip/vunzipe.v.yaml +33 -0
  228. data/.data/spec/std/isa/inst/Zvzip/vunzipo.v.yaml +33 -0
  229. data/.data/spec/std/isa/inst/Zvzip/vzip.vv.yaml +37 -0
  230. data/.data/spec/std/isa/isa/builtin_functions.idl +51 -0
  231. data/.data/spec/std/isa/isa/globals.isa +117 -5
  232. data/.data/spec/std/isa/param/HCONTEXT_IMPLEMENTED.yaml +29 -0
  233. data/.data/spec/std/isa/param/{MCONTEXT_AVAILABLE.yaml → MCONTEXT_IMPLEMENTED.yaml} +3 -3
  234. data/.data/spec/std/isa/param/MEDELEG_DELEGATABLE.yaml +121 -0
  235. data/.data/spec/std/isa/param/MEI_INTR_IMPL.yaml +1 -1
  236. data/.data/spec/std/isa/param/MIDELEG_DELEGATABLE.yaml +177 -0
  237. data/.data/spec/std/isa/param/MSI_INTR_IMPL.yaml +1 -1
  238. data/.data/spec/std/isa/param/MTI_INTR_IMPL.yaml +1 -1
  239. data/.data/spec/std/isa/param/SCONTEXT_IMPLEMENTED.yaml +18 -0
  240. data/.data/spec/std/isa/param/SDTRIG_BREAKPOINT_REENTRANCY.yaml +45 -0
  241. data/.data/spec/std/isa/param/SDTRIG_ETRIGGER_SUPPORTED_EXCEPTIONS.yaml +37 -0
  242. data/.data/spec/std/isa/param/SDTRIG_ETRIGGER_SUPPORTED_TRIGGERS.yaml +25 -0
  243. data/.data/spec/std/isa/param/SDTRIG_ICOUNT_COUNT_HARDWIRED_1.yaml +23 -0
  244. data/.data/spec/std/isa/param/SDTRIG_ICOUNT_SELF_WRITE_SETS_PENDING.yaml +23 -0
  245. data/.data/spec/std/isa/param/SDTRIG_ICOUNT_SUPPORTED_TRIGGERS.yaml +25 -0
  246. data/.data/spec/std/isa/param/SDTRIG_ITRIGGER_SUPPORTED_INTERRUPTS.yaml +37 -0
  247. data/.data/spec/std/isa/param/SDTRIG_ITRIGGER_SUPPORTED_TRIGGERS.yaml +25 -0
  248. data/.data/spec/std/isa/param/SDTRIG_MAX_CHAIN_LENGTH.yaml +33 -0
  249. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_EXECUTE_WRITABLE.yaml +22 -0
  250. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_LOAD_WRITABLE.yaml +22 -0
  251. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_MASKMAX6.yaml +26 -0
  252. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_MATCH_LEGAL_VALUES.yaml +41 -0
  253. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_SELECT_WRITABLE.yaml +22 -0
  254. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_SIZE_LEGAL_VALUES.yaml +38 -0
  255. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_STORE_WRITABLE.yaml +22 -0
  256. data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS.yaml +25 -0
  257. data/.data/spec/std/isa/param/SDTRIG_M_WRITABLE.yaml +17 -0
  258. data/.data/spec/std/isa/param/SDTRIG_NUM_TRIGGERS.yaml +22 -0
  259. data/.data/spec/std/isa/param/SDTRIG_S_WRITABLE.yaml +19 -0
  260. data/.data/spec/std/isa/param/SDTRIG_TEXTRA_MHSELECT_MCONTEXT_MATCH.yaml +24 -0
  261. data/.data/spec/std/isa/param/SDTRIG_TEXTRA_MHSELECT_VMID_MATCH.yaml +23 -0
  262. data/.data/spec/std/isa/param/SDTRIG_TEXTRA_MHVALUE_LEN.yaml +26 -0
  263. data/.data/spec/std/isa/param/SDTRIG_TEXTRA_SSELECT_ASID_MATCH.yaml +23 -0
  264. data/.data/spec/std/isa/param/SDTRIG_TEXTRA_SSELECT_SCONTEXT_MATCH.yaml +26 -0
  265. data/.data/spec/std/isa/param/SDTRIG_TEXTRA_SVALUE_LEN.yaml +26 -0
  266. data/.data/spec/std/isa/param/SDTRIG_U_WRITABLE.yaml +19 -0
  267. data/.data/spec/std/isa/param/SDTRIG_VS_WRITABLE.yaml +19 -0
  268. data/.data/spec/std/isa/param/SDTRIG_VU_WRITABLE.yaml +19 -0
  269. data/.data/spec/std/isa/param/SEI_INTR_IMPL.yaml +1 -1
  270. data/.data/spec/std/isa/param/SSEED_READ_ONLY_ZERO.yaml +28 -0
  271. data/.data/spec/std/isa/param/SSI_INTR_IMPL.yaml +1 -1
  272. data/.data/spec/std/isa/param/STI_INTR_IMPL.yaml +1 -1
  273. data/.data/spec/std/isa/param/TCONTROL_IMPLEMENTED.yaml +16 -0
  274. data/.data/spec/std/isa/param/TDATA2_IMPLEMENTED.yaml +26 -0
  275. data/.data/spec/std/isa/param/TDATA3_IMPLEMENTED.yaml +29 -0
  276. data/.data/spec/std/isa/param/USEED_READ_ONLY_ZERO.yaml +28 -0
  277. data/.data/spec/std/isa/profile/RVA23p1S64.yaml +37 -0
  278. data/.data/spec/std/isa/profile/RVB23p1S64.yaml +39 -0
  279. data/.data/spec/std/isa/profile_family/RVA.yaml +3 -1
  280. data/.data/spec/std/isa/profile_family/RVB.yaml +3 -1
  281. data/.data/spec/std/isa/profile_release/RVA23p1.yaml +30 -0
  282. data/.data/spec/std/isa/profile_release/RVB23p1.yaml +30 -0
  283. data/lib/udb/version.rb +1 -1
  284. metadata +65 -8
  285. data/.data/spec/std/isa/param/HCONTEXT_AVAILABLE.yaml +0 -19
  286. data/.data/spec/std/isa/param/VSEI_INTR_IMPL.yaml +0 -28
  287. data/.data/spec/std/isa/param/VSSI_INTR_IMPL.yaml +0 -28
  288. data/.data/spec/std/isa/param/VSTI_INTR_IMPL.yaml +0 -33
@@ -215,8 +215,7 @@ fields:
215
215
  * `hip.VSSIP`
216
216
  * `hvip.VSSIP`
217
217
  * `vsip.SSIP` when `hideleg.VSSI` is set
218
- type(): |
219
- return VSSI_INTR_IMPL ? CsrFieldType::RW : CsrFieldType::RO;
218
+ type: RW
220
219
  reset_value: 0
221
220
  definedBy:
222
221
  extension:
@@ -304,8 +303,7 @@ fields:
304
303
  * `hip.VSTIP`
305
304
  * `vsip.STIP` when `hideleg.VSTI` is set
306
305
  * `hvip.VSTIP` <% if ext?(:Sstc) %>when `menvcfg.STCE` is clear<% end %> (though `hvip.VSTIP` is writable)
307
- type(): |
308
- return VSTI_INTR_IMPL ? CsrFieldType::ROH : CsrFieldType::RO;
306
+ type: RO-H
309
307
  reset_value: 0
310
308
  definedBy:
311
309
  extension:
@@ -372,8 +370,7 @@ fields:
372
370
 
373
371
  * `hip.VSEIP`
374
372
  * `vsip.SEIP` when `hideleg.VSEI` is set
375
- type(): |
376
- return VSEI_INTR_IMPL ? CsrFieldType::ROH : CsrFieldType::RO;
373
+ type: RO-H
377
374
  reset_value: 0
378
375
  definedBy:
379
376
  extension:
@@ -103,25 +103,6 @@ fields:
103
103
 
104
104
  # fall-through; write the intended value
105
105
  return csr_value.F;
106
- G:
107
- location: 6
108
- description: |
109
- Indicates support for all of the following extensions: `I`, `A`, `M`, `F`, `D`.
110
- type(): |
111
- if ((implemented?(ExtensionName::A) && MUTABLE_MISA_A) ||
112
- (implemented?(ExtensionName::M) && MUTABLE_MISA_M) ||
113
- (implemented?(ExtensionName::F) && MUTABLE_MISA_F) ||
114
- (implemented?(ExtensionName::D) && MUTABLE_MISA_D)) {
115
- return CsrFieldType::ROH;
116
- } else {
117
- return CsrFieldType::RO;
118
- }
119
- reset_value(): |
120
- return (
121
- implemented?(ExtensionName::A) &&
122
- implemented?(ExtensionName::M) &&
123
- implemented?(ExtensionName::F) &&
124
- implemented?(ExtensionName::D)) ? 1 : 0;
125
106
  H:
126
107
  location: 7
127
108
  description: |
@@ -241,10 +222,9 @@ sw_read(): |
241
222
  (CSR[misa].S `<< 18) |
242
223
  (CSR[misa].Q `<< 16) |
243
224
  (CSR[misa].M `<< 12) |
244
- (CSR[misa].I `<< 7) |
245
- (CSR[misa].H `<< 6) |
246
- ((CSR[misa].A & CSR[misa].M & CSR[misa].F & CSR[misa].D) `<< 5) | # 'G'
247
- (CSR[misa].F `<< 4) |
225
+ (CSR[misa].I `<< 8) |
226
+ (CSR[misa].H `<< 7) |
227
+ (CSR[misa].F `<< 5) |
248
228
  (CSR[misa].D `<< 3) |
249
229
  (CSR[misa].C `<< 2) |
250
230
  (CSR[misa].B `<< 1) |
@@ -22,4 +22,30 @@ definedBy:
22
22
  - name: Smmpm
23
23
  - name: Zicfilp
24
24
  - name: Smepmp
25
- fields: {}
25
+ fields:
26
+ USEED:
27
+ location: 8
28
+ description: |
29
+ Controls access to the `seed` CSR from U-mode.
30
+ definedBy:
31
+ extension:
32
+ allOf:
33
+ - name: Zkr
34
+ - name: U
35
+ type(): |
36
+ return USEED_READ_ONLY_ZERO ? CsrFieldType::RO : CsrFieldType::RW;
37
+ reset_value(): |
38
+ return USEED_READ_ONLY_ZERO ? 0 : UNDEFINED_LEGAL;
39
+ SSEED:
40
+ location: 9
41
+ description: |
42
+ Controls access to the `seed` CSR from S-mode and VS-mode.
43
+ definedBy:
44
+ extension:
45
+ allOf:
46
+ - name: Zkr
47
+ - name: S
48
+ type(): |
49
+ return SSEED_READ_ONLY_ZERO ? CsrFieldType::RO : CsrFieldType::RW;
50
+ reset_value(): |
51
+ return SSEED_READ_ONLY_ZERO ? 0 : UNDEFINED_LEGAL;
@@ -607,7 +607,10 @@ fields:
607
607
  extension:
608
608
  name: S
609
609
  reset_value(): |
610
- return (CSR[misa].S == 1'b1) ? UNDEFINED_LEGAL : 0;
610
+ if (CSR[misa].S == 1'b1) {
611
+ return UNDEFINED_LEGAL;
612
+ }
613
+ return 0;
611
614
  MIE:
612
615
  location: 3
613
616
  long_name: M-mode Interrupt Enable
@@ -644,4 +647,7 @@ fields:
644
647
  extension:
645
648
  name: S
646
649
  reset_value(): |
647
- return (CSR[misa].S == 1'b1) ? UNDEFINED_LEGAL : 0;
650
+ if (CSR[misa].S == 1'b1) {
651
+ return UNDEFINED_LEGAL;
652
+ }
653
+ return 0;
@@ -18,10 +18,14 @@ description: |
18
18
  with a hypervisor that does not swap `scontext`.
19
19
 
20
20
  definedBy:
21
- extension:
22
- allOf:
23
- - name: Sdtrig
24
- - name: S
21
+ allOf:
22
+ - extension:
23
+ name: Sdtrig
24
+ - extension:
25
+ name: S
26
+ - param:
27
+ name: SCONTEXT_IMPLEMENTED
28
+ equal: true
25
29
  fields:
26
30
  DATA:
27
31
  location: 31-0
@@ -13,8 +13,12 @@ description: |
13
13
  This optional register is only accessible in M-mode and Debug Mode and provides
14
14
  various control bits related to triggers.
15
15
  definedBy:
16
- extension:
17
- name: Sdtrig
16
+ allOf:
17
+ - extension:
18
+ name: Sdtrig
19
+ - param:
20
+ name: TCONTROL_IMPLEMENTED
21
+ equal: true
18
22
  fields:
19
23
  MPTE:
20
24
  location: 7
@@ -21,8 +21,12 @@ description: |
21
21
  If XLEN is less than DXLEN, writes to this register are sign-extended.
22
22
 
23
23
  definedBy:
24
- extension:
25
- name: Sdtrig
24
+ allOf:
25
+ - extension:
26
+ name: Sdtrig
27
+ - param:
28
+ name: TDATA2_IMPLEMENTED
29
+ equal: true
26
30
  fields:
27
31
  DATA:
28
32
  location_rv32: 31-0
@@ -21,8 +21,12 @@ description: |
21
21
  If XLEN is less than DXLEN, writes to this register are sign-extended.
22
22
 
23
23
  definedBy:
24
- extension:
25
- name: Sdtrig
24
+ allOf:
25
+ - extension:
26
+ name: Sdtrig
27
+ - param:
28
+ name: TDATA3_IMPLEMENTED
29
+ equal: true
26
30
  fields:
27
31
  DATA:
28
32
  location_rv32: 31-0
@@ -6,9 +6,65 @@
6
6
  $schema: "ext_schema.json#"
7
7
  kind: extension
8
8
  name: Sdext
9
- long_name: Debug
9
+ long_name: External debug support
10
10
  description: |
11
- Hart-visible portion of the debug spec.
11
+ Sdext is the hart-visible portion of the RISC-V Debug Specification. It
12
+ defines Debug Mode, the `dret` instruction, and the `dcsr`, `dpc`,
13
+ `dscratch0`, and `dscratch1` CSRs that allow an external debugger (via the
14
+ Debug Module) to halt, inspect, and resume a hart.
15
+
16
+ *Debug Mode*
17
+
18
+ Debug Mode is a special processor mode used only when a hart is halted for
19
+ external debugging. While in Debug Mode:
20
+
21
+ * All operations are executed with machine-mode privilege, except that
22
+ `mstatus.MPRV` is ignored unless `dcsr.MPRVEN` is set.
23
+ * Interrupts (including NMI) are not taken.
24
+ * Exceptions do not update any registers (including `mcause`, `mepc`, and
25
+ `mtval`); the hart instead returns to the Debug Module's park loop.
26
+ * Triggers do not fire.
27
+ * Counters and `time` may be stopped, as controlled by `dcsr.STOPCOUNT` and
28
+ `dcsr.STOPTIME`.
29
+ * The debug CSRs (`dcsr`, `dpc`, `dscratch0`, `dscratch1`) are accessible.
30
+ Accessing them outside of Debug Mode raises an Illegal Instruction
31
+ exception.
32
+
33
+ *Halting*
34
+
35
+ A hart enters Debug Mode (halts) in response to a halt request from the
36
+ debugger, a halt-on-reset request, an `ebreak` executed in a mode whose
37
+ `dcsr.EBREAK*` bit is set, a trigger with `action`=1, completion of a
38
+ single step, membership in a halt group, or (with Smdbltrp and
39
+ `dcsr.CETRIG`=1) a critical error. On entry:
40
+
41
+ . `dcsr.CAUSE` (and, where applicable, `dcsr.EXTCAUSE`) records why Debug
42
+ Mode was entered.
43
+ . `dcsr.PRV` and `dcsr.V` record the privilege and virtualization mode the
44
+ hart was in.
45
+ . `dpc` records the virtual address of the next instruction that would have
46
+ executed.
47
+ . If Zicfilp is implemented, `dcsr.PELP` records the current `ELP` state and
48
+ `ELP` is set to `NO_LP_EXPECTED`.
49
+
50
+ *Resuming*
51
+
52
+ The debugger resumes the hart by having it execute `dret` from Debug Mode.
53
+ On resume, the PC is set to `dpc`, the privilege and virtualization mode
54
+ are restored from `dcsr.PRV` and `dcsr.V`, `mstatus.MPRV` (and, with
55
+ Smdbltrp/Ssdbltrp, the double-trap bits) are cleared when returning to a
56
+ less-privileged mode, `ELP` is restored from `dcsr.PELP` when Zicfilp is
57
+ implemented, and the hart leaves Debug Mode. A debugger may write `dcsr`
58
+ and `dpc` before resuming to change where and in what mode execution
59
+ continues.
60
+
61
+ *Single step*
62
+
63
+ When `dcsr.STEP` is set and the hart resumes, it executes exactly one
64
+ instruction and then re-enters Debug Mode with `dcsr.CAUSE` = 4 (step). If
65
+ that instruction takes an exception, the hart enters Debug Mode
66
+ immediately after the PC is updated to the trap handler. `dcsr.STEPIE`
67
+ controls whether interrupts may be taken while single stepping.
12
68
  type: privileged
13
69
  versions:
14
70
  - version: "1.0.0"
@@ -62,8 +62,8 @@ versions:
62
62
  `pc` to `__x__tval`.
63
63
  - Specified relaxed constraints for implicit reads of non-idempotent regions.
64
64
  - version: "1.13.0"
65
- state: frozen
66
- ratification_date: 2023-12
65
+ state: ratified
66
+ ratification_date: 2024-10
67
67
  changes:
68
68
  - Redefined `misa`.MXL to be read-only, making MXLEN a constant.
69
69
  - Defined the `misa`.B field to reflect that the B extension has been
@@ -38,3 +38,10 @@ versions:
38
38
  company: Ventana Microsystems
39
39
  - name: John Hauser
40
40
  email: jh.riscv@jhauser.us
41
+ requirements:
42
+ extension:
43
+ allOf:
44
+ - name: Ssccfg
45
+ version: ~> 1.0
46
+ - name: Sscsrind
47
+ version: ~> 1.0
@@ -14,3 +14,11 @@ versions:
14
14
  - version: "1.0.0"
15
15
  state: ratified
16
16
  ratification_date: 2024-10
17
+ requirements:
18
+ allOf:
19
+ - param:
20
+ name: MXLEN
21
+ equal: 64
22
+ - extension:
23
+ name: Sm
24
+ version: ">= 1.12"
@@ -15,3 +15,22 @@ versions:
15
15
  - version: "1.0.0"
16
16
  state: ratified
17
17
  ratification_date: 2024-10
18
+ requirements:
19
+ allOf:
20
+ - extension:
21
+ name: U
22
+ - if:
23
+ extension:
24
+ name: S
25
+ then:
26
+ param:
27
+ name: SXLEN
28
+ includes: 64
29
+ - if:
30
+ not:
31
+ extension:
32
+ name: S
33
+ then:
34
+ param:
35
+ name: UXLEN
36
+ includes: 64
@@ -0,0 +1,33 @@
1
+ # Copyright (c) Shanghai Jiao Tong University
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/ext_schema.json
5
+
6
+ $schema: "ext_schema.json#"
7
+ kind: extension
8
+ name: Smpmpdeleg
9
+ type: privileged
10
+ long_name: Machine PMP Delegation to SPMP
11
+ description: |
12
+ The Smpmpdeleg extension provides the mpmpdeleg CSR, which controls how many
13
+ PMP entries are delegated to SPMP.
14
+
15
+ The mpmpdeleg CSR contains a pmpnum field in bits [6:0]. Let max_pmp be the
16
+ implementation's total number of PMP entries. Entries 0 through pmpnum-1
17
+ remain as PMP entries, while entries pmpnum through max_pmp-1 are delegated
18
+ to SPMP.
19
+
20
+ When pmpnum = 0, all entries are delegated to SPMP.
21
+ When pmpnum = max_pmp, no entries are delegated to SPMP.
22
+
23
+ Writes to SPMP CSRs are ignored when no entries are delegated to SPMP.
24
+ versions:
25
+ - version: "1.0.0"
26
+ state: ratified
27
+ ratification_date: 2026-08
28
+ url: "https://github.com/riscv/riscv-spmp/tree/v1.0"
29
+ requirements:
30
+ extension:
31
+ allOf:
32
+ - name: S
33
+ - name: Smcsrind
@@ -14,3 +14,10 @@ versions:
14
14
  state: ratified
15
15
  ratification_date: 2024-03
16
16
  url: https://docs.google.com/document/d/1s-GeH5XpHBLzbQZucA8DPA7vvF7Xvf_nrPbrU2YLBcE/edit#heading=h.yyrgtolcaczx
17
+ requirements:
18
+ extension:
19
+ allOf:
20
+ - name: Smcdeleg
21
+ version: ~> 1.0
22
+ - name: Sscsrind
23
+ version: ~> 1.0
@@ -15,3 +15,11 @@ versions:
15
15
  - version: "1.0.0"
16
16
  state: ratified
17
17
  ratification_date: 2024-10
18
+ requirements:
19
+ allOf:
20
+ - extension:
21
+ name: S
22
+ version: ">= 1.12"
23
+ - param:
24
+ name: UXLEN
25
+ includes: 64
@@ -0,0 +1,44 @@
1
+ # Copyright (c) Shanghai Jiao Tong University
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/ext_schema.json
5
+
6
+ $schema: "ext_schema.json#"
7
+ kind: extension
8
+ name: Sspmp
9
+ type: privileged
10
+ long_name: Supervisor Physical Memory Protection
11
+ description: |
12
+ The Sspmp extension defines a Supervisor-level Physical Memory Protection (SPMP)
13
+ mechanism that allows S-mode software to configure memory protection regions.
14
+
15
+ SPMP entries are accessed indirectly via the Sscsrind/Smcsrind extension.
16
+ The siselect CSR selects the SPMP entry (0x100-0x13F), and sireg/sireg2 access
17
+ the corresponding spmpaddr/spmpcfg values.
18
+
19
+ SPMP provides memory protection for S-mode and U-mode accesses when satp.MODE
20
+ is Bare. It does not apply when virtual memory translation is active.
21
+
22
+ Key behaviors:
23
+
24
+ * SPMP entries are delegated from PMP entries via the mpmpdeleg CSR.
25
+ * Each SPMP entry has address (spmpaddr) and configuration (spmpcfg) registers
26
+ * spmpcfg includes R, W, X permissions, address matching mode (A), lock bit (L),
27
+ U-mode bit (U), and SHARED bit
28
+ * Out-of-bounds siselect values read as 0 and writes are ignored
29
+ versions:
30
+ - version: "1.0.0"
31
+ state: ratified
32
+ ratification_date: 2026-08
33
+ url: "https://github.com/riscv/riscv-spmp/tree/v1.0"
34
+ requirements:
35
+ allOf:
36
+ - extension:
37
+ name: Sscsrind
38
+ - anyOf:
39
+ - not:
40
+ extension:
41
+ name: Sm
42
+ version: "~> 1.13"
43
+ - extension:
44
+ name: Smpmpdeleg
@@ -0,0 +1,30 @@
1
+ # Copyright (c) Shanghai Jiao Tong University
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/ext_schema.json
5
+
6
+ $schema: "ext_schema.json#"
7
+ kind: extension
8
+ name: Sspmpen
9
+ type: privileged
10
+ long_name: SPMP Enable Register
11
+ description: |
12
+ The Sspmpen extension adds the spmpen CSR, which provides per-entry enable bits
13
+ for SPMP regions.
14
+
15
+ Each bit spmpen[i] controls whether SPMP entry i is active. An entry is active
16
+ only when both spmpen[i] is set and spmpcfg[i].A != 0 (address matching mode
17
+ is not OFF).
18
+
19
+ When spmpcfg[i].L (lock bit) is set, spmpen[i] becomes read-only.
20
+
21
+ The spmpen CSR is a WARL register. Bits beyond the number of implemented SPMP
22
+ entries are read-only zero.
23
+ versions:
24
+ - version: "1.0.0"
25
+ state: ratified
26
+ ratification_date: 2026-08
27
+ url: "https://github.com/riscv/riscv-spmp/tree/v1.0"
28
+ requirements:
29
+ extension:
30
+ name: Sspmp
@@ -12,9 +12,13 @@ description: |
12
12
  vectors of integers, including widening absolute-difference-and-accumulate
13
13
  variants. These operations are widely used in image registration, object
14
14
  recognition, motion estimation, and loop filters for video workloads.
15
+
16
+ The single-width instructions support SEW = 8, 16, and 32, and also support
17
+ SEW = 64 when Zve64x is implemented. The widening accumulate instructions
18
+ support SEW = 8 and 16.
15
19
  type: unprivileged
16
20
  versions:
17
- - version: "0.7.0"
21
+ - version: "0.9.0"
18
22
  state: frozen
19
23
  requirements:
20
24
  extension:
@@ -0,0 +1,23 @@
1
+ # Copyright (c) 2026 Qualcomm Technologies, Inc. and/or its subsidiaries.
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ $schema: "ext_schema.json#"
5
+ kind: extension
6
+ name: Zvfbdota32f
7
+ long_name: FP32 batched dot-product extension
8
+ type: unprivileged
9
+ rvi_jira_issue: https://riscv.atlassian.net/browse/RVS-3925
10
+ requirements:
11
+ extension:
12
+ name: Zve32f
13
+ version: "= 1.0.0"
14
+ versions:
15
+ - version: "0.7.0"
16
+ state: development
17
+ repositories:
18
+ - url: https://github.com/riscv/riscv-isa-manual.git
19
+ branch: zvbdot
20
+ description: |
21
+ `Zvfbdota32f` is a member of the `Zvbdota` family of batched
22
+ dot-product extensions. It provides FP32 batched dot-product capability for
23
+ vector floating-point computation.
@@ -0,0 +1,24 @@
1
+ # Copyright (c) 2026 Qualcomm Technologies, Inc. and/or its subsidiaries.
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+ # yaml-language-server: $schema=../../../schemas/ext_schema.json
4
+
5
+ $schema: "ext_schema.json#"
6
+ kind: extension
7
+ name: Zvzip
8
+ long_name: Vector Extension for Reordering Structured Data
9
+ type: unprivileged
10
+ versions:
11
+ - version: "0.3.0"
12
+ state: development
13
+ repositories:
14
+ - url: https://github.com/ptomsich/riscv-isa-manual.git
15
+ branch: zvzip
16
+ requirements:
17
+ extension:
18
+ name: Zve32x
19
+ description: |
20
+ The `Zvzip` extension provides vector instructions for reordering structured
21
+ data in vector registers: interleaving and deinterleaving element sequences,
22
+ and pairwise transposition of elements from two vector register groups.
23
+ These operations support packing and unpacking structured data and
24
+ transposing small matrices.
@@ -8,8 +8,8 @@ kind: instruction
8
8
  name: c.bnez
9
9
  long_name: Branch if NOT Equal Zero
10
10
  description: |
11
- C.BEQZ performs conditional control transfers. The offset is sign-extended and added to the pc to form the branch target address. It can therefore target a &pm;256 B range. C.BEQZ takes the branch if the value in register xs1' is NOT zero.
12
- It expands to `beq` `xs1, x0, offset`.
11
+ C.BNEZ performs conditional control transfers. The offset is sign-extended and added to the pc to form the branch target address. It can therefore target a &pm;256 B range. C.BNEZ takes the branch if the value in register xs1' is NOT zero.
12
+ It expands to `bne` `xs1, x0, offset`.
13
13
  definedBy:
14
14
  extension:
15
15
  name: Zca
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xd, xs1
16
+ assembly: xd, (xs1)
17
17
  encoding:
18
18
  match: 011000000000-----100-----1110011
19
19
  variables:
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xd, xs1
16
+ assembly: xd, (xs1)
17
17
  encoding:
18
18
  match: 011000000001-----100-----1110011
19
19
  variables:
@@ -15,7 +15,7 @@ definedBy:
15
15
  - xlen: 64
16
16
  - extension:
17
17
  name: H
18
- assembly: xd, xs1
18
+ assembly: xd, (xs1)
19
19
  encoding:
20
20
  match: 011011000000-----100-----1110011
21
21
  variables:
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xd, xs1
16
+ assembly: xd, (xs1)
17
17
  encoding:
18
18
  match: 011001000000-----100-----1110011
19
19
  variables:
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xd, xs1
16
+ assembly: xd, (xs1)
17
17
  encoding:
18
18
  match: 011001000001-----100-----1110011
19
19
  variables:
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xd, xs1
16
+ assembly: xd, (xs1)
17
17
  encoding:
18
18
  match: 011010000000-----100-----1110011
19
19
  variables:
@@ -15,7 +15,7 @@ definedBy:
15
15
  - xlen: 64
16
16
  - extension:
17
17
  name: H
18
- assembly: xd, xs1
18
+ assembly: xd, (xs1)
19
19
  encoding:
20
20
  match: 011010000001-----100-----1110011
21
21
  variables:
@@ -15,7 +15,7 @@ description: |
15
15
  definedBy:
16
16
  extension:
17
17
  name: H
18
- assembly: xd, xs1
18
+ assembly: xd, (xs1)
19
19
  encoding:
20
20
  match: 011001000011-----100-----1110011
21
21
  variables:
@@ -15,7 +15,7 @@ description: |
15
15
  definedBy:
16
16
  extension:
17
17
  name: H
18
- assembly: xd, xs1
18
+ assembly: xd, (xs1)
19
19
  encoding:
20
20
  match: 011010000011-----100-----1110011
21
21
  variables:
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xs1, xs2
16
+ assembly: xs2, (xs1)
17
17
  encoding:
18
18
  match: 0110001----------100000001110011
19
19
  variables:
@@ -15,7 +15,7 @@ definedBy:
15
15
  - xlen: 64
16
16
  - extension:
17
17
  name: H
18
- assembly: xs1, xs2
18
+ assembly: xs2, (xs1)
19
19
  encoding:
20
20
  match: 0110111----------100000001110011
21
21
  variables:
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xs1, xs2
16
+ assembly: xs2, (xs1)
17
17
  encoding:
18
18
  match: 0110011----------100000001110011
19
19
  variables:
@@ -13,7 +13,7 @@ description: |
13
13
  definedBy:
14
14
  extension:
15
15
  name: H
16
- assembly: xs1, xs2
16
+ assembly: xs2, (xs1)
17
17
  encoding:
18
18
  match: 0110101----------100000001110011
19
19
  variables: