udb 0.1.0 → 0.1.2

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/spec/custom/isa/qc_iu/inst/Xqci/qc.c.mienter.nest.yaml +21 -21
  3. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.c.mienter.yaml +21 -21
  4. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.c.mileaveret.yaml +19 -19
  5. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lb.yaml +1 -1
  6. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lbu.yaml +1 -1
  7. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lh.yaml +1 -1
  8. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lhu.yaml +1 -1
  9. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lw.yaml +1 -1
  10. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.sb.yaml +1 -1
  11. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.sh.yaml +1 -1
  12. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.sw.yaml +1 -1
  13. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrb.yaml +1 -1
  14. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrbu.yaml +1 -1
  15. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrh.yaml +1 -1
  16. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrhu.yaml +1 -1
  17. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrw.yaml +1 -1
  18. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lwm.yaml +1 -1
  19. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lwmi.yaml +1 -1
  20. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.setwm.yaml +1 -1
  21. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.setwmi.yaml +1 -1
  22. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.srb.yaml +1 -1
  23. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.srh.yaml +1 -1
  24. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.srw.yaml +1 -1
  25. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.swm.yaml +1 -1
  26. data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.swmi.yaml +1 -1
  27. data/.data/spec/schemas/README.adoc +6 -3
  28. data/.data/spec/schemas/csr_schema.json +1 -5
  29. data/.data/spec/std/isa/csr/Smrnmi/mnstatus.yaml +0 -11
  30. data/.data/spec/std/isa/csr/hstatus.yaml +0 -2
  31. data/.data/spec/std/isa/csr/mconfigptr.yaml +0 -3
  32. data/.data/spec/std/isa/csr/misa.yaml +0 -4
  33. data/.data/spec/std/isa/csr/mstatus.yaml +0 -13
  34. data/.data/spec/std/isa/csr/schema.adoc +0 -6
  35. data/.data/spec/std/isa/inst/C/c.ld.yaml +2 -2
  36. data/.data/spec/std/isa/inst/C/c.ldsp.yaml +1 -1
  37. data/.data/spec/std/isa/inst/C/c.lw.yaml +1 -1
  38. data/.data/spec/std/isa/inst/C/c.lwsp.yaml +1 -1
  39. data/.data/spec/std/isa/inst/C/c.sd.yaml +2 -2
  40. data/.data/spec/std/isa/inst/C/c.sdsp.yaml +2 -2
  41. data/.data/spec/std/isa/inst/C/c.sw.yaml +1 -1
  42. data/.data/spec/std/isa/inst/C/c.swsp.yaml +1 -1
  43. data/.data/spec/std/isa/inst/F/flw.yaml +2 -2
  44. data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +1 -1
  45. data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +1 -1
  46. data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +1 -1
  47. data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +1 -1
  48. data/.data/spec/std/isa/inst/F/fsw.yaml +1 -1
  49. data/.data/spec/std/isa/inst/I/lb.yaml +1 -1
  50. data/.data/spec/std/isa/inst/I/lbu.yaml +1 -1
  51. data/.data/spec/std/isa/inst/I/ld.yaml +2 -2
  52. data/.data/spec/std/isa/inst/I/lh.yaml +1 -1
  53. data/.data/spec/std/isa/inst/I/lhu.yaml +1 -1
  54. data/.data/spec/std/isa/inst/I/lw.yaml +1 -1
  55. data/.data/spec/std/isa/inst/I/lwu.yaml +1 -1
  56. data/.data/spec/std/isa/inst/I/sb.yaml +1 -1
  57. data/.data/spec/std/isa/inst/I/sd.yaml +1 -1
  58. data/.data/spec/std/isa/inst/I/sh.yaml +1 -1
  59. data/.data/spec/std/isa/inst/I/sw.yaml +1 -1
  60. data/.data/spec/std/isa/inst/V/vle8.v.yaml +1 -1
  61. data/.data/spec/std/isa/inst/V/vse8.v.yaml +1 -1
  62. data/.data/spec/std/isa/inst/Zaamo/amoadd.SIZE.AQRL.layout +1 -1
  63. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aq.yaml +1 -1
  64. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aqrl.yaml +1 -1
  65. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.rl.yaml +1 -1
  66. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.yaml +1 -1
  67. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aq.yaml +1 -1
  68. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aqrl.yaml +1 -1
  69. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.rl.yaml +1 -1
  70. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.yaml +1 -1
  71. data/.data/spec/std/isa/inst/Zaamo/amoand.SIZE.AQRL.layout +1 -1
  72. data/.data/spec/std/isa/inst/Zaamo/amoand.d.aq.yaml +1 -1
  73. data/.data/spec/std/isa/inst/Zaamo/amoand.d.aqrl.yaml +1 -1
  74. data/.data/spec/std/isa/inst/Zaamo/amoand.d.rl.yaml +1 -1
  75. data/.data/spec/std/isa/inst/Zaamo/amoand.d.yaml +1 -1
  76. data/.data/spec/std/isa/inst/Zaamo/amoand.w.aq.yaml +1 -1
  77. data/.data/spec/std/isa/inst/Zaamo/amoand.w.aqrl.yaml +1 -1
  78. data/.data/spec/std/isa/inst/Zaamo/amoand.w.rl.yaml +1 -1
  79. data/.data/spec/std/isa/inst/Zaamo/amoand.w.yaml +1 -1
  80. data/.data/spec/std/isa/inst/Zaamo/amomax.SIZE.AQRL.layout +1 -1
  81. data/.data/spec/std/isa/inst/Zaamo/amomax.d.aq.yaml +1 -1
  82. data/.data/spec/std/isa/inst/Zaamo/amomax.d.aqrl.yaml +1 -1
  83. data/.data/spec/std/isa/inst/Zaamo/amomax.d.rl.yaml +1 -1
  84. data/.data/spec/std/isa/inst/Zaamo/amomax.d.yaml +1 -1
  85. data/.data/spec/std/isa/inst/Zaamo/amomax.w.aq.yaml +1 -1
  86. data/.data/spec/std/isa/inst/Zaamo/amomax.w.aqrl.yaml +1 -1
  87. data/.data/spec/std/isa/inst/Zaamo/amomax.w.rl.yaml +1 -1
  88. data/.data/spec/std/isa/inst/Zaamo/amomax.w.yaml +1 -1
  89. data/.data/spec/std/isa/inst/Zaamo/amomaxu.SIZE.AQRL.layout +1 -1
  90. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aq.yaml +1 -1
  91. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aqrl.yaml +1 -1
  92. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.rl.yaml +1 -1
  93. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.yaml +1 -1
  94. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aq.yaml +1 -1
  95. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aqrl.yaml +1 -1
  96. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.rl.yaml +1 -1
  97. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.yaml +1 -1
  98. data/.data/spec/std/isa/inst/Zaamo/amomin.SIZE.AQRL.layout +1 -1
  99. data/.data/spec/std/isa/inst/Zaamo/amomin.d.aq.yaml +1 -1
  100. data/.data/spec/std/isa/inst/Zaamo/amomin.d.aqrl.yaml +1 -1
  101. data/.data/spec/std/isa/inst/Zaamo/amomin.d.rl.yaml +1 -1
  102. data/.data/spec/std/isa/inst/Zaamo/amomin.d.yaml +1 -1
  103. data/.data/spec/std/isa/inst/Zaamo/amomin.w.aq.yaml +1 -1
  104. data/.data/spec/std/isa/inst/Zaamo/amomin.w.aqrl.yaml +1 -1
  105. data/.data/spec/std/isa/inst/Zaamo/amomin.w.rl.yaml +1 -1
  106. data/.data/spec/std/isa/inst/Zaamo/amomin.w.yaml +1 -1
  107. data/.data/spec/std/isa/inst/Zaamo/amominu.SIZE.AQRL.layout +1 -1
  108. data/.data/spec/std/isa/inst/Zaamo/amominu.d.aq.yaml +1 -1
  109. data/.data/spec/std/isa/inst/Zaamo/amominu.d.aqrl.yaml +1 -1
  110. data/.data/spec/std/isa/inst/Zaamo/amominu.d.rl.yaml +1 -1
  111. data/.data/spec/std/isa/inst/Zaamo/amominu.d.yaml +1 -1
  112. data/.data/spec/std/isa/inst/Zaamo/amominu.w.aq.yaml +1 -1
  113. data/.data/spec/std/isa/inst/Zaamo/amominu.w.aqrl.yaml +1 -1
  114. data/.data/spec/std/isa/inst/Zaamo/amominu.w.rl.yaml +1 -1
  115. data/.data/spec/std/isa/inst/Zaamo/amominu.w.yaml +1 -1
  116. data/.data/spec/std/isa/inst/Zaamo/amoor.SIZE.AQRL.layout +1 -1
  117. data/.data/spec/std/isa/inst/Zaamo/amoor.d.aq.yaml +1 -1
  118. data/.data/spec/std/isa/inst/Zaamo/amoor.d.aqrl.yaml +1 -1
  119. data/.data/spec/std/isa/inst/Zaamo/amoor.d.rl.yaml +1 -1
  120. data/.data/spec/std/isa/inst/Zaamo/amoor.d.yaml +1 -1
  121. data/.data/spec/std/isa/inst/Zaamo/amoor.w.aq.yaml +1 -1
  122. data/.data/spec/std/isa/inst/Zaamo/amoor.w.aqrl.yaml +1 -1
  123. data/.data/spec/std/isa/inst/Zaamo/amoor.w.rl.yaml +1 -1
  124. data/.data/spec/std/isa/inst/Zaamo/amoor.w.yaml +1 -1
  125. data/.data/spec/std/isa/inst/Zaamo/amoswap.SIZE.AQRL.layout +1 -1
  126. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aq.yaml +1 -1
  127. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aqrl.yaml +1 -1
  128. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.rl.yaml +1 -1
  129. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.yaml +1 -1
  130. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aq.yaml +1 -1
  131. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aqrl.yaml +1 -1
  132. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.rl.yaml +1 -1
  133. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.yaml +1 -1
  134. data/.data/spec/std/isa/inst/Zaamo/amoxor.SIZE.AQRL.layout +1 -1
  135. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aq.yaml +1 -1
  136. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aqrl.yaml +1 -1
  137. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.rl.yaml +1 -1
  138. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.yaml +1 -1
  139. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aq.yaml +1 -1
  140. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aqrl.yaml +1 -1
  141. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.rl.yaml +1 -1
  142. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.yaml +1 -1
  143. data/.data/spec/std/isa/inst/Zabha/amoadd.b.aq.yaml +1 -1
  144. data/.data/spec/std/isa/inst/Zabha/amoadd.b.aqrl.yaml +1 -1
  145. data/.data/spec/std/isa/inst/Zabha/amoadd.b.rl.yaml +1 -1
  146. data/.data/spec/std/isa/inst/Zabha/amoadd.b.yaml +1 -1
  147. data/.data/spec/std/isa/inst/Zabha/amoadd.h.aq.yaml +1 -1
  148. data/.data/spec/std/isa/inst/Zabha/amoadd.h.aqrl.yaml +1 -1
  149. data/.data/spec/std/isa/inst/Zabha/amoadd.h.rl.yaml +1 -1
  150. data/.data/spec/std/isa/inst/Zabha/amoadd.h.yaml +1 -1
  151. data/.data/spec/std/isa/inst/Zabha/amoand.b.aq.yaml +1 -1
  152. data/.data/spec/std/isa/inst/Zabha/amoand.b.aqrl.yaml +1 -1
  153. data/.data/spec/std/isa/inst/Zabha/amoand.b.rl.yaml +1 -1
  154. data/.data/spec/std/isa/inst/Zabha/amoand.b.yaml +1 -1
  155. data/.data/spec/std/isa/inst/Zabha/amoand.h.aq.yaml +1 -1
  156. data/.data/spec/std/isa/inst/Zabha/amoand.h.aqrl.yaml +1 -1
  157. data/.data/spec/std/isa/inst/Zabha/amoand.h.rl.yaml +1 -1
  158. data/.data/spec/std/isa/inst/Zabha/amoand.h.yaml +1 -1
  159. data/.data/spec/std/isa/inst/Zabha/amomax.b.aq.yaml +1 -1
  160. data/.data/spec/std/isa/inst/Zabha/amomax.b.aqrl.yaml +1 -1
  161. data/.data/spec/std/isa/inst/Zabha/amomax.b.rl.yaml +1 -1
  162. data/.data/spec/std/isa/inst/Zabha/amomax.b.yaml +1 -1
  163. data/.data/spec/std/isa/inst/Zabha/amomax.h.aq.yaml +1 -1
  164. data/.data/spec/std/isa/inst/Zabha/amomax.h.aqrl.yaml +1 -1
  165. data/.data/spec/std/isa/inst/Zabha/amomax.h.rl.yaml +1 -1
  166. data/.data/spec/std/isa/inst/Zabha/amomax.h.yaml +1 -1
  167. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aq.yaml +1 -1
  168. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aqrl.yaml +1 -1
  169. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.rl.yaml +1 -1
  170. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.yaml +1 -1
  171. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aq.yaml +1 -1
  172. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aqrl.yaml +1 -1
  173. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.rl.yaml +1 -1
  174. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.yaml +1 -1
  175. data/.data/spec/std/isa/inst/Zabha/amomin.b.aq.yaml +1 -1
  176. data/.data/spec/std/isa/inst/Zabha/amomin.b.aqrl.yaml +1 -1
  177. data/.data/spec/std/isa/inst/Zabha/amomin.b.rl.yaml +1 -1
  178. data/.data/spec/std/isa/inst/Zabha/amomin.b.yaml +1 -1
  179. data/.data/spec/std/isa/inst/Zabha/amomin.h.aq.yaml +1 -1
  180. data/.data/spec/std/isa/inst/Zabha/amomin.h.aqrl.yaml +1 -1
  181. data/.data/spec/std/isa/inst/Zabha/amomin.h.rl.yaml +1 -1
  182. data/.data/spec/std/isa/inst/Zabha/amomin.h.yaml +1 -1
  183. data/.data/spec/std/isa/inst/Zabha/amominu.b.aq.yaml +1 -1
  184. data/.data/spec/std/isa/inst/Zabha/amominu.b.aqrl.yaml +1 -1
  185. data/.data/spec/std/isa/inst/Zabha/amominu.b.rl.yaml +1 -1
  186. data/.data/spec/std/isa/inst/Zabha/amominu.b.yaml +1 -1
  187. data/.data/spec/std/isa/inst/Zabha/amominu.h.aq.yaml +1 -1
  188. data/.data/spec/std/isa/inst/Zabha/amominu.h.aqrl.yaml +1 -1
  189. data/.data/spec/std/isa/inst/Zabha/amominu.h.rl.yaml +1 -1
  190. data/.data/spec/std/isa/inst/Zabha/amominu.h.yaml +1 -1
  191. data/.data/spec/std/isa/inst/Zabha/amoor.b.aq.yaml +1 -1
  192. data/.data/spec/std/isa/inst/Zabha/amoor.b.aqrl.yaml +1 -1
  193. data/.data/spec/std/isa/inst/Zabha/amoor.b.rl.yaml +1 -1
  194. data/.data/spec/std/isa/inst/Zabha/amoor.b.yaml +1 -1
  195. data/.data/spec/std/isa/inst/Zabha/amoor.h.aq.yaml +1 -1
  196. data/.data/spec/std/isa/inst/Zabha/amoor.h.aqrl.yaml +1 -1
  197. data/.data/spec/std/isa/inst/Zabha/amoor.h.rl.yaml +1 -1
  198. data/.data/spec/std/isa/inst/Zabha/amoor.h.yaml +1 -1
  199. data/.data/spec/std/isa/inst/Zabha/amoswap.b.aq.yaml +1 -1
  200. data/.data/spec/std/isa/inst/Zabha/amoswap.b.aqrl.yaml +1 -1
  201. data/.data/spec/std/isa/inst/Zabha/amoswap.b.rl.yaml +1 -1
  202. data/.data/spec/std/isa/inst/Zabha/amoswap.b.yaml +1 -1
  203. data/.data/spec/std/isa/inst/Zabha/amoswap.h.aq.yaml +1 -1
  204. data/.data/spec/std/isa/inst/Zabha/amoswap.h.aqrl.yaml +1 -1
  205. data/.data/spec/std/isa/inst/Zabha/amoswap.h.rl.yaml +1 -1
  206. data/.data/spec/std/isa/inst/Zabha/amoswap.h.yaml +1 -1
  207. data/.data/spec/std/isa/inst/Zabha/amoxor.b.aq.yaml +1 -1
  208. data/.data/spec/std/isa/inst/Zabha/amoxor.b.aqrl.yaml +1 -1
  209. data/.data/spec/std/isa/inst/Zabha/amoxor.b.rl.yaml +1 -1
  210. data/.data/spec/std/isa/inst/Zabha/amoxor.b.yaml +1 -1
  211. data/.data/spec/std/isa/inst/Zabha/amoxor.h.aq.yaml +1 -1
  212. data/.data/spec/std/isa/inst/Zabha/amoxor.h.aqrl.yaml +1 -1
  213. data/.data/spec/std/isa/inst/Zabha/amoxor.h.rl.yaml +1 -1
  214. data/.data/spec/std/isa/inst/Zabha/amoxor.h.yaml +1 -1
  215. data/.data/spec/std/isa/inst/Zalrsc/lr.SIZE.AQRL.layout +2 -2
  216. data/.data/spec/std/isa/inst/Zalrsc/lr.d.aq.yaml +2 -2
  217. data/.data/spec/std/isa/inst/Zalrsc/lr.d.aqrl.yaml +2 -2
  218. data/.data/spec/std/isa/inst/Zalrsc/lr.d.rl.yaml +2 -2
  219. data/.data/spec/std/isa/inst/Zalrsc/lr.d.yaml +2 -2
  220. data/.data/spec/std/isa/inst/Zalrsc/lr.w.aq.yaml +2 -2
  221. data/.data/spec/std/isa/inst/Zalrsc/lr.w.aqrl.yaml +2 -2
  222. data/.data/spec/std/isa/inst/Zalrsc/lr.w.rl.yaml +2 -2
  223. data/.data/spec/std/isa/inst/Zalrsc/lr.w.yaml +2 -2
  224. data/.data/spec/std/isa/inst/Zalrsc/sc.SIZE.AQRL.layout +2 -2
  225. data/.data/spec/std/isa/inst/Zalrsc/sc.d.aq.yaml +2 -2
  226. data/.data/spec/std/isa/inst/Zalrsc/sc.d.aqrl.yaml +2 -2
  227. data/.data/spec/std/isa/inst/Zalrsc/sc.d.rl.yaml +2 -2
  228. data/.data/spec/std/isa/inst/Zalrsc/sc.d.yaml +2 -2
  229. data/.data/spec/std/isa/inst/Zalrsc/sc.w.aq.yaml +2 -2
  230. data/.data/spec/std/isa/inst/Zalrsc/sc.w.aqrl.yaml +2 -2
  231. data/.data/spec/std/isa/inst/Zalrsc/sc.w.rl.yaml +2 -2
  232. data/.data/spec/std/isa/inst/Zalrsc/sc.w.yaml +2 -2
  233. data/.data/spec/std/isa/inst/Zcb/c.lbu.yaml +1 -1
  234. data/.data/spec/std/isa/inst/Zcb/c.lh.yaml +1 -1
  235. data/.data/spec/std/isa/inst/Zcb/c.lhu.yaml +1 -1
  236. data/.data/spec/std/isa/inst/Zcb/c.sb.yaml +1 -1
  237. data/.data/spec/std/isa/inst/Zcb/c.sh.yaml +1 -1
  238. data/.data/spec/std/isa/inst/Zcd/c.fld.yaml +1 -1
  239. data/.data/spec/std/isa/inst/Zcd/c.fldsp.yaml +1 -1
  240. data/.data/spec/std/isa/inst/Zcd/c.fsd.yaml +1 -1
  241. data/.data/spec/std/isa/inst/Zcd/c.fsdsp.yaml +1 -1
  242. data/.data/spec/std/isa/inst/Zcf/c.flw.yaml +1 -1
  243. data/.data/spec/std/isa/inst/Zcf/c.flwsp.yaml +1 -1
  244. data/.data/spec/std/isa/inst/Zcf/c.fsw.yaml +1 -1
  245. data/.data/spec/std/isa/inst/Zcf/c.fswsp.yaml +1 -1
  246. data/.data/spec/std/isa/inst/Zcmt/cm.jalt.yaml +2 -2
  247. data/.data/spec/std/isa/inst/Zcmt/cm.jt.yaml +2 -2
  248. data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +3 -3
  249. data/.data/spec/std/isa/inst/Zfh/flh.yaml +2 -2
  250. data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +1 -1
  251. data/.data/spec/std/isa/inst/Zfh/fsh.yaml +1 -1
  252. data/.data/spec/std/isa/isa/builtin_functions.idl +3 -5
  253. data/.data/spec/std/isa/isa/fetch.idl +2 -2
  254. data/.data/spec/std/isa/isa/fp.idl +7 -8
  255. data/.data/spec/std/isa/isa/globals.isa +123 -118
  256. data/.data/spec/std/isa/isa/util.idl +6 -8
  257. data/lib/udb/cfg_arch.rb +36 -7
  258. data/lib/udb/doc_link.rb +16 -13
  259. data/lib/udb/idl/condition_to_udb.rb +7 -7
  260. data/lib/udb/obj/extension.rb +106 -67
  261. data/lib/udb/version.rb +2 -1
  262. data/lib/udb/yaml/yaml_resolver.rb +1 -1
  263. metadata +2 -27
  264. data/.data/spec/std/isa/ext/Xmock.yaml +0 -30
  265. data/.data/spec/std/isa/param/MOCK_1_BIT_INT.yaml +0 -17
  266. data/.data/spec/std/isa/param/MOCK_25_BIT_INT.yaml +0 -17
  267. data/.data/spec/std/isa/param/MOCK_2_BIT_INT.yaml +0 -17
  268. data/.data/spec/std/isa/param/MOCK_32_BIT_INT.yaml +0 -17
  269. data/.data/spec/std/isa/param/MOCK_64_BIT_INT.yaml +0 -17
  270. data/.data/spec/std/isa/param/MOCK_ARRAY_BOOL_ARRAY_OF_8_FIRST_2_FALSE.yaml +0 -22
  271. data/.data/spec/std/isa/param/MOCK_ARRAY_INT_ENUM.yaml +0 -23
  272. data/.data/spec/std/isa/param/MOCK_ARRAY_MAX_ONLY.yaml +0 -21
  273. data/.data/spec/std/isa/param/MOCK_ARRAY_MIN_ONLY.yaml +0 -21
  274. data/.data/spec/std/isa/param/MOCK_ARRAY_STRING_ENUM1.yaml +0 -21
  275. data/.data/spec/std/isa/param/MOCK_ARRAY_STRING_ENUM2.yaml +0 -21
  276. data/.data/spec/std/isa/param/MOCK_BOOL_1.yaml +0 -15
  277. data/.data/spec/std/isa/param/MOCK_BOOL_2.yaml +0 -15
  278. data/.data/spec/std/isa/param/MOCK_ENUM_2_INTS.yaml +0 -18
  279. data/.data/spec/std/isa/param/MOCK_ENUM_2_STRINGS.yaml +0 -18
  280. data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_1023.yaml +0 -17
  281. data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_127.yaml +0 -17
  282. data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_128.yaml +0 -17
  283. data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_2.yaml +0 -17
  284. data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_999.yaml +0 -17
  285. data/.data/spec/std/isa/param/MOCK_INT_RANGE_1000_TO_2048.yaml +0 -17
  286. data/.data/spec/std/isa/param/MOCK_INT_RANGE_1_TO_128.yaml +0 -17
  287. data/.data/spec/std/isa/proc_cert_class/MockProcessor.yaml +0 -13
  288. data/.data/spec/std/isa/profile_family/Mock.yaml +0 -24
@@ -84,7 +84,7 @@ operation(): |
84
84
 
85
85
  XReg virtual_address = X[xs1];
86
86
 
87
- if (!is_naturally_aligned<32>(virtual_address)) {
87
+ if (!is_naturally_aligned(32, virtual_address)) {
88
88
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
89
89
  #
90
90
  # from the spec:
@@ -102,7 +102,7 @@ operation(): |
102
102
  }
103
103
  }
104
104
 
105
- XReg load_value = load_reserved<32>(virtual_address, aq, rl, $encoding);
105
+ XReg load_value = load_reserved(32, virtual_address, aq, rl, $encoding);
106
106
  if (xlen() == 64) {
107
107
  X[xd] = load_value;
108
108
  } else {
@@ -84,7 +84,7 @@ operation(): |
84
84
 
85
85
  XReg virtual_address = X[xs1];
86
86
 
87
- if (!is_naturally_aligned<32>(virtual_address)) {
87
+ if (!is_naturally_aligned(32, virtual_address)) {
88
88
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
89
89
  #
90
90
  # from the spec:
@@ -102,7 +102,7 @@ operation(): |
102
102
  }
103
103
  }
104
104
 
105
- XReg load_value = load_reserved<32>(virtual_address, aq, rl, $encoding);
105
+ XReg load_value = load_reserved(32, virtual_address, aq, rl, $encoding);
106
106
  if (xlen() == 64) {
107
107
  X[xd] = load_value;
108
108
  } else {
@@ -184,7 +184,7 @@ operation(): |
184
184
  XReg virtual_address = X[xs1];
185
185
  XReg value = X[xs2];
186
186
 
187
- if (!is_naturally_aligned<<%= current_size[:align_bits] %>>(virtual_address)) {
187
+ if (!is_naturally_aligned(<%= current_size[:align_bits] %>, virtual_address)) {
188
188
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
189
189
  #
190
190
  # from the spec:
@@ -202,7 +202,7 @@ operation(): |
202
202
  }
203
203
  }
204
204
 
205
- Boolean success = store_conditional<<%= current_size[:operation_bits] %>>(virtual_address, value, aq, rl, $encoding);
205
+ Boolean success = store_conditional(<%= current_size[:operation_bits] %>, virtual_address, value, aq, rl, $encoding);
206
206
  X[xd] = success ? 0 : 1;
207
207
 
208
208
  # SPDX-SnippetBegin
@@ -141,7 +141,7 @@ operation(): |
141
141
  XReg virtual_address = X[xs1];
142
142
  XReg value = X[xs2];
143
143
 
144
- if (!is_naturally_aligned<64>(virtual_address)) {
144
+ if (!is_naturally_aligned(64, virtual_address)) {
145
145
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
146
146
  #
147
147
  # from the spec:
@@ -159,7 +159,7 @@ operation(): |
159
159
  }
160
160
  }
161
161
 
162
- Boolean success = store_conditional<64>(virtual_address, value, aq, rl, $encoding);
162
+ Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
163
163
  X[xd] = success ? 0 : 1;
164
164
 
165
165
  # SPDX-SnippetBegin
@@ -141,7 +141,7 @@ operation(): |
141
141
  XReg virtual_address = X[xs1];
142
142
  XReg value = X[xs2];
143
143
 
144
- if (!is_naturally_aligned<64>(virtual_address)) {
144
+ if (!is_naturally_aligned(64, virtual_address)) {
145
145
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
146
146
  #
147
147
  # from the spec:
@@ -159,7 +159,7 @@ operation(): |
159
159
  }
160
160
  }
161
161
 
162
- Boolean success = store_conditional<64>(virtual_address, value, aq, rl, $encoding);
162
+ Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
163
163
  X[xd] = success ? 0 : 1;
164
164
 
165
165
  # SPDX-SnippetBegin
@@ -141,7 +141,7 @@ operation(): |
141
141
  XReg virtual_address = X[xs1];
142
142
  XReg value = X[xs2];
143
143
 
144
- if (!is_naturally_aligned<64>(virtual_address)) {
144
+ if (!is_naturally_aligned(64, virtual_address)) {
145
145
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
146
146
  #
147
147
  # from the spec:
@@ -159,7 +159,7 @@ operation(): |
159
159
  }
160
160
  }
161
161
 
162
- Boolean success = store_conditional<64>(virtual_address, value, aq, rl, $encoding);
162
+ Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
163
163
  X[xd] = success ? 0 : 1;
164
164
 
165
165
  # SPDX-SnippetBegin
@@ -141,7 +141,7 @@ operation(): |
141
141
  XReg virtual_address = X[xs1];
142
142
  XReg value = X[xs2];
143
143
 
144
- if (!is_naturally_aligned<64>(virtual_address)) {
144
+ if (!is_naturally_aligned(64, virtual_address)) {
145
145
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
146
146
  #
147
147
  # from the spec:
@@ -159,7 +159,7 @@ operation(): |
159
159
  }
160
160
  }
161
161
 
162
- Boolean success = store_conditional<64>(virtual_address, value, aq, rl, $encoding);
162
+ Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
163
163
  X[xd] = success ? 0 : 1;
164
164
 
165
165
  # SPDX-SnippetBegin
@@ -143,7 +143,7 @@ operation(): |
143
143
  XReg virtual_address = X[xs1];
144
144
  XReg value = X[xs2];
145
145
 
146
- if (!is_naturally_aligned<32>(virtual_address)) {
146
+ if (!is_naturally_aligned(32, virtual_address)) {
147
147
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
148
148
  #
149
149
  # from the spec:
@@ -161,7 +161,7 @@ operation(): |
161
161
  }
162
162
  }
163
163
 
164
- Boolean success = store_conditional<32>(virtual_address, value, aq, rl, $encoding);
164
+ Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
165
165
  X[xd] = success ? 0 : 1;
166
166
 
167
167
  # SPDX-SnippetBegin
@@ -143,7 +143,7 @@ operation(): |
143
143
  XReg virtual_address = X[xs1];
144
144
  XReg value = X[xs2];
145
145
 
146
- if (!is_naturally_aligned<32>(virtual_address)) {
146
+ if (!is_naturally_aligned(32, virtual_address)) {
147
147
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
148
148
  #
149
149
  # from the spec:
@@ -161,7 +161,7 @@ operation(): |
161
161
  }
162
162
  }
163
163
 
164
- Boolean success = store_conditional<32>(virtual_address, value, aq, rl, $encoding);
164
+ Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
165
165
  X[xd] = success ? 0 : 1;
166
166
 
167
167
  # SPDX-SnippetBegin
@@ -143,7 +143,7 @@ operation(): |
143
143
  XReg virtual_address = X[xs1];
144
144
  XReg value = X[xs2];
145
145
 
146
- if (!is_naturally_aligned<32>(virtual_address)) {
146
+ if (!is_naturally_aligned(32, virtual_address)) {
147
147
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
148
148
  #
149
149
  # from the spec:
@@ -161,7 +161,7 @@ operation(): |
161
161
  }
162
162
  }
163
163
 
164
- Boolean success = store_conditional<32>(virtual_address, value, aq, rl, $encoding);
164
+ Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
165
165
  X[xd] = success ? 0 : 1;
166
166
 
167
167
  # SPDX-SnippetBegin
@@ -143,7 +143,7 @@ operation(): |
143
143
  XReg virtual_address = X[xs1];
144
144
  XReg value = X[xs2];
145
145
 
146
- if (!is_naturally_aligned<32>(virtual_address)) {
146
+ if (!is_naturally_aligned(32, virtual_address)) {
147
147
  # can raise either LoadAddressMisaligned *or* LoadAccessFault
148
148
  #
149
149
  # from the spec:
@@ -161,7 +161,7 @@ operation(): |
161
161
  }
162
162
  }
163
163
 
164
- Boolean success = store_conditional<32>(virtual_address, value, aq, rl, $encoding);
164
+ Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
165
165
  X[xd] = success ? 0 : 1;
166
166
 
167
167
  # SPDX-SnippetBegin
@@ -36,7 +36,7 @@ operation(): |
36
36
 
37
37
  XReg virtual_address = X[creg2reg(xs1)] + imm;
38
38
 
39
- X[creg2reg(xd)] = read_memory<8>(virtual_address, $encoding);
39
+ X[creg2reg(xd)] = read_memory(8, virtual_address, $encoding);
40
40
 
41
41
  # SPDX-SnippetBegin
42
42
  # SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
@@ -37,7 +37,7 @@ operation(): |
37
37
 
38
38
  XReg virtual_address = X[creg2reg(xs1)] + imm;
39
39
 
40
- X[creg2reg(xd)] = sext(read_memory<16>(virtual_address, $encoding), 16);
40
+ X[creg2reg(xd)] = sext(read_memory(16, virtual_address, $encoding), 16);
41
41
 
42
42
  # SPDX-SnippetBegin
43
43
  # SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
@@ -37,7 +37,7 @@ operation(): |
37
37
 
38
38
  XReg virtual_address = X[creg2reg(xs1)] + imm;
39
39
 
40
- X[creg2reg(xd)] = read_memory<16>(virtual_address, $encoding);
40
+ X[creg2reg(xd)] = read_memory(16, virtual_address, $encoding);
41
41
 
42
42
  # SPDX-SnippetBegin
43
43
  # SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
@@ -36,4 +36,4 @@ operation(): |
36
36
 
37
37
  XReg virtual_address = X[creg2reg(xs1)] + imm;
38
38
 
39
- write_memory<8>(virtual_address, X[creg2reg(xs2)][7:0], $encoding);
39
+ write_memory(8, virtual_address, X[creg2reg(xs2)][7:0], $encoding);
@@ -37,4 +37,4 @@ operation(): |
37
37
 
38
38
  XReg virtual_address = X[creg2reg(xs1)] + imm;
39
39
 
40
- write_memory<16>(virtual_address, X[creg2reg(xs2)][15:0], $encoding);
40
+ write_memory(16, virtual_address, X[creg2reg(xs2)][15:0], $encoding);
@@ -38,4 +38,4 @@ operation(): |
38
38
 
39
39
  XReg virtual_address = X[creg2reg(xs1)] + imm;
40
40
 
41
- f[fd] = sext(read_memory<64>(virtual_address, $encoding), 64);
41
+ f[fd] = sext(read_memory(64, virtual_address, $encoding), 64);
@@ -39,4 +39,4 @@ operation(): |
39
39
 
40
40
  XReg virtual_address = X[2] + imm;
41
41
 
42
- f[fd] = read_memory<64>(virtual_address, $encoding);
42
+ f[fd] = read_memory(64, virtual_address, $encoding);
@@ -38,4 +38,4 @@ operation(): |
38
38
 
39
39
  XReg virtual_address = X[creg2reg(xs1)] + imm;
40
40
 
41
- write_memory<64>(virtual_address, X[creg2reg(fs2)], $encoding);
41
+ write_memory(64, virtual_address, X[creg2reg(fs2)], $encoding);
@@ -39,4 +39,4 @@ operation(): |
39
39
 
40
40
  XReg virtual_address = X[2] + imm;
41
41
 
42
- write_memory<64>(virtual_address, f[fs2][63:0], $encoding);
42
+ write_memory(64, virtual_address, f[fs2][63:0], $encoding);
@@ -38,4 +38,4 @@ operation(): |
38
38
 
39
39
  XReg virtual_address = X[creg2reg(xs1)] + imm;
40
40
 
41
- X[creg2reg(fd)] = sext(read_memory<32>(virtual_address, $encoding), 32);
41
+ X[creg2reg(fd)] = sext(read_memory(32, virtual_address, $encoding), 32);
@@ -39,4 +39,4 @@ operation(): |
39
39
 
40
40
  XReg virtual_address = X[2] + imm;
41
41
 
42
- f[fd] = read_memory<32>(virtual_address, $encoding);
42
+ f[fd] = read_memory(32, virtual_address, $encoding);
@@ -38,4 +38,4 @@ operation(): |
38
38
 
39
39
  XReg virtual_address = X[creg2reg(xs1)] + imm;
40
40
 
41
- write_memory<32>(virtual_address, X[creg2reg(fs2)][31:0], $encoding);
41
+ write_memory(32, virtual_address, X[creg2reg(fs2)][31:0], $encoding);
@@ -39,4 +39,4 @@ operation(): |
39
39
 
40
40
  XReg virtual_address = X[2] + imm;
41
41
 
42
- write_memory<32>(virtual_address, f[fs2][31:0], $encoding);
42
+ write_memory(32, virtual_address, f[fs2][31:0], $encoding);
@@ -53,9 +53,9 @@ operation(): |
53
53
  access_check(result.paddr, xlen(), $pc, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
54
54
 
55
55
  if (xlen() == 32) {
56
- addr = read_physical_memory<32>(result.paddr);
56
+ addr = read_physical_memory(32, result.paddr);
57
57
  } else {
58
- addr = read_physical_memory<64>(result.paddr);
58
+ addr = read_physical_memory(64, result.paddr);
59
59
  } # Ensure low-order bit is clear
60
60
 
61
61
  addr = addr & $signed(2'b10);
@@ -47,9 +47,9 @@ operation(): |
47
47
  access_check(result.paddr, xlen(), $pc, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
48
48
 
49
49
  if (xlen() == 32) {
50
- addr = read_physical_memory<32>(result.paddr);
50
+ addr = read_physical_memory(32, result.paddr);
51
51
  } else {
52
- addr = read_physical_memory<64>(result.paddr);
52
+ addr = read_physical_memory(64, result.paddr);
53
53
  }
54
54
 
55
55
  # Ensure low-order bit is clear
@@ -47,9 +47,9 @@ operation(): |
47
47
  if ((sp_value & 0x00400000) != 0) {
48
48
  set_fp_flag(FpFlag::NV);
49
49
  }
50
- f[fd] = nan_box<16, FLEN>(HP_CANONICAL_NAN);
50
+ f[fd] = nan_box(16, FLEN, HP_CANONICAL_NAN);
51
51
  } else {
52
- f[fd] = nan_box<16, FLEN>(packToF16UI( sign, 0x1F, 0 ));
52
+ f[fd] = nan_box(16, FLEN, packToF16UI( sign, 0x1F, 0 ));
53
53
  }
54
54
  } else {
55
55
 
@@ -58,7 +58,7 @@ operation(): |
58
58
  # is OR-red with the sticky
59
59
  Bits<16> frac16 = (frac >> 9) | ((frac & 0x1ff) != 0 ? 1 : 0);
60
60
  if ((exp | frac16) == 0) {
61
- f[fd] = nan_box<16, FLEN>(packToF16UI( sign, 0, 0 ));
61
+ f[fd] = nan_box(16, FLEN, packToF16UI( sign, 0, 0 ));
62
62
  } else {
63
63
  assert(false, "TODO: implement roundPackToF16");
64
64
  # f[fd] = soffloat_roundPackToF16(sign, exp - 0x71, frac16 | 0x4000);
@@ -37,9 +37,9 @@ operation(): |
37
37
 
38
38
  XReg virtual_address = X[xs1] + $signed(imm);
39
39
 
40
- Bits<16> hp_value = read_memory<16>(virtual_address, $encoding);
40
+ Bits<16> hp_value = read_memory(16, virtual_address, $encoding);
41
41
 
42
- f[fd] = nan_box<16, FLEN>(hp_value);
42
+ f[fd] = nan_box(16, FLEN, hp_value);
43
43
 
44
44
  mark_f_state_dirty();
45
45
 
@@ -33,7 +33,7 @@ operation(): |
33
33
 
34
34
  Bits<16> hp_value = X[xs1][15:0];
35
35
 
36
- f[fd] = nan_box<16, FLEN>(hp_value);
36
+ f[fd] = nan_box(16, FLEN, hp_value);
37
37
 
38
38
  mark_f_state_dirty();
39
39
 
@@ -42,7 +42,7 @@ operation(): |
42
42
 
43
43
  Bits<16> hp_value = f[fs2][15:0];
44
44
 
45
- write_memory<16>(virtual_address, hp_value, $encoding);
45
+ write_memory(16, virtual_address, hp_value, $encoding);
46
46
 
47
47
  # SPDX-SnippetBegin
48
48
  # SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
@@ -406,9 +406,8 @@ generated function invalidate_translations {
406
406
  }
407
407
 
408
408
  function read_physical_memory {
409
- template U32 len
410
- returns Bits<len>
411
- arguments XReg paddr
409
+ returns XReg
410
+ arguments U32 len, XReg paddr
412
411
  description {
413
412
  Read from physical memory.
414
413
  }
@@ -460,8 +459,7 @@ builtin function read_physical_memory_64 {
460
459
  }
461
460
 
462
461
  function write_physical_memory {
463
- template U32 len
464
- arguments XReg paddr, Bits<len> value
462
+ arguments U32 len, XReg paddr, XReg value
465
463
  description {
466
464
  Write to physical memory.
467
465
  }
@@ -22,7 +22,7 @@ function fetch_memory_aligned_16 {
22
22
  # may raise an exception
23
23
  access_check(result.paddr, 16, virtual_address, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
24
24
 
25
- return read_physical_memory<16>(result.paddr);
25
+ return read_physical_memory(16, result.paddr);
26
26
  }
27
27
  }
28
28
 
@@ -45,7 +45,7 @@ function fetch_memory_aligned_32 {
45
45
  # may raise an exception
46
46
  access_check(result.paddr, 32, virtual_address, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
47
47
 
48
- return read_physical_memory<32>(result.paddr);
48
+ return read_physical_memory(32, result.paddr);
49
49
  }
50
50
  }
51
51
 
@@ -116,15 +116,14 @@ function mark_f_state_dirty {
116
116
  }
117
117
 
118
118
  function nan_box {
119
- template U32 FROM_SIZE, U32 TO_SIZE
120
- returns Bits<TO_SIZE>
121
- arguments Bits<FROM_SIZE> from_value
119
+ returns XReg
120
+ arguments U32 FROM_SIZE, U32 TO_SIZE, XReg from_value
122
121
  description {
123
122
  Produces a properly NaN-boxed floating-point value from a floating-point value
124
123
  of smaller size by adding all 1's to the upper bits.
125
124
  }
126
125
  body {
127
- assert(FROM_SIZE < TO_SIZE, "Bad template arguments; FROM_SIZE must be less than TO_SIZE");
126
+ assert(FROM_SIZE < TO_SIZE, "Bad arguments; FROM_SIZE must be less than TO_SIZE");
128
127
 
129
128
  return {{TO_SIZE - FROM_SIZE{1'b1}}, from_value};
130
129
  }
@@ -470,7 +469,7 @@ function softfloat_normSubnormalF16Sig {
470
469
  normalize subnormal half-precision value
471
470
  }
472
471
  body {
473
- Bits<8> shift_dist = count_leading_zeros<16>(hp_value);
472
+ Bits<8> shift_dist = count_leading_zeros(16, hp_value);
474
473
  return 1 - shift_dist, hp_value << shift_dist;
475
474
  }
476
475
  }
@@ -535,7 +534,7 @@ function softfloat_normRoundPackToF32 {
535
534
  Normalize, round, and pack into a 32-bit floating point value
536
535
  }
537
536
  body {
538
- Bits<8> shiftDist = count_leading_zeros<32>(sig) - 1;
537
+ Bits<8> shiftDist = count_leading_zeros(32, sig) - 1;
539
538
  exp = exp - shiftDist;
540
539
  if ((7 <= shiftDist) && (exp < 0xFD)) {
541
540
  return packToF32UI(sign, (sig != 0) ? exp : 0, sig << (shiftDist - 7));
@@ -843,7 +842,7 @@ function softfloat_subMagsF32 {
843
842
  sigDiff = -32'sh1 * sigDiff;
844
843
  }
845
844
 
846
- shiftDist = count_leading_zeros<32>(sigDiff) - 8;
845
+ shiftDist = count_leading_zeros(32, sigDiff) - 8;
847
846
  expZ = expA - shiftDist;
848
847
 
849
848
  if (expZ < 0) {
@@ -1096,7 +1095,7 @@ function softfloat_normRoundPackToF32_no_flag {
1096
1095
  No flags to be set
1097
1096
  }
1098
1097
  body {
1099
- Bits<8> shiftDist = count_leading_zeros<32>(sig) - 1;
1098
+ Bits<8> shiftDist = count_leading_zeros(32, sig) - 1;
1100
1099
  exp = exp - shiftDist;
1101
1100
  if ((7 <= shiftDist) && (exp < 0xFD)) {
1102
1101
  return packToF32UI(sign, (sig != 0) ? exp : 0, sig << (shiftDist - 7));