udb 0.1.15 → 0.1.17
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.
- checksums.yaml +4 -4
- data/.data/cfgs/example_rv64_with_overlay.yaml +21 -0
- data/.data/cfgs/mc100-32-full-example.yaml +7 -0
- data/.data/cfgs/profile/RVA20S64.yaml +2 -0
- data/.data/cfgs/profile/RVA20U64.yaml +2 -0
- data/.data/cfgs/profile/RVA22S64.yaml +2 -0
- data/.data/cfgs/profile/RVA22U64.yaml +2 -0
- data/.data/cfgs/profile/RVA23S64.yaml +2 -0
- data/.data/cfgs/profile/RVA23U64.yaml +2 -0
- data/.data/cfgs/profile/RVB23S64.yaml +2 -0
- data/.data/cfgs/profile/RVB23U64.yaml +2 -0
- data/.data/cfgs/qc_iu.yaml +15 -0
- data/.data/cfgs/rv32-riscv-tests.yaml +10 -0
- data/.data/cfgs/rv32-vector.yaml +11 -1
- data/.data/cfgs/rv64-riscv-tests.yaml +10 -0
- data/.data/cfgs/rv64-vector.yaml +12 -2
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.mva01s.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.mvsa01.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.pop.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.popret.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.popretz.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.push.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.pushfp.yaml +2 -2
- data/.data/spec/schemas/README.adoc +4 -1
- data/.data/spec/schemas/csr_schema.json +2 -2
- data/.data/spec/std/isa/csr/H/henvcfg.yaml +1 -1
- data/.data/spec/std/isa/csr/H/hgeie.yaml +38 -0
- data/.data/spec/std/isa/csr/H/hgeip.yaml +33 -0
- data/.data/spec/std/isa/csr/H/hideleg.yaml +120 -0
- data/.data/spec/std/isa/csr/H/hie.yaml +74 -0
- data/.data/spec/std/isa/csr/H/hip.yaml +88 -0
- data/.data/spec/std/isa/csr/H/htimedeltah.yaml +1 -1
- data/.data/spec/std/isa/csr/H/hvip.yaml +46 -0
- data/.data/spec/std/isa/csr/H/vsie.yaml +86 -0
- data/.data/spec/std/isa/csr/H/vsip.yaml +98 -0
- data/.data/spec/std/isa/csr/H/vsscratch.yaml +29 -0
- data/.data/spec/std/isa/csr/I/pmpaddr0.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr1.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr10.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr11.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr12.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr13.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr14.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr15.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr16.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr17.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr18.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr19.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr2.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr20.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr21.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr22.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr23.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr24.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr25.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr26.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr27.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr28.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr29.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr3.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr30.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr31.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr32.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr33.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr34.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr35.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr36.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr37.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr38.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr39.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr4.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr40.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr41.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr42.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr43.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr44.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr45.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr46.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr47.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr48.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr49.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr5.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr50.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr51.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr52.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr53.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr54.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr55.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr56.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr57.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr58.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr59.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr6.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr60.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr61.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr62.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr63.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr7.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr8.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddr9.yaml +7 -7
- data/.data/spec/std/isa/csr/I/pmpaddrN.layout +7 -7
- data/.data/spec/std/isa/csr/Smcsrind/mireg.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/mireg2.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/mireg3.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/mireg4.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/mireg5.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/mireg6.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/sireg.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/sireg2.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/sireg3.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/sireg4.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/sireg5.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/sireg6.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/vsireg.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/vsireg2.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/vsireg3.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/vsireg4.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/vsireg5.yaml +2 -2
- data/.data/spec/std/isa/csr/Smcsrind/vsireg6.yaml +2 -2
- data/.data/spec/std/isa/csr/Smctr/sctrctl.yaml +1 -1
- data/.data/spec/std/isa/csr/Smctr/sctrdepth.yaml +43 -0
- data/.data/spec/std/isa/csr/Smctr/sctrstatus.yaml +37 -0
- data/.data/spec/std/isa/csr/Smctr/vsctrctl.yaml +4 -2
- data/.data/spec/std/isa/csr/Sstc/stimecmp.yaml +42 -0
- data/.data/spec/std/isa/csr/Sstc/stimecmph.yaml +43 -0
- data/.data/spec/std/isa/csr/Sstc/vstimecmp.yaml +45 -0
- data/.data/spec/std/isa/csr/Sstc/vstimecmph.yaml +46 -0
- data/.data/spec/std/isa/csr/V/vcsr.yaml +1 -1
- data/.data/spec/std/isa/csr/V/vl.yaml +1 -1
- data/.data/spec/std/isa/csr/V/vlenb.yaml +1 -1
- data/.data/spec/std/isa/csr/V/vstart.yaml +1 -1
- data/.data/spec/std/isa/csr/V/vtype.yaml +20 -1
- data/.data/spec/std/isa/csr/V/vxrm.yaml +1 -1
- data/.data/spec/std/isa/csr/V/vxsat.yaml +1 -1
- data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.layout +1 -15
- data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.yaml +29 -267
- data/.data/spec/std/isa/csr/hstateen0h.yaml +1 -1
- data/.data/spec/std/isa/csr/hstateen1h.yaml +1 -1
- data/.data/spec/std/isa/csr/hstateen2h.yaml +1 -1
- data/.data/spec/std/isa/csr/hstateen3h.yaml +1 -1
- data/.data/spec/std/isa/csr/instreth.yaml +1 -3
- data/.data/spec/std/isa/csr/mideleg.yaml +57 -9
- data/.data/spec/std/isa/csr/mie.yaml +18 -9
- data/.data/spec/std/isa/csr/minstreth.yaml +1 -1
- data/.data/spec/std/isa/csr/mip.yaml +21 -10
- data/.data/spec/std/isa/csr/misa.yaml +11 -7
- data/.data/spec/std/isa/csr/mstatus.yaml +3 -3
- data/.data/spec/std/isa/csr/mstatush.yaml +1 -1
- data/.data/spec/std/isa/csr/schema.adoc +10 -4
- data/.data/spec/std/isa/csr/senvcfg.yaml +7 -13
- data/.data/spec/std/isa/csr/sepc.yaml +4 -3
- data/.data/spec/std/isa/csr/sip.yaml +1 -1
- data/.data/spec/std/isa/csr/sscratch.yaml +3 -2
- data/.data/spec/std/isa/csr/sstateen0.yaml +1 -1
- data/.data/spec/std/isa/csr/sstateen1.yaml +2 -3
- data/.data/spec/std/isa/csr/sstateen2.yaml +2 -3
- data/.data/spec/std/isa/csr/sstateen3.yaml +2 -3
- data/.data/spec/std/isa/csr/stval.yaml +3 -2
- data/.data/spec/std/isa/csr/stvec.yaml +5 -4
- data/.data/spec/std/isa/csr/tcontrol.yaml +37 -0
- data/.data/spec/std/isa/csr/time.yaml +1 -1
- data/.data/spec/std/isa/csr/timeh.yaml +1 -1
- data/.data/spec/std/isa/csr/tinfo.yaml +44 -0
- data/.data/spec/std/isa/csr/vsepc.yaml +6 -5
- data/.data/spec/std/isa/csr/vstvec.yaml +5 -4
- data/.data/spec/std/isa/ext/M.yaml +4 -0
- data/.data/spec/std/isa/ext/Shgatpa.yaml +1 -0
- data/.data/spec/std/isa/ext/Smctr.yaml +1 -1
- data/.data/spec/std/isa/ext/Ssctr.yaml +1 -1
- data/.data/spec/std/isa/ext/Ssstrict.yaml +2 -2
- data/.data/spec/std/isa/ext/Sv32.yaml +2 -2
- data/.data/spec/std/isa/ext/Svpbmt.yaml +2 -2
- data/.data/spec/std/isa/ext/Zaamo.yaml +1 -1
- data/.data/spec/std/isa/ext/Zbc.yaml +4 -0
- data/.data/spec/std/isa/ext/Zibi.yaml +29 -0
- data/.data/spec/std/isa/ext/Zvfbfa.yaml +24 -0
- data/.data/spec/std/isa/ext/Zvfofp4min.yaml +21 -0
- data/.data/spec/std/isa/ext/Zvfofp8min.yaml +20 -0
- data/.data/spec/std/isa/inst/B/andn.yaml +0 -4
- data/.data/spec/std/isa/inst/B/orn.yaml +0 -4
- data/.data/spec/std/isa/inst/B/rev8.yaml +0 -4
- data/.data/spec/std/isa/inst/B/rol.yaml +0 -4
- data/.data/spec/std/isa/inst/B/rolw.yaml +0 -4
- data/.data/spec/std/isa/inst/B/ror.yaml +0 -4
- data/.data/spec/std/isa/inst/B/rori.yaml +0 -4
- data/.data/spec/std/isa/inst/B/roriw.yaml +1 -5
- data/.data/spec/std/isa/inst/B/rorw.yaml +1 -5
- data/.data/spec/std/isa/inst/B/xnor.yaml +0 -4
- data/.data/spec/std/isa/inst/C/c.addi.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.addi16sp.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.addi4spn.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.addiw.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.beqz.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.bnez.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.ebreak.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.j.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.jal.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.jalr.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.jr.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.ld.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.ldsp.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.li.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.lui.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.lw.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.lwsp.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.mv.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.nop.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.sd.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.sdsp.yaml +5 -5
- data/.data/spec/std/isa/inst/C/c.sw.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.swsp.yaml +2 -2
- data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +3 -0
- data/.data/spec/std/isa/inst/F/fmv.x.w.yaml +3 -0
- data/.data/spec/std/isa/inst/I/ld.yaml +9 -4
- data/.data/spec/std/isa/inst/I/sd.yaml +9 -4
- data/.data/spec/std/isa/inst/I/wfi.yaml +1 -1
- data/.data/spec/std/isa/inst/M/div.yaml +2 -2
- data/.data/spec/std/isa/inst/M/divu.yaml +2 -2
- data/.data/spec/std/isa/inst/M/divuw.yaml +2 -2
- data/.data/spec/std/isa/inst/M/divw.yaml +2 -2
- data/.data/spec/std/isa/inst/M/mul.yaml +1 -7
- data/.data/spec/std/isa/inst/M/mulh.yaml +1 -7
- data/.data/spec/std/isa/inst/M/mulhsu.yaml +1 -7
- data/.data/spec/std/isa/inst/M/mulhu.yaml +1 -7
- data/.data/spec/std/isa/inst/M/mulw.yaml +1 -7
- data/.data/spec/std/isa/inst/M/rem.yaml +2 -2
- data/.data/spec/std/isa/inst/M/remu.yaml +2 -2
- data/.data/spec/std/isa/inst/M/remuw.yaml +2 -2
- data/.data/spec/std/isa/inst/M/remw.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfadd.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfadd.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfclass.v.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmacc.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmacc.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmadd.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmadd.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmax.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmax.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmerge.vfm.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmin.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmin.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmsac.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmsac.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmsub.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmsub.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmul.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmul.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmv.f.s.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmv.s.f.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfmv.v.f.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfncvt.f.f.w.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfncvt.rod.f.f.w.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfncvt.rtz.x.f.w.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfncvt.rtz.xu.f.w.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfncvt.x.f.w.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfncvt.xu.f.w.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmacc.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmacc.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmadd.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmadd.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmsac.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmsac.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmsub.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfnmsub.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfrec7.v.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfrsqrt7.v.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfrsub.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsgnj.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsgnj.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsgnjn.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsgnjn.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsgnjx.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsgnjx.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfslide1down.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfslide1up.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsub.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfsub.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwadd.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwadd.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwadd.wf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwadd.wv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwcvt.f.f.v.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwcvt.f.x.v.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwcvt.f.xu.v.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwmacc.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwmacc.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwmsac.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwmsac.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwmul.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwmul.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwnmacc.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwnmacc.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwnmsac.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwnmsac.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwsub.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwsub.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwsub.wf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vfwsub.wv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfeq.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfeq.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfge.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfgt.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfle.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfle.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmflt.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmflt.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfne.vf.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vmfne.vv.yaml +3 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoand.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomax.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomin.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amominu.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoor.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoswap.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoxor.SIZE.AQRL.layout +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aq.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aqrl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.rl.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.yaml +0 -4
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoand.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomax.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amomin.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amominu.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoor.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.aq.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.aqrl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.rl.yaml +1 -5
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.yaml +1 -5
- data/.data/spec/std/isa/inst/Zalrsc/lr.SIZE.AQRL.layout +1 -11
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.aq.yaml +0 -6
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.aqrl.yaml +0 -6
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.rl.yaml +0 -6
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.yaml +0 -6
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.aq.yaml +1 -11
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.aqrl.yaml +1 -11
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.rl.yaml +1 -11
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.yaml +1 -11
- data/.data/spec/std/isa/inst/Zalrsc/sc.SIZE.AQRL.layout +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.aq.yaml +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.aqrl.yaml +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.rl.yaml +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.yaml +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.aq.yaml +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.aqrl.yaml +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.rl.yaml +4 -10
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.yaml +4 -10
- data/.data/spec/std/isa/inst/Zba/add.uw.yaml +0 -4
- data/.data/spec/std/isa/inst/Zba/sh1add.uw.yaml +0 -4
- data/.data/spec/std/isa/inst/Zba/sh1add.yaml +0 -4
- data/.data/spec/std/isa/inst/Zba/sh2add.uw.yaml +0 -4
- data/.data/spec/std/isa/inst/Zba/sh2add.yaml +0 -4
- data/.data/spec/std/isa/inst/Zba/sh3add.uw.yaml +0 -4
- data/.data/spec/std/isa/inst/Zba/sh3add.yaml +0 -4
- data/.data/spec/std/isa/inst/Zba/slli.uw.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/clz.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/clzw.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/cpop.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/cpopw.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/ctz.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/ctzw.yaml +5 -4
- data/.data/spec/std/isa/inst/Zbb/max.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/maxu.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/min.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/minu.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/orc.b.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/sext.b.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/sext.h.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbb/zext.h.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbc/clmulr.yaml +0 -4
- data/.data/spec/std/isa/inst/{B → Zbkc}/clmul.yaml +1 -7
- data/.data/spec/std/isa/inst/{B → Zbkc}/clmulh.yaml +1 -7
- data/.data/spec/std/isa/inst/Zbs/bclr.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbs/bclri.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbs/bext.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbs/bexti.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbs/binv.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbs/binvi.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbs/bset.yaml +0 -4
- data/.data/spec/std/isa/inst/Zbs/bseti.yaml +0 -4
- data/.data/spec/std/isa/inst/Zcb/c.lbu.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.lh.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.lhu.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.mul.yaml +2 -6
- data/.data/spec/std/isa/inst/Zcb/c.not.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.sb.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.sext.b.yaml +2 -6
- data/.data/spec/std/isa/inst/Zcb/c.sext.h.yaml +2 -6
- data/.data/spec/std/isa/inst/Zcb/c.sh.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.zext.b.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.zext.h.yaml +2 -6
- data/.data/spec/std/isa/inst/Zcb/c.zext.w.yaml +2 -6
- data/.data/spec/std/isa/inst/Zcd/c.fld.yaml +3 -3
- data/.data/spec/std/isa/inst/Zcd/c.fldsp.yaml +4 -4
- data/.data/spec/std/isa/inst/Zcd/c.fsd.yaml +3 -3
- data/.data/spec/std/isa/inst/Zcd/c.fsdsp.yaml +4 -4
- data/.data/spec/std/isa/inst/Zcf/c.flw.yaml +3 -3
- data/.data/spec/std/isa/inst/Zcf/c.flwsp.yaml +4 -4
- data/.data/spec/std/isa/inst/Zcf/c.fsw.yaml +3 -3
- data/.data/spec/std/isa/inst/Zcf/c.fswsp.yaml +4 -4
- data/.data/spec/std/isa/inst/Zcmp/cm.mva01s.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcmp/cm.mvsa01.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcmp/cm.pop.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcmp/cm.popret.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcmp/cm.popretz.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcmp/cm.push.yaml +2 -2
- data/.data/spec/std/isa/inst/{Q → Zfa}/fltq.q.yaml +2 -2
- data/.data/spec/std/isa/inst/Zibi/beqi.yaml +45 -0
- data/.data/spec/std/isa/inst/Zibi/bnei.yaml +45 -0
- data/.data/spec/std/isa/inst/Zicbom/cbo.clean.yaml +2 -2
- data/.data/spec/std/isa/inst/Zicbom/cbo.flush.yaml +2 -2
- data/.data/spec/std/isa/inst/Zicbom/cbo.inval.yaml +3 -3
- data/.data/spec/std/isa/inst/Zicboz/cbo.zero.yaml +2 -2
- data/.data/spec/std/isa/inst/Zicfiss/ssamoswap.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicfiss/ssamoswap.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicfiss/sspopchk.yaml +63 -0
- data/.data/spec/std/isa/inst/Zicfiss/sspush.yaml +63 -0
- data/.data/spec/std/isa/inst/Zimop/mop.r.28.yaml +1 -2
- data/.data/spec/std/isa/inst/Zimop/mop.r.N.layout +1 -2
- data/.data/spec/std/isa/inst/Zimop/mop.rr.7.yaml +1 -2
- data/.data/spec/std/isa/inst/Zimop/mop.rr.N.layout +1 -2
- data/.data/spec/std/isa/inst/Zvfbfmin/vfncvtbf16.f.f.w.yaml +3 -1
- data/.data/spec/std/isa/inst/Zvfbfmin/vfwcvtbf16.f.f.v.yaml +3 -1
- data/.data/spec/std/isa/inst/Zvfofp4min/vfext.vf2.yaml +35 -0
- data/.data/spec/std/isa/inst/Zvfofp8min/vfncvt.f.f.q.yaml +31 -0
- data/.data/spec/std/isa/inst/Zvfofp8min/vfncvt.sat.f.f.q.yaml +32 -0
- data/.data/spec/std/isa/inst/Zvfofp8min/vfncvtbf16.sat.f.f.w.yaml +32 -0
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vandn.vv.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vandn.vx.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vbrev8.v.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vrev8.v.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vrol.vv.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vrol.vx.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vror.vi.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vror.vv.yaml +1 -1
- data/.data/spec/std/isa/inst/{Zvbb → Zvkb}/vror.vx.yaml +1 -1
- data/.data/spec/std/isa/isa/builtin_functions.idl +3 -1
- data/.data/spec/std/isa/isa/globals.isa +1 -1
- data/.data/spec/std/isa/isa/util.idl +4 -3
- data/.data/spec/std/isa/param/COUNTINHIBIT_EN.yaml +3 -2
- data/.data/spec/std/isa/param/HCONTEXT_AVAILABLE.yaml +1 -1
- data/.data/spec/std/isa/param/HCOUNTENABLE_EN.yaml +2 -5
- data/.data/spec/std/isa/param/HPM_COUNTER10_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER11_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER12_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER13_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER14_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER15_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER16_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER17_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER18_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER19_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER20_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER21_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER22_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER23_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER24_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER25_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER26_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER27_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER28_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER29_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER30_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER31_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER3_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER4_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER5_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER6_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER7_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER8_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTER9_WIDTH.yaml +29 -0
- data/.data/spec/std/isa/param/HPM_COUNTERN_WIDTH.layout +27 -0
- data/.data/spec/std/isa/param/HW_MSTATUS_FS_DIRTY_UPDATE.yaml +2 -4
- data/.data/spec/std/isa/param/HW_MSTATUS_VS_DIRTY_UPDATE.yaml +2 -4
- data/.data/spec/std/isa/param/LRSC_FAIL_ON_NON_EXACT_LRSC.yaml +1 -1
- data/.data/spec/std/isa/param/LRSC_FAIL_ON_VA_SYNONYM.yaml +1 -1
- data/.data/spec/std/isa/param/LRSC_MISALIGNED_BEHAVIOR.yaml +4 -4
- data/.data/spec/std/isa/param/LRSC_RESERVATION_STRATEGY.yaml +1 -1
- data/.data/spec/std/isa/param/MCOUNTENABLE_EN.yaml +2 -5
- data/.data/spec/std/isa/param/MEI_INTR_IMPL.yaml +28 -0
- data/.data/spec/std/isa/param/MSI_INTR_IMPL.yaml +28 -0
- data/.data/spec/std/isa/param/MSTATUS_FS_LEGAL_VALUES.yaml +8 -15
- data/.data/spec/std/isa/param/MSTATUS_VS_LEGAL_VALUES.yaml +7 -15
- data/.data/spec/std/isa/param/MTI_INTR_IMPL.yaml +28 -0
- data/.data/spec/std/isa/param/MTVAL_WIDTH.yaml +17 -5
- data/.data/spec/std/isa/param/MUTABLE_MISA_A.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_B.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_C.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_D.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_F.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_H.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_M.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_Q.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_S.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_U.yaml +1 -1
- data/.data/spec/std/isa/param/MUTABLE_MISA_V.yaml +1 -1
- data/.data/spec/std/isa/param/{PMLEN.yaml → NON_STANDARD_EXTENSION_IMPLEMENTED.yaml} +6 -9
- data/.data/spec/std/isa/param/NUM_EXTERNAL_GUEST_INTERRUPTS.yaml +1 -1
- data/.data/spec/std/isa/param/NUM_PMP_ENTRIES.yaml +1 -1
- data/.data/spec/std/isa/param/REPORT_CAUSE_IN_MTVAL_ON_LANDING_PAD_SOFTWARE_CHECK.yaml +1 -1
- data/.data/spec/std/isa/param/REPORT_CAUSE_IN_STVAL_ON_LANDING_PAD_SOFTWARE_CHECK.yaml +1 -1
- data/.data/spec/std/isa/param/REPORT_CAUSE_IN_VSTVAL_ON_LANDING_PAD_SOFTWARE_CHECK.yaml +1 -1
- data/.data/spec/std/isa/param/SCOUNTENABLE_EN.yaml +2 -6
- data/.data/spec/std/isa/param/SCTRDEPTH_DEPTH_LEGAL_VALUES.yaml +27 -0
- data/.data/spec/std/isa/param/SEI_INTR_IMPL.yaml +28 -0
- data/.data/spec/std/isa/param/SSI_INTR_IMPL.yaml +28 -0
- data/.data/spec/std/isa/param/STI_INTR_IMPL.yaml +33 -0
- data/.data/spec/std/isa/param/STVAL_WIDTH.yaml +81 -0
- data/.data/spec/std/isa/param/SUPPORTED_PMLEN_SMMPM.yaml +40 -0
- data/.data/spec/std/isa/param/SUPPORTED_PMLEN_SMNPM.yaml +42 -0
- data/.data/spec/std/isa/param/SUPPORTED_PMLEN_SSNPM.yaml +42 -0
- data/.data/spec/std/isa/param/TRAP_ON_ECALL_FROM_S.yaml +1 -1
- data/.data/spec/std/isa/param/TRAP_ON_ECALL_FROM_U.yaml +1 -1
- data/.data/spec/std/isa/param/TRAP_ON_ECALL_FROM_VS.yaml +1 -1
- data/.data/spec/std/isa/param/TRAP_ON_SFENCE_VMA_WHEN_SATP_MODE_IS_READ_ONLY.yaml +1 -1
- data/.data/spec/std/isa/param/VSEI_INTR_IMPL.yaml +28 -0
- data/.data/spec/std/isa/param/VSSI_INTR_IMPL.yaml +28 -0
- data/.data/spec/std/isa/param/VSTI_INTR_IMPL.yaml +33 -0
- data/.data/spec/std/isa/param/WFI_FINITE.yaml +20 -0
- data/.data/spec/std/isa/param/WFI_U_MODE.yaml +20 -0
- data/lib/udb/Z3_VERSION +1 -1
- data/lib/udb/config.rb +1 -1
- data/lib/udb/log.rb +16 -0
- data/lib/udb/obj/csr.rb +38 -45
- data/lib/udb/obj/database_obj.rb +1 -1
- data/lib/udb/obj/exception_code.rb +3 -3
- data/lib/udb/version.rb +1 -1
- metadata +122 -52
- data/.data/spec/std/isa/inst/Zicfiss/sspopchk.x1.yaml +0 -25
- data/.data/spec/std/isa/inst/Zicfiss/sspopchk.x5.yaml +0 -25
- data/.data/spec/std/isa/inst/Zicfiss/sspush.x1.yaml +0 -25
- data/.data/spec/std/isa/inst/Zicfiss/sspush.x5.yaml +0 -25
- /data/.data/spec/std/isa/inst/{Smdbltrp → Smctr}/sctrclr.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fcvtmod.w.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fleq.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fleq.h.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/fleq.q.yaml +0 -0
- /data/.data/spec/std/isa/inst/{F → Zfa}/fleq.s.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fli.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fli.h.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/fli.q.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fltq.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fltq.h.yaml +0 -0
- /data/.data/spec/std/isa/inst/{F → Zfa}/fltq.s.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fmaxm.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fmaxm.h.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/fmaxm.q.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fminm.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fminm.h.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/fminm.q.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fmvh.x.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/fmvh.x.q.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fmvp.d.x.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/fmvp.q.x.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/fround.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Zfh → Zfa}/fround.h.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/fround.q.yaml +0 -0
- /data/.data/spec/std/isa/inst/{D → Zfa}/froundnx.d.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Zfh → Zfa}/froundnx.h.yaml +0 -0
- /data/.data/spec/std/isa/inst/{Q → Zfa}/froundnx.q.yaml +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
# yaml-language-server: $schema=../../../schemas/csr_schema.json
|
|
4
|
+
$schema: "csr_schema.json#"
|
|
5
|
+
kind: csr
|
|
6
|
+
name: tcontrol
|
|
7
|
+
long_name: Trigger Control
|
|
8
|
+
address: 0x7A5
|
|
9
|
+
priv_mode: M
|
|
10
|
+
length: XLEN
|
|
11
|
+
writable: true
|
|
12
|
+
description: |
|
|
13
|
+
This optional register is only accessible in M-mode and Debug Mode and provides
|
|
14
|
+
various control bits related to triggers.
|
|
15
|
+
definedBy:
|
|
16
|
+
extension:
|
|
17
|
+
name: Sdtrig
|
|
18
|
+
fields:
|
|
19
|
+
MPTE:
|
|
20
|
+
location: 7
|
|
21
|
+
description: |
|
|
22
|
+
M-mode previous trigger enable field.
|
|
23
|
+
MPTE and MTE provide one solution to a problem regarding triggers with action=0
|
|
24
|
+
firing in M-mode trap handlers.
|
|
25
|
+
When any trap into M-mode is taken, MPTE is set to the value of MTE.
|
|
26
|
+
type: RW-H
|
|
27
|
+
reset_value: 0
|
|
28
|
+
MTE:
|
|
29
|
+
location: 3
|
|
30
|
+
description: |
|
|
31
|
+
M-mode trigger enable field.
|
|
32
|
+
0 (disabled):: Triggers with action=0 do not match/fire while the hart is in M-mode.
|
|
33
|
+
1 (enabled):: Triggers do match/fire while the hart is in M-mode.
|
|
34
|
+
When any trap into M-mode is taken, MTE is set to 0. When `mret` is executed, MTE is
|
|
35
|
+
set to the value of MPTE.
|
|
36
|
+
type: RW-H
|
|
37
|
+
reset_value: 0
|
|
@@ -79,7 +79,7 @@ sw_read(): |
|
|
|
79
79
|
}
|
|
80
80
|
} else if (mode() == PrivilegeMode::VU) {
|
|
81
81
|
# access in VU mode
|
|
82
|
-
if (((CSR[hcounteren].TM & CSR[scounteren].TM) == 1'b0) && (CSR[mcounteren].
|
|
82
|
+
if (((CSR[hcounteren].TM & CSR[scounteren].TM) == 1'b0) && (CSR[mcounteren].TM == 1'b1)) {
|
|
83
83
|
raise(ExceptionCode::VirtualInstruction, mode(), $encoding);
|
|
84
84
|
} else if (CSR[mcounteren].TM == 1'b0) {
|
|
85
85
|
raise(ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
@@ -80,7 +80,7 @@ sw_read(): |
|
|
|
80
80
|
}
|
|
81
81
|
} else if (mode() == PrivilegeMode::VU) {
|
|
82
82
|
# access in VU mode
|
|
83
|
-
if (((CSR[hcounteren].TM & CSR[scounteren].TM) == 1'b0) && (CSR[mcounteren].
|
|
83
|
+
if (((CSR[hcounteren].TM & CSR[scounteren].TM) == 1'b0) && (CSR[mcounteren].TM == 1'b1)) {
|
|
84
84
|
raise(ExceptionCode::VirtualInstruction, mode(), $encoding);
|
|
85
85
|
} else if (CSR[mcounteren].TM == 1'b0) {
|
|
86
86
|
raise(ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
# yaml-language-server: $schema=../../../schemas/csr_schema.json
|
|
4
|
+
$schema: "csr_schema.json#"
|
|
5
|
+
kind: csr
|
|
6
|
+
name: tinfo
|
|
7
|
+
long_name: Trigger Info
|
|
8
|
+
address: 0x7A4
|
|
9
|
+
priv_mode: M
|
|
10
|
+
length: XLEN
|
|
11
|
+
writable: true
|
|
12
|
+
description: |
|
|
13
|
+
This register provides access to the trigger selected by `tselect`.
|
|
14
|
+
The reset values listed here apply to every underlying trigger.
|
|
15
|
+
|
|
16
|
+
This register is optional if no triggers are implemented, or if `type` is not writable
|
|
17
|
+
and `version` would be 0. In this case the debugger can read the only supported type
|
|
18
|
+
from `tdata1`.
|
|
19
|
+
|
|
20
|
+
Writing this read/write CSR has no effect.
|
|
21
|
+
definedBy:
|
|
22
|
+
extension:
|
|
23
|
+
name: Sdtrig
|
|
24
|
+
fields:
|
|
25
|
+
VERSION:
|
|
26
|
+
location: 31-24
|
|
27
|
+
description: |
|
|
28
|
+
Contains the version of the Sdtrig extension implemented.
|
|
29
|
+
|
|
30
|
+
0 (0):: Supports triggers as described in this spec at commit 5a5c078, made on
|
|
31
|
+
February 2, 2023.
|
|
32
|
+
|
|
33
|
+
1 (1):: Supports triggers as described in the ratified version 1.0 of this document.
|
|
34
|
+
type: RO
|
|
35
|
+
reset_value: UNDEFINED_LEGAL
|
|
36
|
+
TYPES:
|
|
37
|
+
location: 15-0
|
|
38
|
+
description: |
|
|
39
|
+
One bit for each possible `type` enumerated in `tdata1`. Bit N corresponds to type N.
|
|
40
|
+
If the bit is set, then that type is supported by the currently selected trigger.
|
|
41
|
+
|
|
42
|
+
If the currently selected trigger doesn't exist, this field contains 1.
|
|
43
|
+
type: RO
|
|
44
|
+
reset_value: UNDEFINED_LEGAL
|
|
@@ -11,7 +11,7 @@ address: 0x241
|
|
|
11
11
|
writable: true
|
|
12
12
|
virtual_address: 0x141
|
|
13
13
|
priv_mode: VS
|
|
14
|
-
length:
|
|
14
|
+
length: VSXLEN
|
|
15
15
|
description: |
|
|
16
16
|
Written with the PC of an instruction on an exception or interrupt taken in VS-mode.
|
|
17
17
|
|
|
@@ -21,7 +21,8 @@ definedBy:
|
|
|
21
21
|
name: H
|
|
22
22
|
fields:
|
|
23
23
|
PC:
|
|
24
|
-
|
|
24
|
+
location_rv32: 31-0
|
|
25
|
+
location_rv64: 63-0
|
|
25
26
|
description: |
|
|
26
27
|
When a trap is taken into VS-mode, `vsepc.PC` is written with the virtual address of the
|
|
27
28
|
instruction that was interrupted or that encountered the exception.
|
|
@@ -39,14 +40,14 @@ fields:
|
|
|
39
40
|
When `misa.C` is clear, bit 1 is masked to zero. Writes to bit 1 are still captured, and
|
|
40
41
|
may be visible on the next read with `misa.C` is set.
|
|
41
42
|
|
|
42
|
-
Holds bits
|
|
43
|
+
Holds bits [VSXLEN-1:<%= ext?(:C) ? 2 : 1 %>] of the virtual address associated with an exception.
|
|
43
44
|
type: RW-RH
|
|
44
45
|
sw_write(csr_value): |
|
|
45
46
|
return csr_value.PC & ~64'b1;
|
|
46
47
|
reset_value: UNDEFINED_LEGAL
|
|
47
48
|
sw_read(): |
|
|
48
49
|
if (implemented?(ExtensionName::C) && CSR[misa].C == 1'b1) {
|
|
49
|
-
return CSR[
|
|
50
|
+
return CSR[vsepc].PC & ~64'b1;
|
|
50
51
|
} else {
|
|
51
|
-
return CSR[
|
|
52
|
+
return CSR[vsepc].PC;
|
|
52
53
|
}
|
|
@@ -11,19 +11,20 @@ address: 0x205
|
|
|
11
11
|
writable: true
|
|
12
12
|
virtual_address: 0x105
|
|
13
13
|
priv_mode: VS
|
|
14
|
-
length:
|
|
14
|
+
length: VSXLEN
|
|
15
15
|
description: Controls where traps jump.
|
|
16
16
|
definedBy:
|
|
17
17
|
extension:
|
|
18
18
|
name: H
|
|
19
19
|
fields:
|
|
20
20
|
BASE:
|
|
21
|
-
|
|
21
|
+
location_rv32: 31-2
|
|
22
|
+
location_rv64: 63-2
|
|
22
23
|
description: |
|
|
23
24
|
<%- va_size = ext?(:Sv57) ? 57 : (ext?(:Sv48) ? 48 : 39) -%>
|
|
24
|
-
Bits
|
|
25
|
+
Bits [VSXLEN-1:2] of the virtual address of the exception vector for any trap taken into VS-mode.
|
|
25
26
|
|
|
26
|
-
If the base address is written with a non-canonical address (_i.e._, bits
|
|
27
|
+
If the base address is written with a non-canonical address (_i.e._, bits [VSXLEN-1:<%= va_size %>] do not match bit <%= va_size-1 %>),
|
|
27
28
|
the write should be ignored.
|
|
28
29
|
|
|
29
30
|
type: RW-R
|
|
@@ -12,6 +12,10 @@ versions:
|
|
|
12
12
|
- version: "2.0.0"
|
|
13
13
|
state: ratified
|
|
14
14
|
ratification_date: 2019-12
|
|
15
|
+
requirements:
|
|
16
|
+
extension:
|
|
17
|
+
name: Zmmul
|
|
18
|
+
version: "~> 1.0.0"
|
|
15
19
|
description: |
|
|
16
20
|
This chapter describes the standard integer multiplication and division
|
|
17
21
|
instruction extension, which is named `M` and contains instructions
|
|
@@ -26,6 +26,7 @@ requirements:
|
|
|
26
26
|
implemented?(ExtensionName::Sv39) -> SV39X4_TRANSLATION;
|
|
27
27
|
implemented?(ExtensionName::Sv48) -> SV48X4_TRANSLATION;
|
|
28
28
|
implemented?(ExtensionName::Sv57) -> SV57X4_TRANSLATION;
|
|
29
|
+
-> GSTAGE_MODE_BARE;
|
|
29
30
|
reason: |
|
|
30
31
|
Shgatpa mandates that or each supported virtual memory scheme SvNN supported in
|
|
31
32
|
`satp`, the corresponding hgatp SvNNx4 mode must be supported.
|
|
@@ -51,7 +51,7 @@ requirements:
|
|
|
51
51
|
extension:
|
|
52
52
|
allOf:
|
|
53
53
|
- name: S
|
|
54
|
-
version: ~> 1.13 # The latest ratified version of S when
|
|
54
|
+
version: ~> 1.13 # The latest ratified version of S when Ssctr was ratified
|
|
55
55
|
- name: Smcsrind
|
|
56
56
|
version: ~> 1.0
|
|
57
57
|
- name: Ssctr
|
|
@@ -43,9 +43,9 @@ versions:
|
|
|
43
43
|
requirements:
|
|
44
44
|
allOf:
|
|
45
45
|
- param:
|
|
46
|
-
name:
|
|
46
|
+
name: TRAP_ON_RESERVED_INSTRUCTION
|
|
47
47
|
equal: true
|
|
48
|
-
reason: Ssstrict requires unimplemented opcodes to trap
|
|
48
|
+
reason: Ssstrict requires unimplemented opcodes in the standard or reserved encoding spaces to trap
|
|
49
49
|
- param:
|
|
50
50
|
name: TRAP_ON_UNIMPLEMENTED_CSR
|
|
51
51
|
equal: true
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
$schema: "ext_schema.json#"
|
|
7
7
|
kind: extension
|
|
8
8
|
name: Sv32
|
|
9
|
-
long_name: 32-bit virtual address translation (
|
|
10
|
-
description: 32-bit virtual address translation (
|
|
9
|
+
long_name: 32-bit virtual address translation (2 level)
|
|
10
|
+
description: 32-bit virtual address translation (2 level)
|
|
11
11
|
type: privileged
|
|
12
12
|
versions:
|
|
13
13
|
- version: "1.0"
|
|
@@ -8,8 +8,8 @@ kind: extension
|
|
|
8
8
|
name: Svpbmt
|
|
9
9
|
long_name: Page-based memory types
|
|
10
10
|
description: |
|
|
11
|
-
This extension
|
|
12
|
-
|
|
11
|
+
This extension specifies page-based memory types, adding the PBMT field
|
|
12
|
+
to page-table entries to control memory type, cacheability, and ordering attributes.
|
|
13
13
|
type: privileged
|
|
14
14
|
versions:
|
|
15
15
|
- version: "1.0.0"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Copyright (c) RISC-V International
|
|
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: Zibi
|
|
9
|
+
long_name: Branch with Immediate
|
|
10
|
+
description: |
|
|
11
|
+
The Zibi extension adds conditional branch instructions that compare an
|
|
12
|
+
integer register with a small immediate constant.
|
|
13
|
+
|
|
14
|
+
Existing conditional branch instructions, such as `beq` and `bne`, compare two
|
|
15
|
+
integer registers. When a branch compares against a constant, software must
|
|
16
|
+
otherwise materialize that constant in an integer register before branching,
|
|
17
|
+
which can increase register pressure and potentially cause register spills and
|
|
18
|
+
reloads.
|
|
19
|
+
|
|
20
|
+
The `beqi` and `bnei` instructions use the B-type instruction format. The
|
|
21
|
+
instruction bits that would otherwise carry _rs2_ in a B-type branch carry a
|
|
22
|
+
5-bit _cimm_ field. All _cimm_ encodings are valid: the _cimm_ field is not
|
|
23
|
+
sign-extended; it decodes to an XLEN-bit comparison constant where `cimm=0`
|
|
24
|
+
encodes the value -1, and `cimm` values 1 through 31 encode the corresponding
|
|
25
|
+
positive integer values 1 through 31.
|
|
26
|
+
type: unprivileged
|
|
27
|
+
versions:
|
|
28
|
+
- version: "0.7.0"
|
|
29
|
+
state: frozen
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Copyright (c) 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
|
+
$schema: "ext_schema.json#"
|
|
5
|
+
kind: extension
|
|
6
|
+
name: Zvfbfa
|
|
7
|
+
long_name: Vector Extension for Additional BF16 Computation
|
|
8
|
+
type: unprivileged
|
|
9
|
+
description: |
|
|
10
|
+
The Zvfbfa extension adds more complete BF16 vector compute support.
|
|
11
|
+
Zvfbfa is compatible with, but does not require, Zvfbfwma and Zvfbfmin.
|
|
12
|
+
versions:
|
|
13
|
+
- version: "0.8.0"
|
|
14
|
+
# date: 2026-06-08
|
|
15
|
+
# commit: f15df74e95e56ad5fabdc9edcf0f1c907d29040a
|
|
16
|
+
state: development
|
|
17
|
+
repositories:
|
|
18
|
+
- url: https://github.com/riscv/riscv-isa-manual
|
|
19
|
+
branch: zvfbfa
|
|
20
|
+
requirements:
|
|
21
|
+
extension:
|
|
22
|
+
allOf:
|
|
23
|
+
- name: Zve32f
|
|
24
|
+
- name: Zfbfmin
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Copyright (c) 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
|
+
$schema: "ext_schema.json#"
|
|
5
|
+
kind: extension
|
|
6
|
+
name: Zvfofp4min
|
|
7
|
+
long_name: Vector OFP4 Conversion Extension
|
|
8
|
+
type: unprivileged
|
|
9
|
+
description: |
|
|
10
|
+
The Zvfofp4min extension provides basic vector conversion support for
|
|
11
|
+
the OFP4 E2M1 format.
|
|
12
|
+
versions:
|
|
13
|
+
- version: "0.1.0"
|
|
14
|
+
state: development
|
|
15
|
+
# commit: e1e20a75c9a9fa797519fcc11ee997c7a7be4503
|
|
16
|
+
repositories:
|
|
17
|
+
- url: https://github.com/aswaterman/riscv-misc
|
|
18
|
+
branch: main
|
|
19
|
+
requirements:
|
|
20
|
+
extension:
|
|
21
|
+
name: Zve32f
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Copyright (c) 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
|
+
$schema: "ext_schema.json#"
|
|
5
|
+
kind: extension
|
|
6
|
+
name: Zvfofp8min
|
|
7
|
+
long_name: Vector OFP8 Conversion Extension
|
|
8
|
+
description: |
|
|
9
|
+
The Zvfofp8min extension provides basic vector conversion support for the
|
|
10
|
+
8-bit floating-point formats OFP8 E4M3 and OFP8 E5M2.
|
|
11
|
+
type: unprivileged
|
|
12
|
+
versions:
|
|
13
|
+
- version: "0.9.0"
|
|
14
|
+
state: development
|
|
15
|
+
repositories:
|
|
16
|
+
- url: https://github.com/riscv/riscv-isa-manual
|
|
17
|
+
branch: zvfofp8min
|
|
18
|
+
requirements:
|
|
19
|
+
extension:
|
|
20
|
+
name: Zve32f
|
|
@@ -45,10 +45,6 @@ access:
|
|
|
45
45
|
vu: always
|
|
46
46
|
data_independent_timing: true
|
|
47
47
|
operation(): |
|
|
48
|
-
if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
|
|
49
|
-
raise (ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
48
|
XReg input = X[xs1];
|
|
53
49
|
XReg output = 0;
|
|
54
50
|
|
|
@@ -31,10 +31,6 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: true
|
|
33
33
|
operation(): |
|
|
34
|
-
if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
|
|
35
|
-
raise (ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
34
|
XReg shamt = (xlen() == 32) ? X[xs2][4:0] : X[xs2][5:0];
|
|
39
35
|
|
|
40
36
|
X[xd] = (X[xs1] << shamt) | (X[xs1] >> (xlen() - shamt));
|
|
@@ -34,10 +34,6 @@ access:
|
|
|
34
34
|
vu: always
|
|
35
35
|
data_independent_timing: true
|
|
36
36
|
operation(): |
|
|
37
|
-
if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
|
|
38
|
-
raise (ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
37
|
XReg xs1_word = X[xs1][31:0];
|
|
42
38
|
XReg shamt = X[xs2][4:0];
|
|
43
39
|
|
|
@@ -31,10 +31,6 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: true
|
|
33
33
|
operation(): |
|
|
34
|
-
if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
|
|
35
|
-
raise (ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
34
|
XReg shamt = (xlen() == 32) ? X[xs2][4:0] : X[xs2][5:0];
|
|
39
35
|
|
|
40
36
|
X[xd] = (X[xs1] >> shamt) | (X[xs1] << (xlen() - shamt));
|
|
@@ -42,10 +42,6 @@ access:
|
|
|
42
42
|
vu: always
|
|
43
43
|
data_independent_timing: true
|
|
44
44
|
operation(): |
|
|
45
|
-
if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
|
|
46
|
-
raise (ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
45
|
XReg shamt = (xlen() == 32) ? shamt[4:0] : shamt[5:0];
|
|
50
46
|
|
|
51
47
|
X[xd] = (X[xs1] >> shamt) | (X[xs1] << (xlen() - shamt));
|
|
@@ -35,11 +35,7 @@ access:
|
|
|
35
35
|
vu: always
|
|
36
36
|
data_independent_timing: true
|
|
37
37
|
operation(): |
|
|
38
|
-
if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
|
|
39
|
-
raise (ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
38
|
XReg xs1_word = X[xs1][31:0];
|
|
43
39
|
|
|
44
|
-
XReg unextended_result = (
|
|
40
|
+
XReg unextended_result = (xs1_word >> shamt) | (xs1_word << (32 - shamt));
|
|
45
41
|
X[xd] = {{32{unextended_result[31]}}, unextended_result};
|
|
@@ -35,12 +35,8 @@ access:
|
|
|
35
35
|
vu: always
|
|
36
36
|
data_independent_timing: true
|
|
37
37
|
operation(): |
|
|
38
|
-
if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) {
|
|
39
|
-
raise (ExceptionCode::IllegalInstruction, mode(), $encoding);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
38
|
XReg xs1_word = X[xs1][31:0];
|
|
43
39
|
XReg shamt = X[xs2][4:0];
|
|
44
40
|
|
|
45
|
-
XReg unextended_result = (
|
|
41
|
+
XReg unextended_result = (xs1_word >> shamt) | (xs1_word << (32 - shamt));
|
|
46
42
|
X[xd] = {{32{unextended_result[31]}}, unextended_result};
|
|
@@ -33,8 +33,8 @@ access:
|
|
|
33
33
|
vu: always
|
|
34
34
|
data_independent_timing: true
|
|
35
35
|
operation(): |
|
|
36
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
37
|
-
|
|
36
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
37
|
+
reserved_instruction($encoding);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
X[xd] = X[xd] + $signed(imm);
|
|
@@ -30,8 +30,8 @@ access:
|
|
|
30
30
|
vs: always
|
|
31
31
|
vu: always
|
|
32
32
|
operation(): |
|
|
33
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
34
|
-
|
|
33
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
34
|
+
reserved_instruction($encoding);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
X[2] = X[2] + $signed(imm);
|
|
@@ -31,8 +31,8 @@ access:
|
|
|
31
31
|
vs: always
|
|
32
32
|
vu: always
|
|
33
33
|
operation(): |
|
|
34
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
35
|
-
|
|
34
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
35
|
+
reserved_instruction($encoding);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
X[creg2reg(xd)] = X[2] + imm;
|
|
@@ -34,8 +34,8 @@ access:
|
|
|
34
34
|
vu: always
|
|
35
35
|
data_independent_timing: true
|
|
36
36
|
operation(): |
|
|
37
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
38
|
-
|
|
37
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
38
|
+
reserved_instruction($encoding);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
X[xd] = sext((X[xd] + sext(imm, 6)), 32);
|
|
@@ -29,8 +29,8 @@ access:
|
|
|
29
29
|
vs: always
|
|
30
30
|
vu: always
|
|
31
31
|
operation(): |
|
|
32
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
33
|
-
|
|
32
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
33
|
+
reserved_instruction($encoding);
|
|
34
34
|
}
|
|
35
35
|
if (X[creg2reg(xs1)] == 0) {
|
|
36
36
|
jump($pc + $signed(imm));
|
|
@@ -29,8 +29,8 @@ access:
|
|
|
29
29
|
vs: always
|
|
30
30
|
vu: always
|
|
31
31
|
operation(): |
|
|
32
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
33
|
-
|
|
32
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
33
|
+
reserved_instruction($encoding);
|
|
34
34
|
}
|
|
35
35
|
if (X[creg2reg(xs1)] != 0) {
|
|
36
36
|
jump($pc + $signed(imm));
|
|
@@ -32,8 +32,8 @@ access:
|
|
|
32
32
|
vs: always
|
|
33
33
|
vu: always
|
|
34
34
|
operation(): |
|
|
35
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
36
|
-
|
|
35
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
36
|
+
reserved_instruction($encoding);
|
|
37
37
|
}
|
|
38
38
|
if (TRAP_ON_EBREAK) {
|
|
39
39
|
raise_precise(ExceptionCode::Breakpoint, mode(), $pc);
|
|
@@ -27,8 +27,8 @@ access:
|
|
|
27
27
|
vs: always
|
|
28
28
|
vu: always
|
|
29
29
|
operation(): |
|
|
30
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
31
|
-
|
|
30
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
31
|
+
reserved_instruction($encoding);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
jump($pc + $signed(imm));
|
|
@@ -29,8 +29,8 @@ access:
|
|
|
29
29
|
vs: always
|
|
30
30
|
vu: always
|
|
31
31
|
operation(): |
|
|
32
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
33
|
-
|
|
32
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
33
|
+
reserved_instruction($encoding);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
XReg return_addr = $pc + 2;
|
|
@@ -26,8 +26,8 @@ access:
|
|
|
26
26
|
vs: always
|
|
27
27
|
vu: always
|
|
28
28
|
operation(): |
|
|
29
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
30
|
-
|
|
29
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
30
|
+
reserved_instruction($encoding);
|
|
31
31
|
}
|
|
32
32
|
XReg addr = X[xs1];
|
|
33
33
|
XReg returnaddr;
|
|
@@ -26,8 +26,8 @@ access:
|
|
|
26
26
|
vs: always
|
|
27
27
|
vu: always
|
|
28
28
|
operation(): |
|
|
29
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
30
|
-
|
|
29
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
30
|
+
reserved_instruction($encoding);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
jump(X[xs1]);
|
|
@@ -50,8 +50,8 @@ access:
|
|
|
50
50
|
vs: always
|
|
51
51
|
vu: always
|
|
52
52
|
operation(): |
|
|
53
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
54
|
-
|
|
53
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
54
|
+
reserved_instruction($encoding);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
if (xlen() == 32) {
|
|
@@ -49,8 +49,8 @@ access:
|
|
|
49
49
|
vs: always
|
|
50
50
|
vu: always
|
|
51
51
|
operation(): |
|
|
52
|
-
if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) {
|
|
53
|
-
|
|
52
|
+
if (implemented?(ExtensionName::C) && MISA_CSR_IMPLEMENTED && (CSR[misa].C == 1'b0)) {
|
|
53
|
+
reserved_instruction($encoding);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
XReg virtual_address = X[2] + imm;
|