├── .clang-format ├── .devcontainer ├── Dockerfile ├── devcontainer.json ├── onCreateCommand.sh └── updateContentCommand.sh ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── data-entry.md │ ├── data-error.md │ └── feature_request.md ├── actions │ └── singularity-setup │ │ └── action.yml ├── dependabot.yml └── workflows │ ├── container.yml │ ├── nightly.yml │ ├── pages.yml │ └── regress.yml ├── .gitignore ├── .gitmessage ├── .gitmodules ├── .pre-commit-config.yaml ├── .prettierignore ├── .prettierrc ├── .rubocop.yml ├── .solargraph.yml ├── .sorbet-config ├── .tapioca-config.yml ├── .vscode ├── extensions.json └── launch.json ├── CODE_OF_CONDUCT.adoc ├── CONTRIBUTING.adoc ├── Gemfile ├── Gemfile.lock ├── LICENSE-BSD-2-Clause.txt ├── LICENSE-BSD-3-Clause-Clear.txt ├── LICENSE-CC-BY.txt ├── LICENSE-CC0-1.0.txt ├── LICENSE-MIT.txt ├── LICENSES ├── BSD-2-Clause.txt ├── BSD-3-Clause-Clear.txt ├── CC-BY-4.0.txt ├── CC0-1.0.txt └── MIT.txt ├── README.adoc ├── REUSE.toml ├── Rakefile ├── arch ├── README.adoc ├── csr │ ├── F │ │ ├── fcsr.yaml │ │ ├── fflags.yaml │ │ └── frm.yaml │ ├── H │ │ ├── hcounteren.layout │ │ ├── hcounteren.yaml │ │ ├── henvcfg.yaml │ │ ├── henvcfgh.yaml │ │ ├── hgatp.yaml │ │ ├── htimedelta.yaml │ │ ├── htimedeltah.yaml │ │ ├── htinst.yaml │ │ ├── htval.yaml │ │ ├── mtinst.yaml │ │ ├── mtval2.yaml │ │ └── vsatp.yaml │ ├── I │ │ ├── mcounteren.layout │ │ ├── mcounteren.yaml │ │ ├── pmpaddr0.yaml │ │ ├── pmpaddr1.yaml │ │ ├── pmpaddr10.yaml │ │ ├── pmpaddr11.yaml │ │ ├── pmpaddr12.yaml │ │ ├── pmpaddr13.yaml │ │ ├── pmpaddr14.yaml │ │ ├── pmpaddr15.yaml │ │ ├── pmpaddr16.yaml │ │ ├── pmpaddr17.yaml │ │ ├── pmpaddr18.yaml │ │ ├── pmpaddr19.yaml │ │ ├── pmpaddr2.yaml │ │ ├── pmpaddr20.yaml │ │ ├── pmpaddr21.yaml │ │ ├── pmpaddr22.yaml │ │ ├── pmpaddr23.yaml │ │ ├── pmpaddr24.yaml │ │ ├── pmpaddr25.yaml │ │ ├── pmpaddr26.yaml │ │ ├── pmpaddr27.yaml │ │ ├── pmpaddr28.yaml │ │ ├── pmpaddr29.yaml │ │ ├── pmpaddr3.yaml │ │ ├── pmpaddr30.yaml │ │ ├── pmpaddr31.yaml │ │ ├── pmpaddr32.yaml │ │ ├── pmpaddr33.yaml │ │ ├── pmpaddr34.yaml │ │ ├── pmpaddr35.yaml │ │ ├── pmpaddr36.yaml │ │ ├── pmpaddr37.yaml │ │ ├── pmpaddr38.yaml │ │ ├── pmpaddr39.yaml │ │ ├── pmpaddr4.yaml │ │ ├── pmpaddr40.yaml │ │ ├── pmpaddr41.yaml │ │ ├── pmpaddr42.yaml │ │ ├── pmpaddr43.yaml │ │ ├── pmpaddr44.yaml │ │ ├── pmpaddr45.yaml │ │ ├── pmpaddr46.yaml │ │ ├── pmpaddr47.yaml │ │ ├── pmpaddr48.yaml │ │ ├── pmpaddr49.yaml │ │ ├── pmpaddr5.yaml │ │ ├── pmpaddr50.yaml │ │ ├── pmpaddr51.yaml │ │ ├── pmpaddr52.yaml │ │ ├── pmpaddr53.yaml │ │ ├── pmpaddr54.yaml │ │ ├── pmpaddr55.yaml │ │ ├── pmpaddr56.yaml │ │ ├── pmpaddr57.yaml │ │ ├── pmpaddr58.yaml │ │ ├── pmpaddr59.yaml │ │ ├── pmpaddr6.yaml │ │ ├── pmpaddr60.yaml │ │ ├── pmpaddr61.yaml │ │ ├── pmpaddr62.yaml │ │ ├── pmpaddr63.yaml │ │ ├── pmpaddr7.yaml │ │ ├── pmpaddr8.yaml │ │ ├── pmpaddr9.yaml │ │ ├── pmpaddrN.layout │ │ ├── pmpcfg0.yaml │ │ ├── pmpcfg1.yaml │ │ ├── pmpcfg10.yaml │ │ ├── pmpcfg11.yaml │ │ ├── pmpcfg12.yaml │ │ ├── pmpcfg13.yaml │ │ ├── pmpcfg14.yaml │ │ ├── pmpcfg15.yaml │ │ ├── pmpcfg2.yaml │ │ ├── pmpcfg3.yaml │ │ ├── pmpcfg4.yaml │ │ ├── pmpcfg5.yaml │ │ ├── pmpcfg6.yaml │ │ ├── pmpcfg7.yaml │ │ ├── pmpcfg8.yaml │ │ ├── pmpcfg9.yaml │ │ └── pmpcfgN.layout │ ├── S │ │ ├── scounteren.layout │ │ └── scounteren.yaml │ ├── Smcntrpmf │ │ ├── mcyclecfg.yaml │ │ ├── mcyclecfgh.yaml │ │ ├── minstretcfg.yaml │ │ └── minstretcfgh.yaml │ ├── Smcsrind │ │ ├── mireg.yaml │ │ ├── mireg2.yaml │ │ ├── mireg3.yaml │ │ ├── mireg4.yaml │ │ ├── mireg5.yaml │ │ ├── mireg6.yaml │ │ ├── miselect.yaml │ │ ├── sireg.yaml │ │ ├── sireg2.yaml │ │ ├── sireg3.yaml │ │ ├── sireg4.yaml │ │ ├── sireg5.yaml │ │ ├── sireg6.yaml │ │ ├── siselect.yaml │ │ ├── vsireg.yaml │ │ ├── vsireg2.yaml │ │ ├── vsireg3.yaml │ │ ├── vsireg4.yaml │ │ ├── vsireg5.yaml │ │ ├── vsireg6.yaml │ │ └── vsiselect.yaml │ ├── Smrnmi │ │ ├── mncause.yaml │ │ ├── mnepc.yaml │ │ ├── mnscratch.yaml │ │ └── mnstatus.yaml │ ├── Sscofpmf │ │ ├── scountovf.layout │ │ └── scountovf.yaml │ ├── Zicntr │ │ ├── mcountinhibit.layout │ │ └── mcountinhibit.yaml │ ├── Zihpm │ │ ├── hpmcounter10.yaml │ │ ├── hpmcounter10h.yaml │ │ ├── hpmcounter11.yaml │ │ ├── hpmcounter11h.yaml │ │ ├── hpmcounter12.yaml │ │ ├── hpmcounter12h.yaml │ │ ├── hpmcounter13.yaml │ │ ├── hpmcounter13h.yaml │ │ ├── hpmcounter14.yaml │ │ ├── hpmcounter14h.yaml │ │ ├── hpmcounter15.yaml │ │ ├── hpmcounter15h.yaml │ │ ├── hpmcounter16.yaml │ │ ├── hpmcounter16h.yaml │ │ ├── hpmcounter17.yaml │ │ ├── hpmcounter17h.yaml │ │ ├── hpmcounter18.yaml │ │ ├── hpmcounter18h.yaml │ │ ├── hpmcounter19.yaml │ │ ├── hpmcounter19h.yaml │ │ ├── hpmcounter20.yaml │ │ ├── hpmcounter20h.yaml │ │ ├── hpmcounter21.yaml │ │ ├── hpmcounter21h.yaml │ │ ├── hpmcounter22.yaml │ │ ├── hpmcounter22h.yaml │ │ ├── hpmcounter23.yaml │ │ ├── hpmcounter23h.yaml │ │ ├── hpmcounter24.yaml │ │ ├── hpmcounter24h.yaml │ │ ├── hpmcounter25.yaml │ │ ├── hpmcounter25h.yaml │ │ ├── hpmcounter26.yaml │ │ ├── hpmcounter26h.yaml │ │ ├── hpmcounter27.yaml │ │ ├── hpmcounter27h.yaml │ │ ├── hpmcounter28.yaml │ │ ├── hpmcounter28h.yaml │ │ ├── hpmcounter29.yaml │ │ ├── hpmcounter29h.yaml │ │ ├── hpmcounter3.yaml │ │ ├── hpmcounter30.yaml │ │ ├── hpmcounter30h.yaml │ │ ├── hpmcounter31.yaml │ │ ├── hpmcounter31h.yaml │ │ ├── hpmcounter3h.yaml │ │ ├── hpmcounter4.yaml │ │ ├── hpmcounter4h.yaml │ │ ├── hpmcounter5.yaml │ │ ├── hpmcounter5h.yaml │ │ ├── hpmcounter6.yaml │ │ ├── hpmcounter6h.yaml │ │ ├── hpmcounter7.yaml │ │ ├── hpmcounter7h.yaml │ │ ├── hpmcounter8.yaml │ │ ├── hpmcounter8h.yaml │ │ ├── hpmcounter9.yaml │ │ ├── hpmcounter9h.yaml │ │ ├── hpmcounterN.layout │ │ ├── hpmcounterNh.layout │ │ ├── mhpmcounter10.yaml │ │ ├── mhpmcounter10h.yaml │ │ ├── mhpmcounter11.yaml │ │ ├── mhpmcounter11h.yaml │ │ ├── mhpmcounter12.yaml │ │ ├── mhpmcounter12h.yaml │ │ ├── mhpmcounter13.yaml │ │ ├── mhpmcounter13h.yaml │ │ ├── mhpmcounter14.yaml │ │ ├── mhpmcounter14h.yaml │ │ ├── mhpmcounter15.yaml │ │ ├── mhpmcounter15h.yaml │ │ ├── mhpmcounter16.yaml │ │ ├── mhpmcounter16h.yaml │ │ ├── mhpmcounter17.yaml │ │ ├── mhpmcounter17h.yaml │ │ ├── mhpmcounter18.yaml │ │ ├── mhpmcounter18h.yaml │ │ ├── mhpmcounter19.yaml │ │ ├── mhpmcounter19h.yaml │ │ ├── mhpmcounter20.yaml │ │ ├── mhpmcounter20h.yaml │ │ ├── mhpmcounter21.yaml │ │ ├── mhpmcounter21h.yaml │ │ ├── mhpmcounter22.yaml │ │ ├── mhpmcounter22h.yaml │ │ ├── mhpmcounter23.yaml │ │ ├── mhpmcounter23h.yaml │ │ ├── mhpmcounter24.yaml │ │ ├── mhpmcounter24h.yaml │ │ ├── mhpmcounter25.yaml │ │ ├── mhpmcounter25h.yaml │ │ ├── mhpmcounter26.yaml │ │ ├── mhpmcounter26h.yaml │ │ ├── mhpmcounter27.yaml │ │ ├── mhpmcounter27h.yaml │ │ ├── mhpmcounter28.yaml │ │ ├── mhpmcounter28h.yaml │ │ ├── mhpmcounter29.yaml │ │ ├── mhpmcounter29h.yaml │ │ ├── mhpmcounter3.yaml │ │ ├── mhpmcounter30.yaml │ │ ├── mhpmcounter30h.yaml │ │ ├── mhpmcounter31.yaml │ │ ├── mhpmcounter31h.yaml │ │ ├── mhpmcounter3h.yaml │ │ ├── mhpmcounter4.yaml │ │ ├── mhpmcounter4h.yaml │ │ ├── mhpmcounter5.yaml │ │ ├── mhpmcounter5h.yaml │ │ ├── mhpmcounter6.yaml │ │ ├── mhpmcounter6h.yaml │ │ ├── mhpmcounter7.yaml │ │ ├── mhpmcounter7h.yaml │ │ ├── mhpmcounter8.yaml │ │ ├── mhpmcounter8h.yaml │ │ ├── mhpmcounter9.yaml │ │ ├── mhpmcounter9h.yaml │ │ ├── mhpmcounterN.layout │ │ ├── mhpmcounterNh.layout │ │ ├── mhpmevent10.yaml │ │ ├── mhpmevent10h.yaml │ │ ├── mhpmevent11.yaml │ │ ├── mhpmevent11h.yaml │ │ ├── mhpmevent12.yaml │ │ ├── mhpmevent12h.yaml │ │ ├── mhpmevent13.yaml │ │ ├── mhpmevent13h.yaml │ │ ├── mhpmevent14.yaml │ │ ├── mhpmevent14h.yaml │ │ ├── mhpmevent15.yaml │ │ ├── mhpmevent15h.yaml │ │ ├── mhpmevent16.yaml │ │ ├── mhpmevent16h.yaml │ │ ├── mhpmevent17.yaml │ │ ├── mhpmevent17h.yaml │ │ ├── mhpmevent18.yaml │ │ ├── mhpmevent18h.yaml │ │ ├── mhpmevent19.yaml │ │ ├── mhpmevent19h.yaml │ │ ├── mhpmevent20.yaml │ │ ├── mhpmevent20h.yaml │ │ ├── mhpmevent21.yaml │ │ ├── mhpmevent21h.yaml │ │ ├── mhpmevent22.yaml │ │ ├── mhpmevent22h.yaml │ │ ├── mhpmevent23.yaml │ │ ├── mhpmevent23h.yaml │ │ ├── mhpmevent24.yaml │ │ ├── mhpmevent24h.yaml │ │ ├── mhpmevent25.yaml │ │ ├── mhpmevent25h.yaml │ │ ├── mhpmevent26.yaml │ │ ├── mhpmevent26h.yaml │ │ ├── mhpmevent27.yaml │ │ ├── mhpmevent27h.yaml │ │ ├── mhpmevent28.yaml │ │ ├── mhpmevent28h.yaml │ │ ├── mhpmevent29.yaml │ │ ├── mhpmevent29h.yaml │ │ ├── mhpmevent3.yaml │ │ ├── mhpmevent30.yaml │ │ ├── mhpmevent30h.yaml │ │ ├── mhpmevent31.yaml │ │ ├── mhpmevent31h.yaml │ │ ├── mhpmevent3h.yaml │ │ ├── mhpmevent4.yaml │ │ ├── mhpmevent4h.yaml │ │ ├── mhpmevent5.yaml │ │ ├── mhpmevent5h.yaml │ │ ├── mhpmevent6.yaml │ │ ├── mhpmevent6h.yaml │ │ ├── mhpmevent7.yaml │ │ ├── mhpmevent7h.yaml │ │ ├── mhpmevent8.yaml │ │ ├── mhpmevent8h.yaml │ │ ├── mhpmevent9.yaml │ │ ├── mhpmevent9h.yaml │ │ ├── mhpmeventN.layout │ │ └── mhpmeventNh.layout │ ├── cycle.yaml │ ├── cycleh.yaml │ ├── hedeleg.yaml │ ├── hedelegh.yaml │ ├── hstatus.yaml │ ├── instret.yaml │ ├── instreth.yaml │ ├── marchid.yaml │ ├── mcause.yaml │ ├── mconfigptr.yaml │ ├── mcycle.yaml │ ├── mcycleh.yaml │ ├── medeleg.yaml │ ├── medelegh.yaml │ ├── menvcfg.yaml │ ├── menvcfgh.yaml │ ├── mepc.yaml │ ├── mhartid.yaml │ ├── mideleg.yaml │ ├── mie.yaml │ ├── mimpid.yaml │ ├── minstret.yaml │ ├── minstreth.yaml │ ├── mip.yaml │ ├── misa.yaml │ ├── mscratch.yaml │ ├── mseccfg.yaml │ ├── mseccfgh.yaml │ ├── mstatus.yaml │ ├── mstatush.yaml │ ├── mtval.yaml │ ├── mtvec.yaml │ ├── mvendorid.yaml │ ├── satp.yaml │ ├── scause.yaml │ ├── schema.adoc │ ├── senvcfg.yaml │ ├── sepc.yaml │ ├── sip.yaml │ ├── sscratch.yaml │ ├── sstatus.yaml │ ├── stval.yaml │ ├── stvec.yaml │ ├── time.yaml │ ├── timeh.yaml │ ├── vscause.yaml │ ├── vsepc.yaml │ ├── vsstatus.yaml │ ├── vstval.yaml │ └── vstvec.yaml ├── ext │ ├── A.yaml │ ├── B.yaml │ ├── C.yaml │ ├── D.yaml │ ├── F.yaml │ ├── H.yaml │ ├── I.yaml │ ├── M.yaml │ ├── Q.yaml │ ├── S.yaml │ ├── Sdext.yaml │ ├── Sdtrig.yaml │ ├── Sha.yaml │ ├── Shcounterenw.yaml │ ├── Shgatpa.yaml │ ├── Shtvala.yaml │ ├── Shvsatpa.yaml │ ├── Shvstvala.yaml │ ├── Shvstvecd.yaml │ ├── Sm.yaml │ ├── Smaia.yaml │ ├── Smcdeleg.yaml │ ├── Smcntrpmf.yaml │ ├── Smcsrind.yaml │ ├── Smdbltrp.yaml │ ├── Smhpm.yaml │ ├── Smmpm.yaml │ ├── Smnpm.yaml │ ├── Smpmp.yaml │ ├── Smrnmi.yaml │ ├── Ssaia.yaml │ ├── Ssccfg.yaml │ ├── Ssccptr.yaml │ ├── Sscofpmf.yaml │ ├── Sscounterenw.yaml │ ├── Sscsrind.yaml │ ├── Ssnpm.yaml │ ├── Sspm.yaml │ ├── Ssstateen.yaml │ ├── Ssstrict.yaml │ ├── Sstc.yaml │ ├── Sstvala.yaml │ ├── Sstvecd.yaml │ ├── Ssu64xl.yaml │ ├── Supm.yaml │ ├── Sv32.yaml │ ├── Sv39.yaml │ ├── Sv48.yaml │ ├── Sv57.yaml │ ├── Svade.yaml │ ├── Svadu.yaml │ ├── Svbare.yaml │ ├── Svinval.yaml │ ├── Svnapot.yaml │ ├── Svpbmt.yaml │ ├── Svvptc.yaml │ ├── U.yaml │ ├── V.yaml │ ├── Xmock.yaml │ ├── Za128rs.yaml │ ├── Za64rs.yaml │ ├── Zaamo.yaml │ ├── Zabha.yaml │ ├── Zacas.yaml │ ├── Zalasr.yaml │ ├── Zalrsc.yaml │ ├── Zama16b.yaml │ ├── Zawrs.yaml │ ├── Zba.yaml │ ├── Zbb.yaml │ ├── Zbc.yaml │ ├── Zbkb.yaml │ ├── Zbkc.yaml │ ├── Zbkx.yaml │ ├── Zbs.yaml │ ├── Zca.yaml │ ├── Zcb.yaml │ ├── Zcd.yaml │ ├── Zce.yaml │ ├── Zcf.yaml │ ├── Zcmop.yaml │ ├── Zcmp.yaml │ ├── Zcmt.yaml │ ├── Zfa.yaml │ ├── Zfbfmin.yaml │ ├── Zfh.yaml │ ├── Zfhmin.yaml │ ├── Zhinx.yaml │ ├── Zic64b.yaml │ ├── Zicbom.yaml │ ├── Zicbop.yaml │ ├── Zicboz.yaml │ ├── Ziccamoa.yaml │ ├── Ziccamoc.yaml │ ├── Ziccif.yaml │ ├── Zicclsm.yaml │ ├── Ziccrse.yaml │ ├── Zicfilp.yaml │ ├── Zicfiss.yaml │ ├── Zicntr.yaml │ ├── Zicond.yaml │ ├── Zicsr.yaml │ ├── Zifencei.yaml │ ├── Zihintntl.yaml │ ├── Zihintpause.yaml │ ├── Zihpm.yaml │ ├── Zilsd.yaml │ ├── Zimop.yaml │ ├── Zk.yaml │ ├── Zkn.yaml │ ├── Zknd.yaml │ ├── Zkne.yaml │ ├── Zknh.yaml │ ├── Zkr.yaml │ ├── Zks.yaml │ ├── Zksed.yaml │ ├── Zksh.yaml │ ├── Zkt.yaml │ ├── Zmmul.yaml │ ├── Zvbb.yaml │ ├── Zvbc.yaml │ ├── Zve32f.yaml │ ├── Zvfbfmin.yaml │ ├── Zvfbfwma.yaml │ ├── Zvfh.yaml │ ├── Zvfhmin.yaml │ ├── Zvkb.yaml │ ├── Zvkg.yaml │ ├── Zvkn.yaml │ ├── Zvknc.yaml │ ├── Zvkned.yaml │ ├── Zvkng.yaml │ ├── Zvknha.yaml │ ├── Zvknhb.yaml │ ├── Zvks.yaml │ ├── Zvksc.yaml │ ├── Zvksed.yaml │ ├── Zvksg.yaml │ ├── Zvksh.yaml │ └── Zvkt.yaml ├── inst │ ├── B │ │ ├── andn.yaml │ │ ├── clmul.yaml │ │ ├── clmulh.yaml │ │ ├── orn.yaml │ │ ├── rev8.yaml │ │ ├── rol.yaml │ │ ├── rolw.yaml │ │ ├── ror.yaml │ │ ├── rori.yaml │ │ ├── roriw.yaml │ │ ├── rorw.yaml │ │ └── xnor.yaml │ ├── C │ │ ├── c.add.yaml │ │ ├── c.addi.yaml │ │ ├── c.addi16sp.yaml │ │ ├── c.addi4spn.yaml │ │ ├── c.addiw.yaml │ │ ├── c.addw.yaml │ │ ├── c.and.yaml │ │ ├── c.andi.yaml │ │ ├── c.beqz.yaml │ │ ├── c.bnez.yaml │ │ ├── c.ebreak.yaml │ │ ├── c.j.yaml │ │ ├── c.jal.yaml │ │ ├── c.jalr.yaml │ │ ├── c.jr.yaml │ │ ├── c.ld.yaml │ │ ├── c.ldsp.yaml │ │ ├── c.li.yaml │ │ ├── c.lui.yaml │ │ ├── c.lw.yaml │ │ ├── c.lwsp.yaml │ │ ├── c.mv.yaml │ │ ├── c.nop.yaml │ │ ├── c.or.yaml │ │ ├── c.sd.yaml │ │ ├── c.sdsp.yaml │ │ ├── c.slli.yaml │ │ ├── c.srai.yaml │ │ ├── c.srli.yaml │ │ ├── c.sub.yaml │ │ ├── c.subw.yaml │ │ ├── c.sw.yaml │ │ ├── c.swsp.yaml │ │ └── c.xor.yaml │ ├── D │ │ ├── fadd.d.yaml │ │ ├── fclass.d.yaml │ │ ├── fcvt.d.l.yaml │ │ ├── fcvt.d.lu.yaml │ │ ├── fcvt.d.s.yaml │ │ ├── fcvt.d.w.yaml │ │ ├── fcvt.d.wu.yaml │ │ ├── fcvt.l.d.yaml │ │ ├── fcvt.lu.d.yaml │ │ ├── fcvt.s.d.yaml │ │ ├── fcvt.w.d.yaml │ │ ├── fcvt.wu.d.yaml │ │ ├── fcvtmod.w.d.yaml │ │ ├── fdiv.d.yaml │ │ ├── feq.d.yaml │ │ ├── fld.yaml │ │ ├── fle.d.yaml │ │ ├── fleq.d.yaml │ │ ├── fli.d.yaml │ │ ├── flt.d.yaml │ │ ├── fltq.d.yaml │ │ ├── fmadd.d.yaml │ │ ├── fmax.d.yaml │ │ ├── fmaxm.d.yaml │ │ ├── fmin.d.yaml │ │ ├── fminm.d.yaml │ │ ├── fmsub.d.yaml │ │ ├── fmul.d.yaml │ │ ├── fmv.d.x.yaml │ │ ├── fmv.x.d.yaml │ │ ├── fmvh.x.d.yaml │ │ ├── fmvp.d.x.yaml │ │ ├── fnmadd.d.yaml │ │ ├── fnmsub.d.yaml │ │ ├── fround.d.yaml │ │ ├── froundnx.d.yaml │ │ ├── fsd.yaml │ │ ├── fsgnj.d.yaml │ │ ├── fsgnjn.d.yaml │ │ ├── fsgnjx.d.yaml │ │ ├── fsqrt.d.yaml │ │ └── fsub.d.yaml │ ├── F │ │ ├── fadd.s.yaml │ │ ├── fclass.s.yaml │ │ ├── fcvt.l.s.yaml │ │ ├── fcvt.lu.s.yaml │ │ ├── fcvt.s.l.yaml │ │ ├── fcvt.s.lu.yaml │ │ ├── fcvt.s.w.yaml │ │ ├── fcvt.s.wu.yaml │ │ ├── fcvt.w.s.yaml │ │ ├── fcvt.wu.s.yaml │ │ ├── fdiv.s.yaml │ │ ├── feq.s.yaml │ │ ├── fle.s.yaml │ │ ├── fleq.s.yaml │ │ ├── fli.s.yaml │ │ ├── flt.s.yaml │ │ ├── fltq.s.yaml │ │ ├── flw.yaml │ │ ├── fmadd.s.yaml │ │ ├── fmax.s.yaml │ │ ├── fmaxm.s.yaml │ │ ├── fmin.s.yaml │ │ ├── fminm.s.yaml │ │ ├── fmsub.s.yaml │ │ ├── fmul.s.yaml │ │ ├── fmv.w.x.yaml │ │ ├── fmv.x.w.yaml │ │ ├── fnmadd.s.yaml │ │ ├── fnmsub.s.yaml │ │ ├── fround.s.yaml │ │ ├── froundnx.s.yaml │ │ ├── fsgnj.s.yaml │ │ ├── fsgnjn.s.yaml │ │ ├── fsgnjx.s.yaml │ │ ├── fsqrt.s.yaml │ │ ├── fsub.s.yaml │ │ └── fsw.yaml │ ├── H │ │ ├── hfence.gvma.yaml │ │ ├── hfence.vvma.yaml │ │ ├── hlv.b.yaml │ │ ├── hlv.bu.yaml │ │ ├── hlv.d.yaml │ │ ├── hlv.h.yaml │ │ ├── hlv.hu.yaml │ │ ├── hlv.w.yaml │ │ ├── hlv.wu.yaml │ │ ├── hlvx.hu.yaml │ │ ├── hlvx.wu.yaml │ │ ├── hsv.b.yaml │ │ ├── hsv.d.yaml │ │ ├── hsv.h.yaml │ │ └── hsv.w.yaml │ ├── I │ │ ├── add.yaml │ │ ├── addi.yaml │ │ ├── addiw.yaml │ │ ├── addw.yaml │ │ ├── and.yaml │ │ ├── andi.yaml │ │ ├── auipc.yaml │ │ ├── beq.yaml │ │ ├── bge.yaml │ │ ├── bgeu.yaml │ │ ├── blt.yaml │ │ ├── bltu.yaml │ │ ├── bne.yaml │ │ ├── ebreak.yaml │ │ ├── ecall.yaml │ │ ├── fence.tso.yaml │ │ ├── fence.yaml │ │ ├── jal.yaml │ │ ├── jalr.yaml │ │ ├── lb.yaml │ │ ├── lbu.yaml │ │ ├── ld.yaml │ │ ├── lh.yaml │ │ ├── lhu.yaml │ │ ├── lui.yaml │ │ ├── lw.yaml │ │ ├── lwu.yaml │ │ ├── mret.yaml │ │ ├── or.yaml │ │ ├── ori.yaml │ │ ├── sb.yaml │ │ ├── sd.yaml │ │ ├── sh.yaml │ │ ├── sll.yaml │ │ ├── slli.yaml │ │ ├── slliw.yaml │ │ ├── sllw.yaml │ │ ├── slt.yaml │ │ ├── slti.yaml │ │ ├── sltiu.yaml │ │ ├── sltu.yaml │ │ ├── sra.yaml │ │ ├── srai.yaml │ │ ├── sraiw.yaml │ │ ├── sraw.yaml │ │ ├── srl.yaml │ │ ├── srli.yaml │ │ ├── srliw.yaml │ │ ├── srlw.yaml │ │ ├── sub.yaml │ │ ├── subw.yaml │ │ ├── sw.yaml │ │ ├── wfi.yaml │ │ ├── xor.yaml │ │ └── xori.yaml │ ├── M │ │ ├── div.yaml │ │ ├── divu.yaml │ │ ├── divuw.yaml │ │ ├── divw.yaml │ │ ├── mul.yaml │ │ ├── mulh.yaml │ │ ├── mulhsu.yaml │ │ ├── mulhu.yaml │ │ ├── mulw.yaml │ │ ├── rem.yaml │ │ ├── remu.yaml │ │ ├── remuw.yaml │ │ └── remw.yaml │ ├── Q │ │ ├── fadd.q.yaml │ │ ├── fclass.q.yaml │ │ ├── fcvt.d.q.yaml │ │ ├── fcvt.h.q.yaml │ │ ├── fcvt.l.q.yaml │ │ ├── fcvt.lu.q.yaml │ │ ├── fcvt.q.d.yaml │ │ ├── fcvt.q.h.yaml │ │ ├── fcvt.q.l.yaml │ │ ├── fcvt.q.lu.yaml │ │ ├── fcvt.q.s.yaml │ │ ├── fcvt.q.w.yaml │ │ ├── fcvt.q.wu.yaml │ │ ├── fcvt.s.q.yaml │ │ ├── fcvt.w.q.yaml │ │ ├── fcvt.wu.q.yaml │ │ ├── fdiv.q.yaml │ │ ├── feq.q.yaml │ │ ├── fle.q.yaml │ │ ├── fleq.q.yaml │ │ ├── fli.q.yaml │ │ ├── flq.yaml │ │ ├── flt.q.yaml │ │ ├── fltq.q.yaml │ │ ├── fmadd.q.yaml │ │ ├── fmax.q.yaml │ │ ├── fmaxm.q.yaml │ │ ├── fmin.q.yaml │ │ ├── fminm.q.yaml │ │ ├── fmsub.q.yaml │ │ ├── fmul.q.yaml │ │ ├── fmvh.x.q.yaml │ │ ├── fmvp.q.x.yaml │ │ ├── fnmadd.q.yaml │ │ ├── fnmsub.q.yaml │ │ ├── fround.q.yaml │ │ ├── froundnx.q.yaml │ │ ├── fsgnj.q.yaml │ │ ├── fsgnjn.q.yaml │ │ ├── fsgnjx.q.yaml │ │ ├── fsq.yaml │ │ ├── fsqrt.q.yaml │ │ └── fsub.q.yaml │ ├── README.md │ ├── S │ │ ├── sfence.vma.yaml │ │ └── sret.yaml │ ├── Sdext │ │ └── dret.yaml │ ├── Smdbltrp │ │ └── sctrclr.yaml │ ├── Smrnmi │ │ └── mnret.yaml │ ├── Svinval │ │ ├── hinval.gvma.yaml │ │ ├── hinval.vvma.yaml │ │ ├── sfence.inval.ir.yaml │ │ ├── sfence.w.inval.yaml │ │ └── sinval.vma.yaml │ ├── V │ │ ├── vaadd.vv.yaml │ │ ├── vaadd.vx.yaml │ │ ├── vaaddu.vv.yaml │ │ ├── vaaddu.vx.yaml │ │ ├── vadc.vim.yaml │ │ ├── vadc.vvm.yaml │ │ ├── vadc.vxm.yaml │ │ ├── vadd.vi.yaml │ │ ├── vadd.vv.yaml │ │ ├── vadd.vx.yaml │ │ ├── vand.vi.yaml │ │ ├── vand.vv.yaml │ │ ├── vand.vx.yaml │ │ ├── vasub.vv.yaml │ │ ├── vasub.vx.yaml │ │ ├── vasubu.vv.yaml │ │ ├── vasubu.vx.yaml │ │ ├── vcompress.vm.yaml │ │ ├── vcpop.m.yaml │ │ ├── vdiv.vv.yaml │ │ ├── vdiv.vx.yaml │ │ ├── vdivu.vv.yaml │ │ ├── vdivu.vx.yaml │ │ ├── vfadd.vf.yaml │ │ ├── vfadd.vv.yaml │ │ ├── vfclass.v.yaml │ │ ├── vfcvt.f.x.v.yaml │ │ ├── vfcvt.f.xu.v.yaml │ │ ├── vfcvt.rtz.x.f.v.yaml │ │ ├── vfcvt.rtz.xu.f.v.yaml │ │ ├── vfcvt.x.f.v.yaml │ │ ├── vfcvt.xu.f.v.yaml │ │ ├── vfdiv.vf.yaml │ │ ├── vfdiv.vv.yaml │ │ ├── vfirst.m.yaml │ │ ├── vfmacc.vf.yaml │ │ ├── vfmacc.vv.yaml │ │ ├── vfmadd.vf.yaml │ │ ├── vfmadd.vv.yaml │ │ ├── vfmax.vf.yaml │ │ ├── vfmax.vv.yaml │ │ ├── vfmerge.vfm.yaml │ │ ├── vfmin.vf.yaml │ │ ├── vfmin.vv.yaml │ │ ├── vfmsac.vf.yaml │ │ ├── vfmsac.vv.yaml │ │ ├── vfmsub.vf.yaml │ │ ├── vfmsub.vv.yaml │ │ ├── vfmul.vf.yaml │ │ ├── vfmul.vv.yaml │ │ ├── vfmv.f.s.yaml │ │ ├── vfmv.s.f.yaml │ │ ├── vfmv.v.f.yaml │ │ ├── vfncvt.f.f.w.yaml │ │ ├── vfncvt.f.x.w.yaml │ │ ├── vfncvt.f.xu.w.yaml │ │ ├── vfncvt.rod.f.f.w.yaml │ │ ├── vfncvt.rtz.x.f.w.yaml │ │ ├── vfncvt.rtz.xu.f.w.yaml │ │ ├── vfncvt.x.f.w.yaml │ │ ├── vfncvt.xu.f.w.yaml │ │ ├── vfnmacc.vf.yaml │ │ ├── vfnmacc.vv.yaml │ │ ├── vfnmadd.vf.yaml │ │ ├── vfnmadd.vv.yaml │ │ ├── vfnmsac.vf.yaml │ │ ├── vfnmsac.vv.yaml │ │ ├── vfnmsub.vf.yaml │ │ ├── vfnmsub.vv.yaml │ │ ├── vfrdiv.vf.yaml │ │ ├── vfrec7.v.yaml │ │ ├── vfredmax.vs.yaml │ │ ├── vfredmin.vs.yaml │ │ ├── vfredosum.vs.yaml │ │ ├── vfredusum.vs.yaml │ │ ├── vfrsqrt7.v.yaml │ │ ├── vfrsub.vf.yaml │ │ ├── vfsgnj.vf.yaml │ │ ├── vfsgnj.vv.yaml │ │ ├── vfsgnjn.vf.yaml │ │ ├── vfsgnjn.vv.yaml │ │ ├── vfsgnjx.vf.yaml │ │ ├── vfsgnjx.vv.yaml │ │ ├── vfslide1down.vf.yaml │ │ ├── vfslide1up.vf.yaml │ │ ├── vfsqrt.v.yaml │ │ ├── vfsub.vf.yaml │ │ ├── vfsub.vv.yaml │ │ ├── vfwadd.vf.yaml │ │ ├── vfwadd.vv.yaml │ │ ├── vfwadd.wf.yaml │ │ ├── vfwadd.wv.yaml │ │ ├── vfwcvt.f.f.v.yaml │ │ ├── vfwcvt.f.x.v.yaml │ │ ├── vfwcvt.f.xu.v.yaml │ │ ├── vfwcvt.rtz.x.f.v.yaml │ │ ├── vfwcvt.rtz.xu.f.v.yaml │ │ ├── vfwcvt.x.f.v.yaml │ │ ├── vfwcvt.xu.f.v.yaml │ │ ├── vfwmacc.vf.yaml │ │ ├── vfwmacc.vv.yaml │ │ ├── vfwmsac.vf.yaml │ │ ├── vfwmsac.vv.yaml │ │ ├── vfwmul.vf.yaml │ │ ├── vfwmul.vv.yaml │ │ ├── vfwnmacc.vf.yaml │ │ ├── vfwnmacc.vv.yaml │ │ ├── vfwnmsac.vf.yaml │ │ ├── vfwnmsac.vv.yaml │ │ ├── vfwredosum.vs.yaml │ │ ├── vfwredusum.vs.yaml │ │ ├── vfwsub.vf.yaml │ │ ├── vfwsub.vv.yaml │ │ ├── vfwsub.wf.yaml │ │ ├── vfwsub.wv.yaml │ │ ├── vid.v.yaml │ │ ├── viota.m.yaml │ │ ├── vl1re16.v.yaml │ │ ├── vl1re32.v.yaml │ │ ├── vl1re64.v.yaml │ │ ├── vl1re8.v.yaml │ │ ├── vl2re16.v.yaml │ │ ├── vl2re32.v.yaml │ │ ├── vl2re64.v.yaml │ │ ├── vl2re8.v.yaml │ │ ├── vl4re16.v.yaml │ │ ├── vl4re32.v.yaml │ │ ├── vl4re64.v.yaml │ │ ├── vl4re8.v.yaml │ │ ├── vl8re16.v.yaml │ │ ├── vl8re32.v.yaml │ │ ├── vl8re64.v.yaml │ │ ├── vl8re8.v.yaml │ │ ├── vle16.v.yaml │ │ ├── vle16ff.v.yaml │ │ ├── vle32.v.yaml │ │ ├── vle32ff.v.yaml │ │ ├── vle64.v.yaml │ │ ├── vle64ff.v.yaml │ │ ├── vle8.v.yaml │ │ ├── vle8ff.v.yaml │ │ ├── vlm.v.yaml │ │ ├── vloxei16.v.yaml │ │ ├── vloxei32.v.yaml │ │ ├── vloxei64.v.yaml │ │ ├── vloxei8.v.yaml │ │ ├── vloxseg2ei16.v.yaml │ │ ├── vloxseg2ei32.v.yaml │ │ ├── vloxseg2ei64.v.yaml │ │ ├── vloxseg2ei8.v.yaml │ │ ├── vloxseg3ei16.v.yaml │ │ ├── vloxseg3ei32.v.yaml │ │ ├── vloxseg3ei64.v.yaml │ │ ├── vloxseg3ei8.v.yaml │ │ ├── vloxseg4ei16.v.yaml │ │ ├── vloxseg4ei32.v.yaml │ │ ├── vloxseg4ei64.v.yaml │ │ ├── vloxseg4ei8.v.yaml │ │ ├── vloxseg5ei16.v.yaml │ │ ├── vloxseg5ei32.v.yaml │ │ ├── vloxseg5ei64.v.yaml │ │ ├── vloxseg5ei8.v.yaml │ │ ├── vloxseg6ei16.v.yaml │ │ ├── vloxseg6ei32.v.yaml │ │ ├── vloxseg6ei64.v.yaml │ │ ├── vloxseg6ei8.v.yaml │ │ ├── vloxseg7ei16.v.yaml │ │ ├── vloxseg7ei32.v.yaml │ │ ├── vloxseg7ei64.v.yaml │ │ ├── vloxseg7ei8.v.yaml │ │ ├── vloxseg8ei16.v.yaml │ │ ├── vloxseg8ei32.v.yaml │ │ ├── vloxseg8ei64.v.yaml │ │ ├── vloxseg8ei8.v.yaml │ │ ├── vlse16.v.yaml │ │ ├── vlse32.v.yaml │ │ ├── vlse64.v.yaml │ │ ├── vlse8.v.yaml │ │ ├── vlseg2e16.v.yaml │ │ ├── vlseg2e16ff.v.yaml │ │ ├── vlseg2e32.v.yaml │ │ ├── vlseg2e32ff.v.yaml │ │ ├── vlseg2e64.v.yaml │ │ ├── vlseg2e64ff.v.yaml │ │ ├── vlseg2e8.v.yaml │ │ ├── vlseg2e8ff.v.yaml │ │ ├── vlseg3e16.v.yaml │ │ ├── vlseg3e16ff.v.yaml │ │ ├── vlseg3e32.v.yaml │ │ ├── vlseg3e32ff.v.yaml │ │ ├── vlseg3e64.v.yaml │ │ ├── vlseg3e64ff.v.yaml │ │ ├── vlseg3e8.v.yaml │ │ ├── vlseg3e8ff.v.yaml │ │ ├── vlseg4e16.v.yaml │ │ ├── vlseg4e16ff.v.yaml │ │ ├── vlseg4e32.v.yaml │ │ ├── vlseg4e32ff.v.yaml │ │ ├── vlseg4e64.v.yaml │ │ ├── vlseg4e64ff.v.yaml │ │ ├── vlseg4e8.v.yaml │ │ ├── vlseg4e8ff.v.yaml │ │ ├── vlseg5e16.v.yaml │ │ ├── vlseg5e16ff.v.yaml │ │ ├── vlseg5e32.v.yaml │ │ ├── vlseg5e32ff.v.yaml │ │ ├── vlseg5e64.v.yaml │ │ ├── vlseg5e64ff.v.yaml │ │ ├── vlseg5e8.v.yaml │ │ ├── vlseg5e8ff.v.yaml │ │ ├── vlseg6e16.v.yaml │ │ ├── vlseg6e16ff.v.yaml │ │ ├── vlseg6e32.v.yaml │ │ ├── vlseg6e32ff.v.yaml │ │ ├── vlseg6e64.v.yaml │ │ ├── vlseg6e64ff.v.yaml │ │ ├── vlseg6e8.v.yaml │ │ ├── vlseg6e8ff.v.yaml │ │ ├── vlseg7e16.v.yaml │ │ ├── vlseg7e16ff.v.yaml │ │ ├── vlseg7e32.v.yaml │ │ ├── vlseg7e32ff.v.yaml │ │ ├── vlseg7e64.v.yaml │ │ ├── vlseg7e64ff.v.yaml │ │ ├── vlseg7e8.v.yaml │ │ ├── vlseg7e8ff.v.yaml │ │ ├── vlseg8e16.v.yaml │ │ ├── vlseg8e16ff.v.yaml │ │ ├── vlseg8e32.v.yaml │ │ ├── vlseg8e32ff.v.yaml │ │ ├── vlseg8e64.v.yaml │ │ ├── vlseg8e64ff.v.yaml │ │ ├── vlseg8e8.v.yaml │ │ ├── vlseg8e8ff.v.yaml │ │ ├── vlsseg2e16.v.yaml │ │ ├── vlsseg2e32.v.yaml │ │ ├── vlsseg2e64.v.yaml │ │ ├── vlsseg2e8.v.yaml │ │ ├── vlsseg3e16.v.yaml │ │ ├── vlsseg3e32.v.yaml │ │ ├── vlsseg3e64.v.yaml │ │ ├── vlsseg3e8.v.yaml │ │ ├── vlsseg4e16.v.yaml │ │ ├── vlsseg4e32.v.yaml │ │ ├── vlsseg4e64.v.yaml │ │ ├── vlsseg4e8.v.yaml │ │ ├── vlsseg5e16.v.yaml │ │ ├── vlsseg5e32.v.yaml │ │ ├── vlsseg5e64.v.yaml │ │ ├── vlsseg5e8.v.yaml │ │ ├── vlsseg6e16.v.yaml │ │ ├── vlsseg6e32.v.yaml │ │ ├── vlsseg6e64.v.yaml │ │ ├── vlsseg6e8.v.yaml │ │ ├── vlsseg7e16.v.yaml │ │ ├── vlsseg7e32.v.yaml │ │ ├── vlsseg7e64.v.yaml │ │ ├── vlsseg7e8.v.yaml │ │ ├── vlsseg8e16.v.yaml │ │ ├── vlsseg8e32.v.yaml │ │ ├── vlsseg8e64.v.yaml │ │ ├── vlsseg8e8.v.yaml │ │ ├── vluxei16.v.yaml │ │ ├── vluxei32.v.yaml │ │ ├── vluxei64.v.yaml │ │ ├── vluxei8.v.yaml │ │ ├── vluxseg2ei16.v.yaml │ │ ├── vluxseg2ei32.v.yaml │ │ ├── vluxseg2ei64.v.yaml │ │ ├── vluxseg2ei8.v.yaml │ │ ├── vluxseg3ei16.v.yaml │ │ ├── vluxseg3ei32.v.yaml │ │ ├── vluxseg3ei64.v.yaml │ │ ├── vluxseg3ei8.v.yaml │ │ ├── vluxseg4ei16.v.yaml │ │ ├── vluxseg4ei32.v.yaml │ │ ├── vluxseg4ei64.v.yaml │ │ ├── vluxseg4ei8.v.yaml │ │ ├── vluxseg5ei16.v.yaml │ │ ├── vluxseg5ei32.v.yaml │ │ ├── vluxseg5ei64.v.yaml │ │ ├── vluxseg5ei8.v.yaml │ │ ├── vluxseg6ei16.v.yaml │ │ ├── vluxseg6ei32.v.yaml │ │ ├── vluxseg6ei64.v.yaml │ │ ├── vluxseg6ei8.v.yaml │ │ ├── vluxseg7ei16.v.yaml │ │ ├── vluxseg7ei32.v.yaml │ │ ├── vluxseg7ei64.v.yaml │ │ ├── vluxseg7ei8.v.yaml │ │ ├── vluxseg8ei16.v.yaml │ │ ├── vluxseg8ei32.v.yaml │ │ ├── vluxseg8ei64.v.yaml │ │ ├── vluxseg8ei8.v.yaml │ │ ├── vmacc.vv.yaml │ │ ├── vmacc.vx.yaml │ │ ├── vmadc.vi.yaml │ │ ├── vmadc.vim.yaml │ │ ├── vmadc.vv.yaml │ │ ├── vmadc.vvm.yaml │ │ ├── vmadc.vx.yaml │ │ ├── vmadc.vxm.yaml │ │ ├── vmadd.vv.yaml │ │ ├── vmadd.vx.yaml │ │ ├── vmand.mm.yaml │ │ ├── vmandn.mm.yaml │ │ ├── vmax.vv.yaml │ │ ├── vmax.vx.yaml │ │ ├── vmaxu.vv.yaml │ │ ├── vmaxu.vx.yaml │ │ ├── vmerge.vim.yaml │ │ ├── vmerge.vvm.yaml │ │ ├── vmerge.vxm.yaml │ │ ├── vmfeq.vf.yaml │ │ ├── vmfeq.vv.yaml │ │ ├── vmfge.vf.yaml │ │ ├── vmfgt.vf.yaml │ │ ├── vmfle.vf.yaml │ │ ├── vmfle.vv.yaml │ │ ├── vmflt.vf.yaml │ │ ├── vmflt.vv.yaml │ │ ├── vmfne.vf.yaml │ │ ├── vmfne.vv.yaml │ │ ├── vmin.vv.yaml │ │ ├── vmin.vx.yaml │ │ ├── vminu.vv.yaml │ │ ├── vminu.vx.yaml │ │ ├── vmnand.mm.yaml │ │ ├── vmnor.mm.yaml │ │ ├── vmor.mm.yaml │ │ ├── vmorn.mm.yaml │ │ ├── vmsbc.vv.yaml │ │ ├── vmsbc.vvm.yaml │ │ ├── vmsbc.vx.yaml │ │ ├── vmsbc.vxm.yaml │ │ ├── vmsbf.m.yaml │ │ ├── vmseq.vi.yaml │ │ ├── vmseq.vv.yaml │ │ ├── vmseq.vx.yaml │ │ ├── vmsgt.vi.yaml │ │ ├── vmsgt.vx.yaml │ │ ├── vmsgtu.vi.yaml │ │ ├── vmsgtu.vx.yaml │ │ ├── vmsif.m.yaml │ │ ├── vmsle.vi.yaml │ │ ├── vmsle.vv.yaml │ │ ├── vmsle.vx.yaml │ │ ├── vmsleu.vi.yaml │ │ ├── vmsleu.vv.yaml │ │ ├── vmsleu.vx.yaml │ │ ├── vmslt.vv.yaml │ │ ├── vmslt.vx.yaml │ │ ├── vmsltu.vv.yaml │ │ ├── vmsltu.vx.yaml │ │ ├── vmsne.vi.yaml │ │ ├── vmsne.vv.yaml │ │ ├── vmsne.vx.yaml │ │ ├── vmsof.m.yaml │ │ ├── vmul.vv.yaml │ │ ├── vmul.vx.yaml │ │ ├── vmulh.vv.yaml │ │ ├── vmulh.vx.yaml │ │ ├── vmulhsu.vv.yaml │ │ ├── vmulhsu.vx.yaml │ │ ├── vmulhu.vv.yaml │ │ ├── vmulhu.vx.yaml │ │ ├── vmv.s.x.yaml │ │ ├── vmv.v.i.yaml │ │ ├── vmv.v.v.yaml │ │ ├── vmv.v.x.yaml │ │ ├── vmv.x.s.yaml │ │ ├── vmv1r.v.yaml │ │ ├── vmv2r.v.yaml │ │ ├── vmv4r.v.yaml │ │ ├── vmv8r.v.yaml │ │ ├── vmxnor.mm.yaml │ │ ├── vmxor.mm.yaml │ │ ├── vnclip.wi.yaml │ │ ├── vnclip.wv.yaml │ │ ├── vnclip.wx.yaml │ │ ├── vnclipu.wi.yaml │ │ ├── vnclipu.wv.yaml │ │ ├── vnclipu.wx.yaml │ │ ├── vnmsac.vv.yaml │ │ ├── vnmsac.vx.yaml │ │ ├── vnmsub.vv.yaml │ │ ├── vnmsub.vx.yaml │ │ ├── vnsra.wi.yaml │ │ ├── vnsra.wv.yaml │ │ ├── vnsra.wx.yaml │ │ ├── vnsrl.wi.yaml │ │ ├── vnsrl.wv.yaml │ │ ├── vnsrl.wx.yaml │ │ ├── vor.vi.yaml │ │ ├── vor.vv.yaml │ │ ├── vor.vx.yaml │ │ ├── vredand.vs.yaml │ │ ├── vredmax.vs.yaml │ │ ├── vredmaxu.vs.yaml │ │ ├── vredmin.vs.yaml │ │ ├── vredminu.vs.yaml │ │ ├── vredor.vs.yaml │ │ ├── vredsum.vs.yaml │ │ ├── vredxor.vs.yaml │ │ ├── vrem.vv.yaml │ │ ├── vrem.vx.yaml │ │ ├── vremu.vv.yaml │ │ ├── vremu.vx.yaml │ │ ├── vrgather.vi.yaml │ │ ├── vrgather.vv.yaml │ │ ├── vrgather.vx.yaml │ │ ├── vrgatherei16.vv.yaml │ │ ├── vrsub.vi.yaml │ │ ├── vrsub.vx.yaml │ │ ├── vs1r.v.yaml │ │ ├── vs2r.v.yaml │ │ ├── vs4r.v.yaml │ │ ├── vs8r.v.yaml │ │ ├── vsadd.vi.yaml │ │ ├── vsadd.vv.yaml │ │ ├── vsadd.vx.yaml │ │ ├── vsaddu.vi.yaml │ │ ├── vsaddu.vv.yaml │ │ ├── vsaddu.vx.yaml │ │ ├── vsbc.vvm.yaml │ │ ├── vsbc.vxm.yaml │ │ ├── vse16.v.yaml │ │ ├── vse32.v.yaml │ │ ├── vse64.v.yaml │ │ ├── vse8.v.yaml │ │ ├── vsetivli.yaml │ │ ├── vsetvl.yaml │ │ ├── vsetvli.yaml │ │ ├── vsext.vf2.yaml │ │ ├── vsext.vf4.yaml │ │ ├── vsext.vf8.yaml │ │ ├── vslide1down.vx.yaml │ │ ├── vslide1up.vx.yaml │ │ ├── vslidedown.vi.yaml │ │ ├── vslidedown.vx.yaml │ │ ├── vslideup.vi.yaml │ │ ├── vslideup.vx.yaml │ │ ├── vsll.vi.yaml │ │ ├── vsll.vv.yaml │ │ ├── vsll.vx.yaml │ │ ├── vsm.v.yaml │ │ ├── vsmul.vv.yaml │ │ ├── vsmul.vx.yaml │ │ ├── vsoxei16.v.yaml │ │ ├── vsoxei32.v.yaml │ │ ├── vsoxei64.v.yaml │ │ ├── vsoxei8.v.yaml │ │ ├── vsoxseg2ei16.v.yaml │ │ ├── vsoxseg2ei32.v.yaml │ │ ├── vsoxseg2ei64.v.yaml │ │ ├── vsoxseg2ei8.v.yaml │ │ ├── vsoxseg3ei16.v.yaml │ │ ├── vsoxseg3ei32.v.yaml │ │ ├── vsoxseg3ei64.v.yaml │ │ ├── vsoxseg3ei8.v.yaml │ │ ├── vsoxseg4ei16.v.yaml │ │ ├── vsoxseg4ei32.v.yaml │ │ ├── vsoxseg4ei64.v.yaml │ │ ├── vsoxseg4ei8.v.yaml │ │ ├── vsoxseg5ei16.v.yaml │ │ ├── vsoxseg5ei32.v.yaml │ │ ├── vsoxseg5ei64.v.yaml │ │ ├── vsoxseg5ei8.v.yaml │ │ ├── vsoxseg6ei16.v.yaml │ │ ├── vsoxseg6ei32.v.yaml │ │ ├── vsoxseg6ei64.v.yaml │ │ ├── vsoxseg6ei8.v.yaml │ │ ├── vsoxseg7ei16.v.yaml │ │ ├── vsoxseg7ei32.v.yaml │ │ ├── vsoxseg7ei64.v.yaml │ │ ├── vsoxseg7ei8.v.yaml │ │ ├── vsoxseg8ei16.v.yaml │ │ ├── vsoxseg8ei32.v.yaml │ │ ├── vsoxseg8ei64.v.yaml │ │ ├── vsoxseg8ei8.v.yaml │ │ ├── vsra.vi.yaml │ │ ├── vsra.vv.yaml │ │ ├── vsra.vx.yaml │ │ ├── vsrl.vi.yaml │ │ ├── vsrl.vv.yaml │ │ ├── vsrl.vx.yaml │ │ ├── vsse16.v.yaml │ │ ├── vsse32.v.yaml │ │ ├── vsse64.v.yaml │ │ ├── vsse8.v.yaml │ │ ├── vsseg2e16.v.yaml │ │ ├── vsseg2e32.v.yaml │ │ ├── vsseg2e64.v.yaml │ │ ├── vsseg2e8.v.yaml │ │ ├── vsseg3e16.v.yaml │ │ ├── vsseg3e32.v.yaml │ │ ├── vsseg3e64.v.yaml │ │ ├── vsseg3e8.v.yaml │ │ ├── vsseg4e16.v.yaml │ │ ├── vsseg4e32.v.yaml │ │ ├── vsseg4e64.v.yaml │ │ ├── vsseg4e8.v.yaml │ │ ├── vsseg5e16.v.yaml │ │ ├── vsseg5e32.v.yaml │ │ ├── vsseg5e64.v.yaml │ │ ├── vsseg5e8.v.yaml │ │ ├── vsseg6e16.v.yaml │ │ ├── vsseg6e32.v.yaml │ │ ├── vsseg6e64.v.yaml │ │ ├── vsseg6e8.v.yaml │ │ ├── vsseg7e16.v.yaml │ │ ├── vsseg7e32.v.yaml │ │ ├── vsseg7e64.v.yaml │ │ ├── vsseg7e8.v.yaml │ │ ├── vsseg8e16.v.yaml │ │ ├── vsseg8e32.v.yaml │ │ ├── vsseg8e64.v.yaml │ │ ├── vsseg8e8.v.yaml │ │ ├── vssra.vi.yaml │ │ ├── vssra.vv.yaml │ │ ├── vssra.vx.yaml │ │ ├── vssrl.vi.yaml │ │ ├── vssrl.vv.yaml │ │ ├── vssrl.vx.yaml │ │ ├── vssseg2e16.v.yaml │ │ ├── vssseg2e32.v.yaml │ │ ├── vssseg2e64.v.yaml │ │ ├── vssseg2e8.v.yaml │ │ ├── vssseg3e16.v.yaml │ │ ├── vssseg3e32.v.yaml │ │ ├── vssseg3e64.v.yaml │ │ ├── vssseg3e8.v.yaml │ │ ├── vssseg4e16.v.yaml │ │ ├── vssseg4e32.v.yaml │ │ ├── vssseg4e64.v.yaml │ │ ├── vssseg4e8.v.yaml │ │ ├── vssseg5e16.v.yaml │ │ ├── vssseg5e32.v.yaml │ │ ├── vssseg5e64.v.yaml │ │ ├── vssseg5e8.v.yaml │ │ ├── vssseg6e16.v.yaml │ │ ├── vssseg6e32.v.yaml │ │ ├── vssseg6e64.v.yaml │ │ ├── vssseg6e8.v.yaml │ │ ├── vssseg7e16.v.yaml │ │ ├── vssseg7e32.v.yaml │ │ ├── vssseg7e64.v.yaml │ │ ├── vssseg7e8.v.yaml │ │ ├── vssseg8e16.v.yaml │ │ ├── vssseg8e32.v.yaml │ │ ├── vssseg8e64.v.yaml │ │ ├── vssseg8e8.v.yaml │ │ ├── vssub.vv.yaml │ │ ├── vssub.vx.yaml │ │ ├── vssubu.vv.yaml │ │ ├── vssubu.vx.yaml │ │ ├── vsub.vv.yaml │ │ ├── vsub.vx.yaml │ │ ├── vsuxei16.v.yaml │ │ ├── vsuxei32.v.yaml │ │ ├── vsuxei64.v.yaml │ │ ├── vsuxei8.v.yaml │ │ ├── vsuxseg2ei16.v.yaml │ │ ├── vsuxseg2ei32.v.yaml │ │ ├── vsuxseg2ei64.v.yaml │ │ ├── vsuxseg2ei8.v.yaml │ │ ├── vsuxseg3ei16.v.yaml │ │ ├── vsuxseg3ei32.v.yaml │ │ ├── vsuxseg3ei64.v.yaml │ │ ├── vsuxseg3ei8.v.yaml │ │ ├── vsuxseg4ei16.v.yaml │ │ ├── vsuxseg4ei32.v.yaml │ │ ├── vsuxseg4ei64.v.yaml │ │ ├── vsuxseg4ei8.v.yaml │ │ ├── vsuxseg5ei16.v.yaml │ │ ├── vsuxseg5ei32.v.yaml │ │ ├── vsuxseg5ei64.v.yaml │ │ ├── vsuxseg5ei8.v.yaml │ │ ├── vsuxseg6ei16.v.yaml │ │ ├── vsuxseg6ei32.v.yaml │ │ ├── vsuxseg6ei64.v.yaml │ │ ├── vsuxseg6ei8.v.yaml │ │ ├── vsuxseg7ei16.v.yaml │ │ ├── vsuxseg7ei32.v.yaml │ │ ├── vsuxseg7ei64.v.yaml │ │ ├── vsuxseg7ei8.v.yaml │ │ ├── vsuxseg8ei16.v.yaml │ │ ├── vsuxseg8ei32.v.yaml │ │ ├── vsuxseg8ei64.v.yaml │ │ ├── vsuxseg8ei8.v.yaml │ │ ├── vwadd.vv.yaml │ │ ├── vwadd.vx.yaml │ │ ├── vwadd.wv.yaml │ │ ├── vwadd.wx.yaml │ │ ├── vwaddu.vv.yaml │ │ ├── vwaddu.vx.yaml │ │ ├── vwaddu.wv.yaml │ │ ├── vwaddu.wx.yaml │ │ ├── vwmacc.vv.yaml │ │ ├── vwmacc.vx.yaml │ │ ├── vwmaccsu.vv.yaml │ │ ├── vwmaccsu.vx.yaml │ │ ├── vwmaccu.vv.yaml │ │ ├── vwmaccu.vx.yaml │ │ ├── vwmaccus.vx.yaml │ │ ├── vwmul.vv.yaml │ │ ├── vwmul.vx.yaml │ │ ├── vwmulsu.vv.yaml │ │ ├── vwmulsu.vx.yaml │ │ ├── vwmulu.vv.yaml │ │ ├── vwmulu.vx.yaml │ │ ├── vwredsum.vs.yaml │ │ ├── vwredsumu.vs.yaml │ │ ├── vwsub.vv.yaml │ │ ├── vwsub.vx.yaml │ │ ├── vwsub.wv.yaml │ │ ├── vwsub.wx.yaml │ │ ├── vwsubu.vv.yaml │ │ ├── vwsubu.vx.yaml │ │ ├── vwsubu.wv.yaml │ │ ├── vwsubu.wx.yaml │ │ ├── vxor.vi.yaml │ │ ├── vxor.vv.yaml │ │ ├── vxor.vx.yaml │ │ ├── vzext.vf2.yaml │ │ ├── vzext.vf4.yaml │ │ └── vzext.vf8.yaml │ ├── Zaamo │ │ ├── amoadd.d.yaml │ │ ├── amoadd.w.yaml │ │ ├── amoand.d.yaml │ │ ├── amoand.w.yaml │ │ ├── amomax.d.yaml │ │ ├── amomax.w.yaml │ │ ├── amomaxu.d.yaml │ │ ├── amomaxu.w.yaml │ │ ├── amomin.d.yaml │ │ ├── amomin.w.yaml │ │ ├── amominu.d.yaml │ │ ├── amominu.w.yaml │ │ ├── amoor.d.yaml │ │ ├── amoor.w.yaml │ │ ├── amoswap.d.yaml │ │ ├── amoswap.w.yaml │ │ ├── amoxor.d.yaml │ │ └── amoxor.w.yaml │ ├── Zabha │ │ ├── amoadd.b.yaml │ │ ├── amoadd.h.yaml │ │ ├── amoand.b.yaml │ │ ├── amoand.h.yaml │ │ ├── amocas.b.yaml │ │ ├── amocas.h.yaml │ │ ├── amomax.b.yaml │ │ ├── amomax.h.yaml │ │ ├── amomaxu.b.yaml │ │ ├── amomaxu.h.yaml │ │ ├── amomin.b.yaml │ │ ├── amomin.h.yaml │ │ ├── amominu.b.yaml │ │ ├── amominu.h.yaml │ │ ├── amoor.b.yaml │ │ ├── amoor.h.yaml │ │ ├── amoswap.b.yaml │ │ ├── amoswap.h.yaml │ │ ├── amoxor.b.yaml │ │ └── amoxor.h.yaml │ ├── Zacas │ │ ├── amocas.d.yaml │ │ ├── amocas.q.yaml │ │ └── amocas.w.yaml │ ├── Zalasr │ │ ├── lb.aq.yaml │ │ ├── ld.aq.yaml │ │ ├── lh.aq.yaml │ │ ├── lw.aq.yaml │ │ ├── sb.rl.yaml │ │ ├── sd.rl.yaml │ │ ├── sh.rl.yaml │ │ └── sw.rl.yaml │ ├── Zalrsc │ │ ├── lr.d.yaml │ │ ├── lr.w.yaml │ │ ├── sc.d.yaml │ │ └── sc.w.yaml │ ├── Zawrs │ │ ├── wrs.nto.yaml │ │ └── wrs.sto.yaml │ ├── Zba │ │ ├── add.uw.yaml │ │ ├── sh1add.uw.yaml │ │ ├── sh1add.yaml │ │ ├── sh2add.uw.yaml │ │ ├── sh2add.yaml │ │ ├── sh3add.uw.yaml │ │ ├── sh3add.yaml │ │ └── slli.uw.yaml │ ├── Zbb │ │ ├── clz.yaml │ │ ├── clzw.yaml │ │ ├── cpop.yaml │ │ ├── cpopw.yaml │ │ ├── ctz.yaml │ │ ├── ctzw.yaml │ │ ├── max.yaml │ │ ├── maxu.yaml │ │ ├── min.yaml │ │ ├── minu.yaml │ │ ├── orc.b.yaml │ │ ├── sext.b.yaml │ │ ├── sext.h.yaml │ │ └── zext.h.yaml │ ├── Zbc │ │ └── clmulr.yaml │ ├── Zbkb │ │ ├── brev8.yaml │ │ ├── pack.yaml │ │ ├── packh.yaml │ │ ├── packw.yaml │ │ ├── unzip.yaml │ │ └── zip.yaml │ ├── Zbkx │ │ ├── xperm4.yaml │ │ └── xperm8.yaml │ ├── Zbs │ │ ├── bclr.yaml │ │ ├── bclri.yaml │ │ ├── bext.yaml │ │ ├── bexti.yaml │ │ ├── binv.yaml │ │ ├── binvi.yaml │ │ ├── bset.yaml │ │ └── bseti.yaml │ ├── Zcb │ │ ├── c.lbu.yaml │ │ ├── c.lh.yaml │ │ ├── c.lhu.yaml │ │ ├── c.mul.yaml │ │ ├── c.not.yaml │ │ ├── c.sb.yaml │ │ ├── c.sext.b.yaml │ │ ├── c.sext.h.yaml │ │ ├── c.sh.yaml │ │ ├── c.zext.b.yaml │ │ ├── c.zext.h.yaml │ │ └── c.zext.w.yaml │ ├── Zcd │ │ ├── c.fld.yaml │ │ ├── c.fldsp.yaml │ │ ├── c.fsd.yaml │ │ └── c.fsdsp.yaml │ ├── Zcf │ │ ├── c.flw.yaml │ │ ├── c.flwsp.yaml │ │ ├── c.fsw.yaml │ │ └── c.fswsp.yaml │ ├── Zcmop │ │ └── c.mop.n.yaml │ ├── Zcmp │ │ ├── cm.mva01s.yaml │ │ ├── cm.mvsa01.yaml │ │ ├── cm.pop.yaml │ │ ├── cm.popret.yaml │ │ ├── cm.popretz.yaml │ │ └── cm.push.yaml │ ├── Zfbfmin │ │ ├── fcvt.bf16.s.yaml │ │ └── fcvt.s.bf16.yaml │ ├── Zfh │ │ ├── fadd.h.yaml │ │ ├── fclass.h.yaml │ │ ├── fcvt.d.h.yaml │ │ ├── fcvt.h.d.yaml │ │ ├── fcvt.h.l.yaml │ │ ├── fcvt.h.lu.yaml │ │ ├── fcvt.h.s.yaml │ │ ├── fcvt.h.w.yaml │ │ ├── fcvt.h.wu.yaml │ │ ├── fcvt.l.h.yaml │ │ ├── fcvt.lu.h.yaml │ │ ├── fcvt.s.h.yaml │ │ ├── fcvt.w.h.yaml │ │ ├── fcvt.wu.h.yaml │ │ ├── fdiv.h.yaml │ │ ├── feq.h.yaml │ │ ├── fle.h.yaml │ │ ├── fleq.h.yaml │ │ ├── flh.yaml │ │ ├── fli.h.yaml │ │ ├── flt.h.yaml │ │ ├── fltq.h.yaml │ │ ├── fmadd.h.yaml │ │ ├── fmax.h.yaml │ │ ├── fmaxm.h.yaml │ │ ├── fmin.h.yaml │ │ ├── fminm.h.yaml │ │ ├── fmsub.h.yaml │ │ ├── fmul.h.yaml │ │ ├── fmv.h.x.yaml │ │ ├── fmv.x.h.yaml │ │ ├── fnmadd.h.yaml │ │ ├── fnmsub.h.yaml │ │ ├── fround.h.yaml │ │ ├── froundnx.h.yaml │ │ ├── fsgnj.h.yaml │ │ ├── fsgnjn.h.yaml │ │ ├── fsgnjx.h.yaml │ │ ├── fsh.yaml │ │ ├── fsqrt.h.yaml │ │ └── fsub.h.yaml │ ├── Zicbom │ │ ├── cbo.clean.yaml │ │ ├── cbo.flush.yaml │ │ └── cbo.inval.yaml │ ├── Zicboz │ │ └── cbo.zero.yaml │ ├── Zicfilp │ │ └── lpad.yaml │ ├── Zicfiss │ │ ├── ssamoswap.d.yaml │ │ ├── ssamoswap.w.yaml │ │ ├── sspopchk.x1.yaml │ │ ├── sspopchk.x5.yaml │ │ ├── sspush.x1.yaml │ │ ├── sspush.x5.yaml │ │ └── ssrdp.yaml │ ├── Zicond │ │ ├── czero.eqz.yaml │ │ └── czero.nez.yaml │ ├── Zicsr │ │ ├── csrrc.yaml │ │ ├── csrrci.yaml │ │ ├── csrrs.yaml │ │ ├── csrrsi.yaml │ │ ├── csrrw.yaml │ │ └── csrrwi.yaml │ ├── Zifencei │ │ └── fence.i.yaml │ ├── Zilsd │ │ ├── ld.yaml │ │ └── sd.yaml │ ├── Zimop │ │ ├── mop.r.n.yaml │ │ └── mop.rr.n.yaml │ ├── Zkn │ │ ├── aes64ks1i.yaml │ │ └── aes64ks2.yaml │ ├── Zknd │ │ ├── aes32dsi.yaml │ │ ├── aes32dsmi.yaml │ │ ├── aes64ds.yaml │ │ ├── aes64dsm.yaml │ │ └── aes64im.yaml │ ├── Zkne │ │ ├── aes32esi.yaml │ │ ├── aes32esmi.yaml │ │ ├── aes64es.yaml │ │ └── aes64esm.yaml │ ├── Zknh │ │ ├── sha256sig0.yaml │ │ ├── sha256sig1.yaml │ │ ├── sha256sum0.yaml │ │ ├── sha256sum1.yaml │ │ ├── sha512sig0.yaml │ │ ├── sha512sig0h.yaml │ │ ├── sha512sig0l.yaml │ │ ├── sha512sig1.yaml │ │ ├── sha512sig1h.yaml │ │ ├── sha512sig1l.yaml │ │ ├── sha512sum0.yaml │ │ ├── sha512sum0r.yaml │ │ ├── sha512sum1.yaml │ │ └── sha512sum1r.yaml │ ├── Zks │ │ ├── sm3p0.yaml │ │ ├── sm3p1.yaml │ │ ├── sm4ed.yaml │ │ └── sm4ks.yaml │ ├── Zvbb │ │ ├── vandn.vv.yaml │ │ ├── vandn.vx.yaml │ │ ├── vbrev.v.yaml │ │ ├── vbrev8.v.yaml │ │ ├── vclz.v.yaml │ │ ├── vcpop.v.yaml │ │ ├── vctz.v.yaml │ │ ├── vrev8.v.yaml │ │ ├── vrol.vv.yaml │ │ ├── vrol.vx.yaml │ │ ├── vror.vi.yaml │ │ ├── vror.vv.yaml │ │ ├── vror.vx.yaml │ │ ├── vwsll.vi.yaml │ │ ├── vwsll.vv.yaml │ │ └── vwsll.vx.yaml │ ├── Zvbc │ │ ├── vclmul.vv.yaml │ │ ├── vclmul.vx.yaml │ │ ├── vclmulh.vv.yaml │ │ └── vclmulh.vx.yaml │ ├── Zvfbfmin │ │ ├── vfncvtbf16.f.f.w.yaml │ │ └── vfwcvtbf16.f.f.v.yaml │ ├── Zvfbfwma │ │ ├── vfwmaccbf16.vf.yaml │ │ └── vfwmaccbf16.vv.yaml │ ├── Zvkg │ │ ├── vghsh.vv.yaml │ │ └── vgmul.vv.yaml │ ├── Zvkned │ │ ├── vaesdf.vs.yaml │ │ ├── vaesdf.vv.yaml │ │ ├── vaesdm.vs.yaml │ │ ├── vaesdm.vv.yaml │ │ ├── vaesef.vs.yaml │ │ ├── vaesef.vv.yaml │ │ ├── vaesem.vs.yaml │ │ ├── vaesem.vv.yaml │ │ ├── vaeskf1.vi.yaml │ │ ├── vaeskf2.vi.yaml │ │ └── vaesz.vs.yaml │ ├── Zvknha │ │ ├── vsha2ch.vv.yaml │ │ ├── vsha2cl.vv.yaml │ │ └── vsha2ms.vv.yaml │ ├── Zvks │ │ ├── vsm3c.vi.yaml │ │ ├── vsm3me.vv.yaml │ │ ├── vsm4k.vi.yaml │ │ ├── vsm4r.vs.yaml │ │ └── vsm4r.vv.yaml │ └── mock.yaml ├── inst_opcode │ └── OP-32.yaml ├── inst_subtype │ └── R │ │ └── R-x.yaml ├── inst_type │ └── R.yaml ├── inst_var │ ├── xd.yaml │ ├── xs1.yaml │ └── xs2.yaml ├── inst_var_type │ ├── x_dst_reg.yaml │ └── x_src_reg.yaml ├── isa │ ├── builtin_functions.idl │ ├── fetch.idl │ ├── fp.idl │ ├── globals.isa │ ├── interrupts.idl │ └── util.idl ├── manual │ └── isa.yaml ├── manual_version │ └── isa │ │ └── 20240411 │ │ └── isa_20240411.yaml ├── proc_cert_class │ ├── AC.yaml │ ├── MC.yaml │ └── MockProcessor.yaml ├── proc_cert_model │ ├── AC100.yaml │ ├── AC200.yaml │ ├── MC100-32.yaml │ ├── MC100-64.yaml │ ├── MC200-32.yaml │ ├── MC200-64.yaml │ ├── MC300-32.yaml │ ├── MC300-64.yaml │ └── MockProcessor.yaml ├── profile │ ├── MP-S-64.yaml │ ├── MP-U-64.yaml │ ├── RVA20S64.yaml │ ├── RVA20U64.yaml │ ├── RVA22S64.yaml │ ├── RVA22U64.yaml │ ├── RVA23M64.yaml │ ├── RVA23S64.yaml │ ├── RVA23U64.yaml │ ├── RVB23M64.yaml │ ├── RVB23S64.yaml │ ├── RVB23U64.yaml │ ├── RVI20U32.yaml │ └── RVI20U64.yaml ├── profile_family │ ├── Mock.yaml │ ├── RVA.yaml │ ├── RVB.yaml │ └── RVI.yaml ├── profile_release │ ├── Mock.yaml │ ├── RVA20.yaml │ ├── RVA22.yaml │ ├── RVA23.yaml │ ├── RVB23.yaml │ └── RVI20.yaml └── prose │ └── interrupts.adoc ├── arch_def.yardopts ├── arch_overlay ├── example │ ├── csr │ │ ├── marchid.yaml │ │ └── mcustom0.yaml │ └── ext │ │ └── Xcustom.yaml └── qc_iu │ ├── csr │ └── Xqci │ │ ├── gen_mcliciX.rb │ │ ├── qc.mcause.yaml │ │ ├── qc.mclicie0.yaml │ │ ├── qc.mclicie1.yaml │ │ ├── qc.mclicie2.yaml │ │ ├── qc.mclicie3.yaml │ │ ├── qc.mclicie4.yaml │ │ ├── qc.mclicie5.yaml │ │ ├── qc.mclicie6.yaml │ │ ├── qc.mclicie7.yaml │ │ ├── qc.mclicilvl00.yaml │ │ ├── qc.mclicilvl01.yaml │ │ ├── qc.mclicilvl02.yaml │ │ ├── qc.mclicilvl03.yaml │ │ ├── qc.mclicilvl04.yaml │ │ ├── qc.mclicilvl05.yaml │ │ ├── qc.mclicilvl06.yaml │ │ ├── qc.mclicilvl07.yaml │ │ ├── qc.mclicilvl08.yaml │ │ ├── qc.mclicilvl09.yaml │ │ ├── qc.mclicilvl10.yaml │ │ ├── qc.mclicilvl11.yaml │ │ ├── qc.mclicilvl12.yaml │ │ ├── qc.mclicilvl13.yaml │ │ ├── qc.mclicilvl14.yaml │ │ ├── qc.mclicilvl15.yaml │ │ ├── qc.mclicilvl16.yaml │ │ ├── qc.mclicilvl17.yaml │ │ ├── qc.mclicilvl18.yaml │ │ ├── qc.mclicilvl19.yaml │ │ ├── qc.mclicilvl20.yaml │ │ ├── qc.mclicilvl21.yaml │ │ ├── qc.mclicilvl22.yaml │ │ ├── qc.mclicilvl23.yaml │ │ ├── qc.mclicilvl24.yaml │ │ ├── qc.mclicilvl25.yaml │ │ ├── qc.mclicilvl26.yaml │ │ ├── qc.mclicilvl27.yaml │ │ ├── qc.mclicilvl28.yaml │ │ ├── qc.mclicilvl29.yaml │ │ ├── qc.mclicilvl30.yaml │ │ ├── qc.mclicilvl31.yaml │ │ ├── qc.mclicip0.yaml │ │ ├── qc.mclicip1.yaml │ │ ├── qc.mclicip2.yaml │ │ ├── qc.mclicip3.yaml │ │ ├── qc.mclicip4.yaml │ │ ├── qc.mclicip5.yaml │ │ ├── qc.mclicip6.yaml │ │ ├── qc.mclicip7.yaml │ │ ├── qc.mmcr.yaml │ │ ├── qc.mntvec.yaml │ │ ├── qc.mstkbottomaddr.yaml │ │ ├── qc.mstktopaddr.yaml │ │ ├── qc.mthreadptr.yaml │ │ ├── qc.mwpendaddr0.yaml │ │ ├── qc.mwpendaddr1.yaml │ │ ├── qc.mwpendaddr2.yaml │ │ ├── qc.mwpendaddr3.yaml │ │ ├── qc.mwpstartaddr0.yaml │ │ ├── qc.mwpstartaddr1.yaml │ │ ├── qc.mwpstartaddr2.yaml │ │ └── qc.mwpstartaddr3.yaml │ ├── ext │ ├── Xqccmp.yaml │ ├── Xqci.yaml │ ├── Xqcia.yaml │ ├── Xqciac.yaml │ ├── Xqcibi.yaml │ ├── Xqcibm.yaml │ ├── Xqcicli.yaml │ ├── Xqcicm.yaml │ ├── Xqcics.yaml │ ├── Xqcicsr.yaml │ ├── Xqciint.yaml │ ├── Xqciio.yaml │ ├── Xqcilb.yaml │ ├── Xqcili.yaml │ ├── Xqcilia.yaml │ ├── Xqcilo.yaml │ ├── Xqcilsm.yaml │ ├── Xqcisim.yaml │ ├── Xqcisls.yaml │ └── Xqcisync.yaml │ ├── inst │ ├── C │ │ ├── c.slli.yaml │ │ ├── c.srai.yaml │ │ └── c.srli.yaml │ ├── I │ │ ├── slti.yaml │ │ └── sltiu.yaml │ ├── Xqccmp │ │ ├── qc.cm.mva01s.yaml │ │ ├── qc.cm.mvsa01.yaml │ │ ├── qc.cm.pop.yaml │ │ ├── qc.cm.popret.yaml │ │ ├── qc.cm.popretz.yaml │ │ ├── qc.cm.push.yaml │ │ └── qc.cm.pushfp.yaml │ └── Xqci │ │ ├── qc.addsat.yaml │ │ ├── qc.addusat.yaml │ │ ├── qc.beqi.yaml │ │ ├── qc.bgei.yaml │ │ ├── qc.bgeui.yaml │ │ ├── qc.blti.yaml │ │ ├── qc.bltui.yaml │ │ ├── qc.bnei.yaml │ │ ├── qc.brev32.yaml │ │ ├── qc.c.bexti.yaml │ │ ├── qc.c.bseti.yaml │ │ ├── qc.c.clrint.yaml │ │ ├── qc.c.delay.yaml │ │ ├── qc.c.di.yaml │ │ ├── qc.c.dir.yaml │ │ ├── qc.c.ei.yaml │ │ ├── qc.c.eir.yaml │ │ ├── qc.c.extu.yaml │ │ ├── qc.c.mienter.nest.yaml │ │ ├── qc.c.mienter.yaml │ │ ├── qc.c.mileaveret.yaml │ │ ├── qc.c.mnret.yaml │ │ ├── qc.c.mret.yaml │ │ ├── qc.c.muliadd.yaml │ │ ├── qc.c.mveqz.yaml │ │ ├── qc.c.ptrace.yaml │ │ ├── qc.c.setint.yaml │ │ ├── qc.c.sync.yaml │ │ ├── qc.c.syncr.yaml │ │ ├── qc.c.syncwf.yaml │ │ ├── qc.c.syncwl.yaml │ │ ├── qc.clo.yaml │ │ ├── qc.clrinti.yaml │ │ ├── qc.compress2.yaml │ │ ├── qc.compress3.yaml │ │ ├── qc.csrrwr.yaml │ │ ├── qc.csrrwri.yaml │ │ ├── qc.cto.yaml │ │ ├── qc.e.addai.yaml │ │ ├── qc.e.addi.yaml │ │ ├── qc.e.andai.yaml │ │ ├── qc.e.andi.yaml │ │ ├── qc.e.beqi.yaml │ │ ├── qc.e.bgei.yaml │ │ ├── qc.e.bgeui.yaml │ │ ├── qc.e.blti.yaml │ │ ├── qc.e.bltui.yaml │ │ ├── qc.e.bnei.yaml │ │ ├── qc.e.j.yaml │ │ ├── qc.e.jal.yaml │ │ ├── qc.e.lb.yaml │ │ ├── qc.e.lbu.yaml │ │ ├── qc.e.lh.yaml │ │ ├── qc.e.lhu.yaml │ │ ├── qc.e.li.yaml │ │ ├── qc.e.lw.yaml │ │ ├── qc.e.orai.yaml │ │ ├── qc.e.ori.yaml │ │ ├── qc.e.sb.yaml │ │ ├── qc.e.sh.yaml │ │ ├── qc.e.sw.yaml │ │ ├── qc.e.xorai.yaml │ │ ├── qc.e.xori.yaml │ │ ├── qc.expand2.yaml │ │ ├── qc.expand3.yaml │ │ ├── qc.ext.yaml │ │ ├── qc.extd.yaml │ │ ├── qc.extdpr.yaml │ │ ├── qc.extdprh.yaml │ │ ├── qc.extdr.yaml │ │ ├── qc.extdu.yaml │ │ ├── qc.extdupr.yaml │ │ ├── qc.extduprh.yaml │ │ ├── qc.extdur.yaml │ │ ├── qc.extu.yaml │ │ ├── qc.insb.yaml │ │ ├── qc.insbh.yaml │ │ ├── qc.insbhr.yaml │ │ ├── qc.insbi.yaml │ │ ├── qc.insbpr.yaml │ │ ├── qc.insbprh.yaml │ │ ├── qc.insbr.yaml │ │ ├── qc.insbri.yaml │ │ ├── qc.inw.yaml │ │ ├── qc.li.yaml │ │ ├── qc.lieq.yaml │ │ ├── qc.lieqi.yaml │ │ ├── qc.lige.yaml │ │ ├── qc.ligei.yaml │ │ ├── qc.ligeu.yaml │ │ ├── qc.ligeui.yaml │ │ ├── qc.lilt.yaml │ │ ├── qc.lilti.yaml │ │ ├── qc.liltu.yaml │ │ ├── qc.liltui.yaml │ │ ├── qc.line.yaml │ │ ├── qc.linei.yaml │ │ ├── qc.lrb.yaml │ │ ├── qc.lrbu.yaml │ │ ├── qc.lrh.yaml │ │ ├── qc.lrhu.yaml │ │ ├── qc.lrw.yaml │ │ ├── qc.lwm.yaml │ │ ├── qc.lwmi.yaml │ │ ├── qc.muliadd.yaml │ │ ├── qc.mveq.yaml │ │ ├── qc.mveqi.yaml │ │ ├── qc.mvge.yaml │ │ ├── qc.mvgei.yaml │ │ ├── qc.mvgeu.yaml │ │ ├── qc.mvgeui.yaml │ │ ├── qc.mvlt.yaml │ │ ├── qc.mvlti.yaml │ │ ├── qc.mvltu.yaml │ │ ├── qc.mvltui.yaml │ │ ├── qc.mvne.yaml │ │ ├── qc.mvnei.yaml │ │ ├── qc.norm.yaml │ │ ├── qc.normeu.yaml │ │ ├── qc.normu.yaml │ │ ├── qc.outw.yaml │ │ ├── qc.pcoredump.yaml │ │ ├── qc.pexit.yaml │ │ ├── qc.ppreg.yaml │ │ ├── qc.ppregs.yaml │ │ ├── qc.pputc.yaml │ │ ├── qc.pputci.yaml │ │ ├── qc.pputs.yaml │ │ ├── qc.psyscall.yaml │ │ ├── qc.psyscalli.yaml │ │ ├── qc.selecteqi.yaml │ │ ├── qc.selectieq.yaml │ │ ├── qc.selectieqi.yaml │ │ ├── qc.selectiieq.yaml │ │ ├── qc.selectiine.yaml │ │ ├── qc.selectine.yaml │ │ ├── qc.selectinei.yaml │ │ ├── qc.selectnei.yaml │ │ ├── qc.setinti.yaml │ │ ├── qc.setwm.yaml │ │ ├── qc.setwmi.yaml │ │ ├── qc.shladd.yaml │ │ ├── qc.shlsat.yaml │ │ ├── qc.shlusat.yaml │ │ ├── qc.srb.yaml │ │ ├── qc.srh.yaml │ │ ├── qc.srw.yaml │ │ ├── qc.subsat.yaml │ │ ├── qc.subusat.yaml │ │ ├── qc.swm.yaml │ │ ├── qc.swmi.yaml │ │ ├── qc.sync.yaml │ │ ├── qc.syncr.yaml │ │ ├── qc.syncwf.yaml │ │ ├── qc.syncwl.yaml │ │ ├── qc.wrap.yaml │ │ └── qc.wrapi.yaml │ └── isa │ └── globals.isa ├── backends ├── cfg_html_doc │ ├── adoc_gen.rake │ ├── html_gen.rake │ ├── tasks.rake │ ├── templates │ │ ├── config.adoc.erb │ │ ├── csr.adoc.erb │ │ ├── ext.adoc.erb │ │ ├── func.adoc.erb │ │ ├── inst.adoc.erb │ │ ├── landing.adoc.erb │ │ └── toc.adoc.erb │ └── ui │ │ └── highlight.js ├── common_templates │ └── adoc │ │ ├── README.adoc │ │ ├── csr.adoc.erb │ │ └── inst.adoc.erb ├── cpp_hart_gen │ ├── CMakeLists.txt │ ├── c │ │ └── include │ │ │ └── udb │ │ │ ├── renode_imports.h │ │ │ ├── renode_map.h │ │ │ └── stop_reason.h │ ├── cpp │ │ ├── include │ │ │ └── udb │ │ │ │ ├── bb_cache.hpp │ │ │ │ ├── bitfield.hpp │ │ │ │ ├── bits-yaml.hpp │ │ │ │ ├── bits.hpp │ │ │ │ ├── config_validator.hpp │ │ │ │ ├── cpp_exceptions.hpp │ │ │ │ ├── csr.hpp │ │ │ │ ├── defines.hpp │ │ │ │ ├── elf_reader.hpp │ │ │ │ ├── hart.hpp │ │ │ │ ├── inst.hpp │ │ │ │ ├── iss_soc_model.hpp │ │ │ │ ├── memory.hpp │ │ │ │ ├── pool_alloc.hpp │ │ │ │ ├── soc_model.hpp │ │ │ │ ├── util.hpp │ │ │ │ ├── version.hpp │ │ │ │ └── xregister.hpp │ │ ├── src │ │ │ ├── elf_reader.cpp │ │ │ ├── hart.cpp │ │ │ ├── iss.cpp │ │ │ ├── libhart_renode.cpp │ │ │ └── memory.cpp │ │ └── test │ │ │ ├── test_bits.cpp │ │ │ ├── test_csr.cpp │ │ │ ├── test_decode.cpp │ │ │ ├── test_util.cpp │ │ │ └── test_version.cpp │ ├── lib │ │ ├── constexpr_pass.rb │ │ ├── control_flow_pass.rb │ │ ├── csr_template_helpers.rb │ │ ├── decode_tree.rb │ │ ├── gen_cpp.rb │ │ ├── template_helpers.rb │ │ └── written_pass.rb │ ├── renode │ │ ├── UdbCpu.cs │ │ ├── udb.repl │ │ └── udb.resc │ ├── tasks.rake │ └── templates │ │ ├── bitfield.hxx.erb │ │ ├── csr_container.hxx.erb │ │ ├── csrs.hxx.erb │ │ ├── csrs_impl.hxx.erb │ │ ├── db_data.cxx.erb │ │ ├── db_data.hxx.erb │ │ ├── enum.cxx.erb │ │ ├── enum.hxx.erb │ │ ├── func_prototypes.hxx.erb │ │ ├── hart.hxx.erb │ │ ├── hart_factory.hxx.erb │ │ ├── hart_impl.hxx.erb │ │ ├── idl_funcs_impl.hxx.erb │ │ ├── inst.hxx.erb │ │ ├── inst_impl.hxx.erb │ │ ├── libhart.h.erb │ │ ├── libhart_renode.h.erb │ │ ├── params.cxx.erb │ │ ├── params.hxx.erb │ │ ├── structs.hxx.erb │ │ └── types.hxx.erb ├── ext_pdf_doc │ ├── idl_lexer.rb │ ├── tasks.rake │ └── templates │ │ └── ext_pdf.adoc.erb ├── generators │ ├── Go │ │ └── go_generator.py │ ├── c_header │ │ └── generate_encoding.py │ ├── generator.py │ └── tasks.rake ├── indexer │ ├── README.adoc │ ├── index-unifieddb.js │ └── tasks.rake ├── instructions_appendix │ ├── all_instructions.golden.adoc │ ├── tasks.rake │ └── templates │ │ └── instructions.adoc.erb ├── isa_explorer │ ├── csr_table.html │ ├── ext_table.html │ ├── inst_table.html │ ├── isa_explorer.rb │ └── tasks.rake ├── manual │ ├── README.adoc │ ├── tasks.rake │ └── templates │ │ ├── csr.adoc.erb │ │ ├── ext.adoc.erb │ │ ├── func.adoc.erb │ │ ├── index.adoc.erb │ │ ├── instruction.adoc.erb │ │ ├── isa_nav.adoc.erb │ │ ├── isa_version_index.adoc.erb │ │ ├── param_list.adoc.erb │ │ └── playbook.yml.erb ├── portfolio │ ├── README.adoc │ ├── tasks.rake │ └── templates │ │ ├── README.adoc │ │ ├── beginning.adoc.erb │ │ ├── csr_appendix.adoc.erb │ │ ├── ext_appendix.adoc.erb │ │ ├── idl_func_appendix.adoc.erb │ │ ├── inst_appendix.adoc.erb │ │ ├── normative_rules.adoc.erb │ │ └── test_procedures.adoc.erb ├── proc_cert │ ├── README.adoc │ ├── tasks.rake │ └── templates │ │ ├── README.adoc │ │ ├── glossary.adoc.erb │ │ ├── priv_modes.adoc.erb │ │ ├── proc_naming_scheme.adoc.erb │ │ ├── related_specs.adoc.erb │ │ ├── rev_history.adoc.erb │ │ ├── rvcp_naming_scheme.adoc.erb │ │ └── typographic.adoc.erb ├── proc_crd │ ├── tasks.rake │ └── templates │ │ └── proc_crd.adoc.erb ├── proc_ctp │ ├── tasks.rake │ └── templates │ │ └── proc_ctp.adoc.erb └── profile │ ├── tasks.rake │ └── templates │ └── profile.adoc.erb ├── bin ├── .container-tag ├── asciidoctor ├── bash ├── build_container ├── bundle ├── clang-format ├── clang-tidy ├── clean ├── clobber ├── g++ ├── gdb ├── make ├── node ├── npx ├── pip ├── pre-commit ├── python ├── rake ├── rdbg ├── ruby ├── setup └── tapioca ├── cfgs ├── MC100-32.yaml ├── _.yaml ├── example_rv64_with_overlay.yaml ├── mc100-32-full-example.yaml ├── qc_iu.yaml ├── rv32.yaml └── rv64.yaml ├── commitlint.config.js ├── container.def ├── do ├── doc ├── data-templates.adoc ├── idl.adoc ├── prose-schema.adoc ├── riscv-opcodes-migration.adoc ├── ruby.adoc ├── schemas.adoc ├── udb-alt.svg ├── udb-block.svg └── udb.svg ├── docs ├── index.html └── ruby │ ├── ArchDef.html │ ├── ArchDefObject.html │ ├── ArchGen.html │ ├── Csr.html │ ├── CsrField.html │ ├── CsrField │ └── Alias.html │ ├── DecodeField.html │ ├── DecodeVariable.html │ ├── EncodingField.html │ ├── Extension.html │ ├── ExtensionVersion.html │ ├── Idl.html │ ├── Idl │ ├── ArrayLiteralAst.html │ ├── AryAccessSyntaxNode.html │ ├── AryElementAccessAst.html │ ├── AryElementAssignmentAst.html │ ├── AryElementAssignmentSyntaxNode.html │ ├── AryRangeAccessAst.html │ ├── AryRangeAssignmentAst.html │ ├── AssignmentAst.html │ ├── AstNode.html │ ├── AstNode │ │ ├── InternalError.html │ │ ├── TypeError.html │ │ └── ValueError.html │ ├── AstNodeFuncs.html │ ├── BinaryExpressionAst.html │ ├── BinaryExpressionRightSyntaxNode.html │ ├── BitfieldAccessExpressionAst.html │ ├── BitfieldDefinitionAst.html │ ├── BitfieldType.html │ ├── BitsCastAst.html │ ├── BuiltinEnumDefinitionAst.html │ ├── BuiltinTypeNameAst.html │ ├── BuiltinTypeNameSyntaxNode.html │ ├── BuiltinVariableAst.html │ ├── BuiltinVariableSyntaxNode.html │ ├── Compiler.html │ ├── ConcatenationExpressionAst.html │ ├── ConditionalReturnStatementAst.html │ ├── ConditionalStatementAst.html │ ├── ConditionalStatementSyntaxNode.html │ ├── CsrFieldReadExpressionAst.html │ ├── CsrReadExpressionAst.html │ ├── CsrSoftwareReadAst.html │ ├── CsrSoftwareWriteAst.html │ ├── CsrType.html │ ├── CsrWriteAst.html │ ├── Declaration.html │ ├── DontCareLvalueAst.html │ ├── DontCareReturnAst.html │ ├── DontCareReturnSyntaxNode.html │ ├── ElseIfAst.html │ ├── EnumDefinitionAst.html │ ├── EnumRefAst.html │ ├── EnumRefSyntaxNode.html │ ├── EnumerationType.html │ ├── Executable.html │ ├── ExecutionCommentAst.html │ ├── FieldAssignmentAst.html │ ├── FieldNameAst.html │ ├── ForLoopAst.html │ ├── ForLoopSyntaxNode.html │ ├── FunctionBodyAst.html │ ├── FunctionBodySyntaxNode.html │ ├── FunctionCallExpressionAst.html │ ├── FunctionCallExpressionSyntaxNode.html │ ├── FunctionDefAst.html │ ├── FunctionType.html │ ├── GlobalAst.html │ ├── GlobalWithInitializationAst.html │ ├── IdAst.html │ ├── IdSyntaxNode.html │ ├── IfAst.html │ ├── IfBodyAst.html │ ├── IfSyntaxNode.html │ ├── InstructionOperationAst.html │ ├── InstructionOperationSyntaxNode.html │ ├── IntLiteralAst.html │ ├── IntLiteralSyntaxNode.html │ ├── IsaAst.html │ ├── MultiVariableAssignmentAst.html │ ├── MultiVariableDeclarationAst.html │ ├── NoopAst.html │ ├── ParenExpressionAst.html │ ├── ParenExpressionSyntaxNode.html │ ├── PostDecrementExpressionAst.html │ ├── PostIncrementExpressionAst.html │ ├── ReplicationExpressionAst.html │ ├── ReplicationExpressionSyntaxNode.html │ ├── ReturnStatementAst.html │ ├── Returns.html │ ├── Rvalue.html │ ├── SignCastAst.html │ ├── SignCastSyntaxNode.html │ ├── StatementAst.html │ ├── StatementSyntaxNode.html │ ├── SymbolTable.html │ ├── SymbolTable │ │ └── DuplicateSymError.html │ ├── TernaryOperatorExpressionAst.html │ ├── TernaryOperatorExpressionSyntaxNode.html │ ├── Type.html │ ├── UnaryOperatorExpressionAst.html │ ├── UserTypeNameAst.html │ ├── Var.html │ ├── VariableAssignmentAst.html │ ├── VariableAssignmentSyntaxNode.html │ ├── VariableDeclarationAst.html │ ├── VariableDeclarationWithInitializationAst.html │ ├── VariableDeclarationWithInitializationSyntaxNode.html │ └── XregType.html │ ├── Instruction.html │ ├── Instruction │ ├── Encoding.html │ └── Encoding │ │ └── Field.html │ ├── MockArchDef.html │ ├── MockExtension.html │ ├── Opcodes.html │ ├── RiscvOpcodes.html │ ├── TestExpressions.html │ ├── TestMixin.html │ ├── TestVariables.html │ ├── Treetop.html │ ├── Treetop │ ├── Runtime.html │ └── Runtime │ │ ├── CompiledParser.html │ │ └── SyntaxNode.html │ ├── Validator.html │ ├── Validator │ ├── SchemaError.html │ └── ValidationError.html │ ├── _index.html │ ├── class_list.html │ ├── css │ ├── common.css │ ├── full_list.css │ └── style.css │ ├── file.README.html │ ├── file_list.html │ ├── frames.html │ ├── index.html │ ├── js │ ├── app.js │ ├── full_list.js │ └── jquery.js │ ├── method_list.html │ └── top-level-namespace.html ├── ext └── auto-inst │ ├── parsing.py │ └── test_parsing.py ├── idl.yardopts ├── lib ├── DB_MODEL.README.adoc ├── arch_obj_models │ ├── cert_normative_rule.rb │ ├── cert_test_procedure.rb │ ├── certifiable_obj.rb │ ├── certificate.rb │ ├── csr.rb │ ├── csr_field.rb │ ├── database_obj.rb │ ├── doc_link.rb │ ├── exception_code.rb │ ├── extension.rb │ ├── instruction.rb │ ├── manual.rb │ ├── parameter.rb │ ├── portfolio.rb │ ├── profile.rb │ ├── req_expression.rb │ └── schema.rb ├── architecture.rb ├── architecture.rbi ├── asciidoc_extensions.js ├── asciidoc_when_extension.js ├── backend_helpers.rb ├── cfg_arch.rb ├── config.rb ├── deploy.sh ├── idl.rb ├── idl │ ├── ast.rb │ ├── idl.treetop │ ├── passes │ │ ├── find_return_values.rb │ │ ├── find_src_registers.rb │ │ ├── gen_adoc.rb │ │ ├── gen_option_adoc.rb │ │ ├── prune.rb │ │ ├── reachable_exceptions.rb │ │ ├── reachable_functions.rb │ │ └── reachable_functions_unevaluated.rb │ ├── symbol_table.rb │ ├── tests │ │ ├── helpers.rb │ │ ├── test_expressions.rb │ │ ├── test_functions.rb │ │ ├── test_lexer.rb │ │ └── test_variables.rb │ └── type.rb ├── portfolio_design.rb ├── presence.rb ├── proc_cert_design.rb ├── test │ ├── test_backend_helpers.rb │ ├── test_helper.rb │ └── test_yaml_loader.rb ├── version.rb └── yaml_resolver.py ├── package-lock.json ├── package.json ├── requirements.txt └── schemas ├── config_schema.json ├── csr_schema.json ├── ext_schema.json ├── inst_opcode_schema.json ├── inst_schema.json ├── inst_subtype_schema.json ├── inst_type_schema.json ├── inst_var_schema.json ├── inst_var_type_schema.json ├── inst_variable_metadatas.json ├── json-schema-draft-07.json ├── manual_schema.json ├── manual_version_schema.json ├── proc_cert_class_schema.json ├── proc_cert_model_schema.json ├── profile_family_schema.json ├── profile_release_schema.json ├── profile_schema.json └── schema_defs.json /.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 2 4 | Language: Cpp 5 | ColumnLimit: 100 6 | # AlignConsecutiveAssignments: true 7 | # AlignConsecutiveDeclarations: true 8 | # AlignEscapedNewlines: Right 9 | # AlignOperands: true 10 | # AlignTrailingComments: true 11 | # AllowShortBlocksOnASingleLine: false 12 | # AllowShortCaseLabelsOnASingleLine: true 13 | # AlwaysBreakTemplateDeclarations: Yes 14 | 15 | FixNamespaceComments: true 16 | NamespaceIndentation: All 17 | -------------------------------------------------------------------------------- /.devcontainer/onCreateCommand.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | npm i 4 | bundle install 5 | -------------------------------------------------------------------------------- /.devcontainer/updateContentCommand.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | bundle 4 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # default for all files 2 | * @dhower-qc @ThinkOpenly 3 | 4 | # TODO: get more code owners 5 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report a bug in one or more tools 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. On branch B, 16 | 1. Run '...' 17 | 18 | **Text output/Error Messages** 19 | If any 20 | 21 | **Screenshots** 22 | If applicable, add screenshots to help explain your problem. 23 | 24 | **Additional context** 25 | Add any other context about the problem here. 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/data-entry.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Data Entry 3 | about: Add new data into the database 4 | title: '' 5 | labels: data entry 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the data** 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/data-error.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Data Error 3 | about: Report a data error in the database 4 | title: '' 5 | labels: data error 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Current value and location** 11 | Where is this data? 12 | 13 | **Expected value** 14 | What do you think the value(s) should be? 15 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem 3 | version: 2 4 | updates: 5 | - package-ecosystem: gitsubmodule 6 | directory: / 7 | schedule: 8 | interval: weekly 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .bundle 2 | .python 3 | .singularity 4 | .antora 5 | .home 6 | .yardoc 7 | .stamps 8 | .venv 9 | .asciidoctor 10 | .vscode/* 11 | !.vscode/launch.json 12 | !.vscode/extensions.json 13 | .container-type 14 | diag-ditaa-* 15 | arch/manual/isa/**/riscv-isa-manual 16 | gen 17 | node_modules 18 | _site 19 | images 20 | __pycache__/ 21 | *.pyc 22 | .pytest_cache/ 23 | *.bak 24 | *.log 25 | sorbet 26 | coverage 27 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | gen 2 | .home 3 | .singularity 4 | node_modules 5 | .asciidoctor 6 | .bundle 7 | .git 8 | .github 9 | .vscode 10 | docs/ruby 11 | ext 12 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /.solargraph.yml: -------------------------------------------------------------------------------- 1 | --- 2 | include: 3 | - "lib/**/*.rb" 4 | - "tasks/**/*.rake" 5 | exclude: 6 | - spec/**/* 7 | - test/**/* 8 | - vendor/**/* 9 | - ".home/**/*" 10 | require: [] 11 | domains: [] 12 | reporters: 13 | - rubocop 14 | - require_not_found 15 | formatter: 16 | rubocop: 17 | cops: safe 18 | except: [] 19 | only: [] 20 | extra_args: [] 21 | require_paths: 22 | - /usr/lib/ruby/3.2.0 23 | plugins: [] 24 | max_files: 5000 25 | -------------------------------------------------------------------------------- /.sorbet-config: -------------------------------------------------------------------------------- 1 | --dir 2 | . 3 | --ignore 4 | ext 5 | --ignore 6 | .home/.gems 7 | --ignore 8 | node_modules 9 | -------------------------------------------------------------------------------- /.tapioca-config.yml: -------------------------------------------------------------------------------- 1 | gem: 2 | outdir: .home/.sorbet/rbi/gems 3 | file_header: true 4 | exclude: 5 | [ 6 | rdoc, 7 | asciidoctor-pdf, 8 | solargraph, 9 | webrick, 10 | ttfunk, 11 | tapioca, 12 | rubocop, 13 | rubocop-minitest, 14 | spoom, 15 | rdbg, 16 | parser, 17 | ] 18 | dsl: 19 | outdir: .home/.sorbet/rbi/dsl 20 | # Add your `dsl` command parameters here: 21 | # 22 | # exclude: 23 | # - SomeGeneratorName 24 | # workers: 5 25 | annotations: 26 | sources: 27 | - ext/rbi-central 28 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "asciidoctor.asciidoctor-vscode", 4 | "castwide.solargraph", 5 | "CraigMaslowski.erb", 6 | "HowerLimited.udb-extension-pack-vscode", 7 | "mathematic.vscode-pdf", 8 | "redhat.vscode-yaml", 9 | "zhwu95.riscv" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /LICENSES/BSD-2-Clause.txt: -------------------------------------------------------------------------------- 1 | ../LICENSE-BSD-2-Clause.txt -------------------------------------------------------------------------------- /LICENSES/BSD-3-Clause-Clear.txt: -------------------------------------------------------------------------------- 1 | ../LICENSE-BSD-3-Clause-Clear.txt -------------------------------------------------------------------------------- /LICENSES/CC-BY-4.0.txt: -------------------------------------------------------------------------------- 1 | ../LICENSE-CC-BY.txt -------------------------------------------------------------------------------- /LICENSES/CC0-1.0.txt: -------------------------------------------------------------------------------- 1 | ../LICENSE-CC0-1.0.txt -------------------------------------------------------------------------------- /LICENSES/MIT.txt: -------------------------------------------------------------------------------- 1 | ../LICENSE-MIT.txt -------------------------------------------------------------------------------- /arch/csr/Smrnmi/mnscratch.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: mnscratch 6 | long_name: Machine Scratch Register 7 | address: 0x740 8 | writable: true 9 | priv_mode: M 10 | length: MXLEN 11 | description: 12 | Scratch register for software use in NMI / double trap. Bits are not 13 | interpreted by hardware. 14 | definedBy: Smrnmi 15 | fields: 16 | SCRATCH: 17 | location_rv32: 31-0 18 | location_rv64: 63-0 19 | description: Scratch value 20 | type: RW 21 | reset_value: UNDEFINED_LEGAL 22 | -------------------------------------------------------------------------------- /arch/csr/hedelegh.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: hedelegh 6 | long_name: Hypervisor Exception Delegation High 7 | address: 0x612 8 | writable: true 9 | base: 32 10 | priv_mode: S 11 | length: 32 12 | description: | 13 | Controls exception delegation from HS-mode to VS-mode. 14 | 15 | Alias of upper bits of `hedeleg`[63:32]. 16 | definedBy: H 17 | fields: {} 18 | -------------------------------------------------------------------------------- /arch/csr/medelegh.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: medelegh 6 | long_name: Machine Exception Delegation, High bits 7 | address: 0x312 8 | writable: true 9 | priv_mode: M 10 | length: 32 11 | base: 32 12 | description: | 13 | Alias of the upper 32 bits of `medeleg`. 14 | definedBy: 15 | name: S 16 | version: ">= 1.13" 17 | fields: {} 18 | -------------------------------------------------------------------------------- /arch/csr/mhartid.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: mhartid 6 | long_name: Machine Hart ID 7 | address: 0xf14 8 | writable: false 9 | priv_mode: M 10 | length: MXLEN 11 | description: Reports the unique hart-specific ID in the system. 12 | definedBy: Sm 13 | fields: 14 | ID: 15 | location_rv32: 31-0 16 | location_rv64: 63-0 17 | type: RO 18 | description: hart-specific ID. 19 | reset_value: UNDEFINED_LEGAL 20 | sw_read(): | 21 | return hartid(); 22 | -------------------------------------------------------------------------------- /arch/csr/mscratch.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: mscratch 6 | long_name: Machine Scratch Register 7 | address: 0x340 8 | writable: true 9 | priv_mode: M 10 | length: MXLEN 11 | description: Scratch register for software use. Bits are not interpreted by hardware. 12 | definedBy: Sm 13 | fields: 14 | SCRATCH: 15 | location_rv32: 31-0 16 | location_rv64: 63-0 17 | description: Scratch value 18 | type: RW 19 | reset_value: 0 20 | -------------------------------------------------------------------------------- /arch/csr/mseccfg.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: mseccfg 6 | long_name: Machine Security Configuration 7 | address: 0x747 8 | writable: true 9 | priv_mode: M 10 | length: 64 11 | description: Machine Security Configuration 12 | definedBy: 13 | name: Sm 14 | version: ">= 1.12" 15 | fields: {} 16 | -------------------------------------------------------------------------------- /arch/csr/mseccfgh.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: mseccfgh 6 | long_name: Most significant 32 bits of Machine Security Configuration 7 | base: 32 8 | address: 0x757 9 | writable: true 10 | priv_mode: M 11 | length: 32 12 | description: Machine Security Configuration 13 | definedBy: 14 | name: Sm 15 | version: ">= 1.12" 16 | fields: {} 17 | -------------------------------------------------------------------------------- /arch/csr/mvendorid.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: mvendorid 6 | long_name: Machine Vendor ID 7 | address: 0xf11 8 | writable: false 9 | priv_mode: M 10 | length: 32 11 | description: Reports the JEDEC manufacturer ID of the core. 12 | fields: 13 | Bank: 14 | description: JEDEC manufacturer ID bank minus 1 15 | location: 31-7 16 | type: RO 17 | reset_value(): return VENDOR_ID_BANK; 18 | Offset: 19 | description: JEDEC manufacturer ID offset 20 | location: 6-0 21 | type: RO 22 | reset_value(): return VENDOR_ID_OFFSET; 23 | definedBy: Sm 24 | -------------------------------------------------------------------------------- /arch/csr/sscratch.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/csr_schema.json 2 | 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: sscratch 6 | long_name: Supervisor Scratch Register 7 | address: 0x140 8 | writable: true 9 | priv_mode: S 10 | length: 64 11 | description: Scratch register for software use. Bits are not interpreted by hardware. 12 | definedBy: S # actually, defined by RV64, but must implement U-mode for this CSR to exist 13 | fields: 14 | SCRATCH: 15 | location: 63-0 16 | description: Scratch value 17 | type: RW 18 | reset_value: UNDEFINED_LEGAL 19 | -------------------------------------------------------------------------------- /arch/ext/I.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: I 6 | type: unprivileged 7 | long_name: Base integer ISA (RV32I or RV64I) 8 | versions: 9 | - version: "2.1.0" 10 | state: ratified 11 | ratification_date: 2019-06 12 | changes: 13 | - ratified RVWMO memory model and exclusion of FENCE.I, counters, and CSR instructions that were in previous base ISA 14 | description: | 15 | Base integer instructions -- TODO 16 | -------------------------------------------------------------------------------- /arch/ext/Sdext.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Sdext 6 | long_name: Debug 7 | description: | 8 | Hart-visible portion of the debug spec. 9 | type: privileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | -------------------------------------------------------------------------------- /arch/ext/Shvsatpa.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Shvsatpa 6 | long_name: vstap translation mode requirements 7 | description: | 8 | All translation modes supported in the `satp` CSR must be supported in the `vsatp` CSR. 9 | 10 | [NOTE] 11 | This extension was ratified with the RVA22 profiles. 12 | type: privileged 13 | versions: 14 | - version: "1.0.0" 15 | state: ratified 16 | ratification_date: null 17 | -------------------------------------------------------------------------------- /arch/ext/Smaia.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Smaia 6 | long_name: Advanced Interrupt Architecture, M-mode extension 7 | description: Advanced Interrupt Architecture, M-mode extension 8 | type: privileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: 2023-06 13 | url: https://github.com/riscv/riscv-aia/releases/download/1.0/riscv-interrupts-1.0.pdf 14 | -------------------------------------------------------------------------------- /arch/ext/Smcntrpmf.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Smcntrpmf 6 | long_name: Cycle and Instret Privilege Mode Filtering 7 | description: Cycle and Instret Privilege Mode Filtering 8 | type: privileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: 2023-08 13 | url: https://github.com/riscv/riscv-smcntrpmf/releases/download/v1.0_rc4-frozen/riscv-smcntrpmf-v1.0_rc4.pdf 14 | -------------------------------------------------------------------------------- /arch/ext/Smmpm.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Smmpm 6 | long_name: Pointer masking for M-mode 7 | description: | 8 | A machine-level extension that provides pointer masking for M-mode. 9 | type: privileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | params: 15 | PMLEN: 16 | description: | 17 | The number of high-order bits of an address that are masked by the 18 | pointer masking facility. 19 | schema: 20 | type: integer 21 | also_defined_in: [Ssnpm, Smmpm] 22 | -------------------------------------------------------------------------------- /arch/ext/Ssaia.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Ssaia 6 | long_name: Advanced Interrupt Architecture, S-mode extension 7 | description: Advanced Interrupt Architecture, S-mode extension 8 | type: privileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: 2023-06 13 | url: https://github.com/riscv/riscv-aia/releases/download/1.0/riscv-interrupts-1.0.pdf 14 | requires: 15 | name: S 16 | version: ">= 1.12" 17 | -------------------------------------------------------------------------------- /arch/ext/Ssccfg.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Ssccfg 6 | long_name: Supervisor-mode counter configuration 7 | description: Supervisor-mode counter configuration 8 | type: privileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: null 13 | url: https://docs.google.com/document/d/1s-GeH5XpHBLzbQZucA8DPA7vvF7Xvf_nrPbrU2YLBcE/edit#heading=h.yyrgtolcaczx 14 | -------------------------------------------------------------------------------- /arch/ext/Sscofpmf.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Sscofpmf 6 | long_name: Counter Overflow and Privilege Mode Filtering 7 | description: Counter Overflow and Privilege Mode Filtering 8 | type: privileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: 2023-08 13 | url: https://drive.google.com/file/d/1KcjgbLM5L1ZKY8934aJl8aQwGlMz6Cbo/view?usp=drive_link 14 | requires: 15 | name: Smhpm 16 | interrupt_codes: 17 | - num: 13 18 | name: Local counter overflow interrupt 19 | var: LocalCounterOverflow 20 | -------------------------------------------------------------------------------- /arch/ext/Sstc.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Sstc 6 | long_name: Supervisor-mode timer interrupts 7 | description: Supervisor-mode timer interrupts 8 | type: privileged 9 | versions: 10 | - version: "0.9.0" 11 | state: ratified 12 | ratification_date: null 13 | url: https://drive.google.com/file/d/1m84Re2yK8m_vbW7TspvevCDR82MOBaSX/view?usp=drive_link 14 | -------------------------------------------------------------------------------- /arch/ext/Ssu64xl.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Ssu64xl 6 | long_name: 64-bit UXLEN 7 | description: | 8 | `sstatus.UXL` must be capable of holding the value 2 (i.e., UXLEN=64 must be supported). 9 | 10 | [NOTE] 11 | This extension is defined by RVA22. 12 | type: privileged 13 | versions: 14 | - version: "1.0.0" 15 | state: ratified 16 | ratification_date: null 17 | param_constraints: 18 | UXLEN: 19 | schema: 20 | enum: [64, 3264] 21 | -------------------------------------------------------------------------------- /arch/ext/Svbare.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Svbare 6 | long_name: Bare virtual addressing 7 | type: privileged 8 | description: | 9 | This extension mandates that the `satp` mode Bare must 10 | be supported. 11 | 12 | [NOTE] 13 | This extension was ratified as part of the RVA22 profile. 14 | versions: 15 | - version: "1.0.0" 16 | state: ratified 17 | ratification_date: null 18 | requires: 19 | name: S 20 | param_constraints: 21 | SATP_MODE_BARE: 22 | schema: 23 | const: true 24 | -------------------------------------------------------------------------------- /arch/ext/Svpbmt.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Svpbmt 6 | long_name: Page-based memory types 7 | description: | 8 | This extension mandates that the `satp` mode Bare must 9 | be supported. 10 | 11 | [NOTE] 12 | This extension was ratified as part of the RVA22 profile. 13 | type: privileged 14 | versions: 15 | - version: "1.0.0" 16 | state: ratified 17 | ratification_date: null 18 | requires: 19 | name: Sv39 20 | param_constraints: 21 | SATP_MODE_BARE: 22 | schema: 23 | const: true 24 | -------------------------------------------------------------------------------- /arch/ext/Zabha.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zabha 6 | long_name: Byte and Halfword Atomic Memory Operations 7 | type: unprivileged 8 | description: | 9 | Adds byte and halfword atomic memory operations to the RISC-V Unprivileged ISA. 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | requires: Zaamo 15 | -------------------------------------------------------------------------------- /arch/ext/Zacas.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zacas 6 | long_name: Atomic Compare-and-Swap (CAS) Instructions 7 | description: | 8 | Adds Word/Doubleword/Quadword compare-and-swap instructions. 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | requires: Zaamo 15 | -------------------------------------------------------------------------------- /arch/ext/Zalasr.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zalasr 6 | long_name: Atomic, Load-Acquire Store-Release 7 | description: | 8 | load-acquire and store-release instructions. 9 | type: unprivileged 10 | versions: 11 | - version: "0.3.5" 12 | state: development 13 | ratification_date: null 14 | -------------------------------------------------------------------------------- /arch/ext/Zbkb.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zbkb 6 | long_name: Bit-manipulation for Cryptography 7 | description: This extension contains instructions essential for implementing common operations in cryptographic workloads. 8 | type: unprivileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: null 13 | -------------------------------------------------------------------------------- /arch/ext/Zicbop.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zicbop 6 | long_name: Cache block prefetch 7 | description: Cache block prefetch instruction 8 | type: unprivileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: 2022-05 13 | params: 14 | CACHE_BLOCK_SIZE: 15 | description: | 16 | The observable size of a cache block, in bytes 17 | also_defined_in: [Zicboz, Zicbom] 18 | schema: 19 | type: integer 20 | minimum: 1 21 | maximum: 0xFFFFFFFFFFFFFFFF 22 | -------------------------------------------------------------------------------- /arch/ext/Zicboz.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zicboz 6 | long_name: Cache block zero instruction 7 | description: Cache block zero instruction 8 | type: unprivileged 9 | versions: 10 | - version: "1.0.0" 11 | state: ratified 12 | ratification_date: 2022-05 13 | params: 14 | CACHE_BLOCK_SIZE: 15 | description: | 16 | The observable size of a cache block, in bytes 17 | also_defined_in: [Zicbom, Zicbop] 18 | schema: 19 | type: integer 20 | minimum: 1 21 | maximum: 0xFFFFFFFFFFFFFFFF 22 | -------------------------------------------------------------------------------- /arch/ext/Ziccamoa.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Ziccamoa 6 | long_name: Main memory atomicity requirement for RVA profiles 7 | type: unprivileged 8 | description: | 9 | Main memory regions with both the cacheability and coherence PMAs must support AMOArithmetic. 10 | 11 | [NOTE] 12 | This extension was ratified as part of the RVA20 profile. 13 | versions: 14 | - version: "1.0.0" 15 | state: ratified 16 | ratification_date: null 17 | -------------------------------------------------------------------------------- /arch/ext/Ziccrse.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Ziccrse 6 | long_name: Main memory reservability requirement for RVA profiles 7 | type: unprivileged 8 | description: | 9 | Main memory regions with both the cacheability and coherence PMAs must support RsrvEventual. 10 | 11 | [NOTE] 12 | This extension was ratified as part of the RVA20 profile. 13 | versions: 14 | - version: "1.0.0" 15 | state: ratified 16 | ratification_date: null 17 | -------------------------------------------------------------------------------- /arch/ext/Zicsr.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zicsr 6 | long_name: Control and status registers 7 | description: Control and status registers 8 | type: unprivileged 9 | versions: 10 | - version: "2.0.0" 11 | state: ratified 12 | ratification_date: null 13 | -------------------------------------------------------------------------------- /arch/ext/Zihpm.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zihpm 6 | long_name: Programmable hardware performance counters 7 | description: Programmable hardware performance counters 8 | type: unprivileged 9 | versions: 10 | - version: "2.0.0" 11 | state: ratified 12 | ratification_date: null 13 | requires: 14 | name: Smhpm 15 | -------------------------------------------------------------------------------- /arch/ext/Zk.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zk 6 | long_name: Standard Cryptography Extensions 7 | description: | 8 | This extension is shorthand for the following set of other extensions: 9 | 10 | * `Zkn` 11 | * `Zkr` 12 | * `Zkt` 13 | 14 | type: unprivileged 15 | versions: 16 | - version: "1.0.0" 17 | state: ratified 18 | ratification_date: null 19 | implies: 20 | - name: "Zkn" 21 | version: "1.0.0" 22 | - name: "Zkr" 23 | version: "1.0.0" 24 | - name: "Zkt" 25 | version: "1.0.0" 26 | -------------------------------------------------------------------------------- /arch/ext/Zknd.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zknd 6 | long_name: "NIST Suite: AES Decryption" 7 | description: | 8 | Instructions for accelerating the decryption and key-schedule functions of the AES block cipher. 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | -------------------------------------------------------------------------------- /arch/ext/Zkne.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zkne 6 | long_name: "NIST Suite: AES Encryption" 7 | description: | 8 | Instructions for accelerating the encryption and key-schedule functions of the AES block cipher. 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | -------------------------------------------------------------------------------- /arch/ext/Zknh.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zknh 6 | long_name: "NIST Suite: Hash Function Instructions" 7 | description: | 8 | Instructions for accelerating the SHA2 family of cryptographic hash functions. 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | -------------------------------------------------------------------------------- /arch/ext/Zkr.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zkr 6 | long_name: Entropy Source 7 | description: | 8 | Defines the `seed` CSR. 9 | This CSR provides up to 16 physical entropy bits that can be used to seed cryptographic random bit generators. 10 | type: unprivileged 11 | versions: 12 | - version: "1.0.0" 13 | state: ratified 14 | ratification_date: null 15 | -------------------------------------------------------------------------------- /arch/ext/Zksed.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zksed 6 | long_name: "ShangMi Suite: SM4 Block Cipher Instructions" 7 | description: | 8 | Instructions for accelerating the SM4 Block Cipher. Note that unlike AES, this cipher uses the 9 | same core operation for encryption and decryption, hence there is only one extension for it. 10 | type: unprivileged 11 | versions: 12 | - version: "1.0.0" 13 | state: ratified 14 | ratification_date: null 15 | -------------------------------------------------------------------------------- /arch/ext/Zksh.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zksh 6 | long_name: "ShangMi Suite: SM3 Hash Function Instructions" 7 | description: | 8 | Instructions for accelerating the SM3 hash function. 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | -------------------------------------------------------------------------------- /arch/ext/Zvbb.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvbb 6 | long_name: Vector Basic Bit-manipulation 7 | description: | 8 | Vector basic bit-manipulation instructions. 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | implies: 15 | name: Zvkb 16 | version: "1.0.0" 17 | -------------------------------------------------------------------------------- /arch/ext/Zvbc.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvbc 6 | long_name: Vector Carryless Multiplication 7 | description: | 8 | General purpose carryless multiplication instructions which are commonly used in cryptography and 9 | hashing (e.g., Elliptic curve cryptography, GHASH, CRC). 10 | 11 | These instructions are only defined for SEW=64. 12 | type: unprivileged 13 | versions: 14 | - version: "1.0.0" 15 | state: ratified 16 | ratification_date: null 17 | -------------------------------------------------------------------------------- /arch/ext/Zve32f.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zve32f 6 | long_name: Vector Extension for Minimal Single-Precision Embedded Floating-Point 7 | description: | 8 | TBD - See GitHub issue 616 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | requires: F 15 | -------------------------------------------------------------------------------- /arch/ext/Zvfbfwma.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvfbfwma 6 | long_name: Vector BF16 widening mul-add 7 | description: | 8 | This extension provides a vector widening BF16 mul-add instruction that accumulates into FP32. 9 | 10 | This extension depends upon the `Zvfbfmin` extension and the `Zfbfmin` extension. 11 | type: unprivileged 12 | versions: 13 | - version: "1.0.0" 14 | state: ratified 15 | ratification_date: null 16 | requires: 17 | allOf: 18 | - Zvfbfmin 19 | - Zfbfmin 20 | -------------------------------------------------------------------------------- /arch/ext/Zvkb.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvkb 6 | long_name: Vector Cryptography Bit-manipulation 7 | description: | 8 | Vector bit-manipulation instructions that are essential for implementing common cryptographic workloads securely & efficiently. 9 | type: unprivileged 10 | versions: 11 | - version: "1.0.0" 12 | state: ratified 13 | ratification_date: null 14 | -------------------------------------------------------------------------------- /arch/ext/Zvknc.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvknc 6 | long_name: NIST Algorithm Suite with carryless multiply 7 | description: | 8 | This extension is shorthand for the following set of other extensions: 9 | 10 | * `Zvkn` 11 | * `Zvbc` 12 | 13 | type: unprivileged 14 | versions: 15 | - version: "1.0.0" 16 | state: ratified 17 | ratification_date: null 18 | implies: 19 | - name: Zvkn 20 | version: "1.0.0" 21 | - name: Zvbc 22 | version: "1.0.0" 23 | -------------------------------------------------------------------------------- /arch/ext/Zvkng.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvkng 6 | long_name: NIST Algorithm Suite with GCM 7 | description: | 8 | This extension is shorthand for the following set of other extensions: 9 | 10 | * `Zvkn` 11 | * `Zvkg` 12 | 13 | type: unprivileged 14 | versions: 15 | - version: "1.0.0" 16 | state: ratified 17 | ratification_date: null 18 | implies: 19 | - name: Zvkn 20 | version: "1.0.0" 21 | - name: Zvkg 22 | version: "1.0.0" 23 | -------------------------------------------------------------------------------- /arch/ext/Zvknha.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvknha 6 | long_name: "NIST Suite: Vector SHA-2 Secure Hash (SHA-256)" 7 | description: | 8 | Instructions for accelerating 256-bit SHA-2 as defined in FIPS PUB 180-4 Secure Hash Standard (SHS) 9 | 10 | type: unprivileged 11 | versions: 12 | - version: "1.0.0" 13 | state: ratified 14 | ratification_date: null 15 | -------------------------------------------------------------------------------- /arch/ext/Zvknhb.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvknhb 6 | long_name: "NIST Suite: Vector SHA-2 Secure Hash (SHA-256 + SHA-512)" 7 | description: | 8 | Instructions for accelerating 256-bit/512-bit SHA-2 as defined in FIPS PUB 180-4 Secure Hash Standard (SHS) 9 | 10 | type: unprivileged 11 | versions: 12 | - version: "1.0.0" 13 | state: ratified 14 | ratification_date: null 15 | implies: 16 | name: Zvknha 17 | version: "1.0.0" 18 | -------------------------------------------------------------------------------- /arch/ext/Zvksc.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvksc 6 | long_name: ShangMi Algorithm Suite with carryless multiplication 7 | description: | 8 | This extension is shorthand for the following set of other extensions: 9 | 10 | * `Zvks` 11 | * `Zvbc` 12 | 13 | type: unprivileged 14 | versions: 15 | - version: "1.0.0" 16 | state: ratified 17 | ratification_date: null 18 | implies: 19 | - name: Zvks 20 | version: "1.0.0" 21 | - name: Zvbc 22 | version: "1.0.0" 23 | -------------------------------------------------------------------------------- /arch/ext/Zvksg.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvksg 6 | long_name: ShangMi Algorithm Suite with GCM 7 | description: | 8 | This extension is shorthand for the following set of other extensions: 9 | 10 | * `Zvks` 11 | * `Zvkg` 12 | 13 | type: unprivileged 14 | versions: 15 | - version: "1.0.0" 16 | state: ratified 17 | ratification_date: null 18 | implies: 19 | - name: Zvks 20 | version: "1.0.0" 21 | - name: Zvkg 22 | version: "1.0.0" 23 | -------------------------------------------------------------------------------- /arch/ext/Zvksh.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/ext_schema.json 2 | 3 | $schema: "ext_schema.json#" 4 | kind: extension 5 | name: Zvksh 6 | long_name: "ShangMi Suite: SM3 Secure Hash" 7 | description: | 8 | Instructions for accelerating functions of the SM3 Hash Function. 9 | 10 | All of these instructions work on 256-bit element groups comprised of eight 32-bit elements. 11 | 12 | To help avoid side-channel timing attacks, these instructions shall be implemented with data-independent timing. 13 | type: unprivileged 14 | versions: 15 | - version: "1.0.0" 16 | state: ratified 17 | ratification_date: null 18 | -------------------------------------------------------------------------------- /arch/inst/C/c.nop.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: c.nop 6 | long_name: Non-operation 7 | description: | 8 | C.NOP expands into `addi x0, x0, 0`. 9 | definedBy: 10 | anyOf: 11 | - C 12 | - Zca 13 | assembly: "" 14 | encoding: 15 | match: "0000000000000001" 16 | access: 17 | s: always 18 | u: always 19 | vs: always 20 | vu: always 21 | operation(): | 22 | if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { 23 | raise(ExceptionCode::IllegalInstruction, mode(), $encoding); 24 | } 25 | -------------------------------------------------------------------------------- /arch/inst/D/fclass.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fclass.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1 11 | encoding: 12 | match: 111000100000-----001-----1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.d.l.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.d.l 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 110100100010-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | base: 64 27 | operation(): | 28 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.d.s.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.d.s 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 010000100000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.d.w.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.d.w 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 110100100000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.d.wu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.d.wu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 110100100001-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.l.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.l.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 110000100010-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | base: 64 27 | operation(): | 28 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.s.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.s.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 010000000001-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.w.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.w.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 110000100000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fcvt.wu.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.wu.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 110000100001-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fcvtmod.w.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvtmod.w.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | allOf: [D, Zfa] 11 | assembly: xd, xs1 12 | encoding: 13 | match: 110000101000-----001-----1010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: false 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/D/feq.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: feq.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 1010001----------010-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fld.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fld 6 | long_name: Load Double-precision Floating-Point 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: fd, xs1, imm 11 | encoding: 12 | match: -----------------011-----0000111 13 | variables: 14 | - name: imm 15 | location: 31-20 16 | - name: xs1 17 | location: 19-15 18 | - name: fd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fle.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fle.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 1010001----------000-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fli.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fli.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | allOf: [D, Zfa] 11 | assembly: xd, xs1 12 | encoding: 13 | match: 111100100001-----000-----1010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: false 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/D/flt.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: flt.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 1010001----------001-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fmax.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fmax.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 0010101----------001-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fmin.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fmin.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 0010101----------000-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fmv.d.x.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fmv.d.x 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1 11 | encoding: 12 | match: 111100100000-----000-----1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | base: 64 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/D/fmv.x.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fmv.x.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1 11 | encoding: 12 | match: 111000100000-----000-----1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | base: 64 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/D/fmvh.x.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fmvh.x.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | allOf: [D, Zfa] 11 | assembly: xd, xs1 12 | encoding: 13 | match: 111000100001-----000-----1010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: false 25 | base: 32 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fsd.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsd 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: fs2, imm(xs1) 11 | encoding: 12 | match: -----------------011-----0100111 13 | variables: 14 | - name: imm 15 | location: 31-25|11-7 16 | - name: fs2 17 | location: 24-20 18 | - name: xs1 19 | location: 19-15 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fsgnj.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsgnj.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 0010001----------000-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fsgnjn.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsgnjn.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 0010001----------001-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fsgnjx.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsgnjx.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 0010001----------010-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/D/fsqrt.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsqrt.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: D 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 010110100000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/H/hfence.gvma.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hfence.gvma 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xs1, xs2 11 | encoding: 12 | match: 0110001----------000000001110011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hfence.vvma.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hfence.vvma 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xs1, xs2 11 | encoding: 12 | match: 0010001----------000000001110011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hlv.b.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlv.b 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011000000000-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hlv.bu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlv.bu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011000000001-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hlv.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlv.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011011000000-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | base: 64 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/H/hlv.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlv.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011001000000-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hlv.hu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlv.hu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011001000001-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hlv.w.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlv.w 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011010000000-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hlv.wu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlv.wu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011010000001-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | base: 64 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/H/hlvx.hu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlvx.hu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011001000011-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hlvx.wu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hlvx.wu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xd, xs1 11 | encoding: 12 | match: 011010000011-----100-----1110011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hsv.b.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hsv.b 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xs1, xs2 11 | encoding: 12 | match: 0110001----------100000001110011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hsv.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hsv.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xs1, xs2 11 | encoding: 12 | match: 0110111----------100000001110011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | base: 64 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/H/hsv.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hsv.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xs1, xs2 11 | encoding: 12 | match: 0110011----------100000001110011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/H/hsv.w.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: hsv.w 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: H 10 | assembly: xs1, xs2 11 | encoding: 12 | match: 0110101----------100000001110011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Q/fclass.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fclass.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, qs1 11 | encoding: 12 | match: 111001100000-----001-----1010011 13 | variables: 14 | - name: qs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.d.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.d.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, qs1, rm 11 | encoding: 12 | match: 010000100011-------------1010011 13 | variables: 14 | - name: qs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.q.d.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.q.d 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: dd, fs1, rm 11 | encoding: 12 | match: 010001100001-------------1010011 13 | variables: 14 | - name: fs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: dd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.q.s.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.q.s 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: qd, fs1, rm 11 | encoding: 12 | match: 010001100000-------------1010011 13 | variables: 14 | - name: fs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: qd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.q.w.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.q.w 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: fd, xs1, rm 11 | encoding: 12 | match: 110101100000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: fd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.q.wu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.q.wu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: qd, xs1, rm 11 | encoding: 12 | match: 110101100001-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: qd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.s.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.s.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: fd, qs1, rm 11 | encoding: 12 | match: 010000000011-------------1010011 13 | variables: 14 | - name: qs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: fd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.w.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.w.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, qs1, rm 11 | encoding: 12 | match: 110001100000-------------1010011 13 | variables: 14 | - name: qs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fcvt.wu.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fcvt.wu.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, xs1, rm 11 | encoding: 12 | match: 110001100001-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/feq.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: feq.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, qs1, qs2 11 | encoding: 12 | match: 1010011----------010-----1010011 13 | variables: 14 | - name: qs2 15 | location: 24-20 16 | - name: qs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fle.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fle.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, qs1, qs2 11 | encoding: 12 | match: 1010011----------000-----1010011 13 | variables: 14 | - name: qs2 15 | location: 24-20 16 | - name: qs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fli.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fli.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | allOf: [Q, Zfa] 11 | assembly: fd, qs1 12 | encoding: 13 | match: 111101100001-----000-----1010011 14 | variables: 15 | - name: qs1 16 | location: 19-15 17 | - name: fd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: false 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Q/flq.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: flq 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: qd, xs1, imm 11 | encoding: 12 | match: -----------------100-----0000111 13 | variables: 14 | - name: imm 15 | location: 31-20 16 | - name: xs1 17 | location: 19-15 18 | - name: qd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/flt.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: flt.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, qs1, qs2 11 | encoding: 12 | match: 1010011----------001-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fmax.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fmax.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: qd, qs1, qs2 11 | encoding: 12 | match: 0010111----------001-----1010011 13 | variables: 14 | - name: qs2 15 | location: 24-20 16 | - name: qs1 17 | location: 19-15 18 | - name: qd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fmin.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fmin.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 0010111----------000-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fmvh.x.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fmvh.x.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | allOf: [Q, Zfa] 11 | base: 64 12 | assembly: xd, qs1 13 | encoding: 14 | match: 111001100001-----000-----1010011 15 | variables: 16 | - name: qs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fsq.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fsq 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: qs2, imm(xs1) 11 | encoding: 12 | match: -----------------100-----0100111 13 | variables: 14 | - name: imm 15 | location: 31-25|11-7 16 | - name: qs2 17 | location: 24-20 18 | - name: xs1 19 | location: 19-15 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Q/fsqrt.q.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: fsqrt.q 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Q 10 | assembly: qd, qs1, rm 11 | encoding: 12 | match: 010111100000-------------1010011 13 | variables: 14 | - name: qs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: qd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Sdext/dret.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: dret 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Sdext 10 | assembly: dret 11 | encoding: 12 | match: "01111011001000000000000001110011" 13 | variables: [] 14 | access: 15 | s: always 16 | u: always 17 | vs: always 18 | vu: always 19 | data_independent_timing: false 20 | operation(): | 21 | -------------------------------------------------------------------------------- /arch/inst/Smdbltrp/sctrclr.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: sctrclr 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Smdbltrp 10 | assembly: sctrclr 11 | encoding: 12 | match: "00010000010000000000000001110011" 13 | variables: [] 14 | access: 15 | s: always 16 | u: always 17 | vs: always 18 | vu: always 19 | data_independent_timing: false 20 | operation(): | 21 | -------------------------------------------------------------------------------- /arch/inst/V/vcpop.m.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vcpop.m 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, vs2, vm 11 | encoding: 12 | match: 010000------10000010-----1010111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: vs2 17 | location: 24-20 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vl1re16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl1re16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 000000101000-----101-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl1re32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl1re32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 000000101000-----110-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl1re64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl1re64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 000000101000-----111-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl1re8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl1re8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 000000101000-----000-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl2re16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl2re16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 001000101000-----101-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl2re32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl2re32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 001000101000-----110-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl2re64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl2re64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 001000101000-----111-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl2re8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl2re8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 001000101000-----000-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl4re16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl4re16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 011000101000-----101-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl4re32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl4re32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 011000101000-----110-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl4re64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl4re64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 011000101000-----111-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl4re8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl4re8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 011000101000-----000-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl8re16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl8re16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 111000101000-----101-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl8re32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl8re32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 111000101000-----110-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl8re64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl8re64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 111000101000-----111-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vl8re8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vl8re8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1) 11 | encoding: 12 | match: 111000101000-----000-----0000111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-00000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e16ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e16ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-10000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-00000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e32ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e32ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-10000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-00000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e64ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e64ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-10000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-00000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg2e8ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg2e8ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 001000-10000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-00000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e16ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e16ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-10000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-00000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e32ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e32ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-10000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-00000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e64ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e64ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-10000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-00000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg3e8ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg3e8ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 010000-10000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-00000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e16ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e16ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-10000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-00000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e32ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e32ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-10000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-00000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e64ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e64ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-10000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-00000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg4e8ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg4e8ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 011000-10000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg5e16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg5e16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 100000-00000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg5e16ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg5e16ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 100000-10000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg5e32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg5e32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 100000-00000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg5e32ff.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg5e32ff.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 100000-10000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg5e64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg5e64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 100000-00000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg5e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg5e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 100000-00000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg6e16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg6e16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 101000-00000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg6e32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg6e32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 101000-00000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg6e64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg6e64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 101000-00000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg6e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg6e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 101000-00000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg7e16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg7e16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 110000-00000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg7e32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg7e32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 110000-00000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg7e64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg7e64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 110000-00000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg7e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg7e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 110000-00000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg8e16.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg8e16.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 111000-00000-----101-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg8e32.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg8e32.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 111000-00000-----110-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg8e64.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg8e64.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 111000-00000-----111-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vlseg8e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vlseg8e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, (xs1), vm 11 | encoding: 12 | match: 111000-00000-----000-----0000111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vmandn.mm.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vmandn.mm 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, vs2, vs1 11 | encoding: 12 | match: 0110001----------010-----1010111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vmorn.mm.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vmorn.mm 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vd, vs2, vs1 11 | encoding: 12 | match: 0111001----------010-----1010111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vs1r.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vs1r.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, xs1 11 | encoding: 12 | match: 000000101000-----000-----0100111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vs3 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vs2r.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vs2r.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, xs1 11 | encoding: 12 | match: 001000101000-----000-----0100111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vs3 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vs4r.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vs4r.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, xs1 11 | encoding: 12 | match: 011000101000-----000-----0100111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vs3 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vs8r.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vs8r.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, xs1 11 | encoding: 12 | match: 111000101000-----000-----0100111 13 | variables: 14 | - name: xs1 15 | location: 19-15 16 | - name: vs3 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/V/vsetvl.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vsetvl 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 1000000----------111-----1010111 13 | variables: 14 | - name: xs2 15 | location: 24-20 16 | - name: xs1 17 | location: 19-15 18 | - name: xd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vsseg2e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vsseg2e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, (xs1), vm 11 | encoding: 12 | match: 001000-00000-----000-----0100111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vs3 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vsseg3e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vsseg3e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, (xs1), vm 11 | encoding: 12 | match: 010000-00000-----000-----0100111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vs3 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vsseg4e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vsseg4e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, (xs1), vm 11 | encoding: 12 | match: 011000-00000-----000-----0100111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vs3 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vsseg5e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vsseg5e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, (xs1), vm 11 | encoding: 12 | match: 100000-00000-----000-----0100111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vs3 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vsseg6e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vsseg6e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, (xs1), vm 11 | encoding: 12 | match: 101000-00000-----000-----0100111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vs3 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vsseg7e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vsseg7e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, (xs1), vm 11 | encoding: 12 | match: 110000-00000-----000-----0100111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vs3 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/V/vsseg8e8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: vsseg8e8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: V 10 | assembly: vs3, (xs1), vm 11 | encoding: 12 | match: 111000-00000-----000-----0100111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: xs1 17 | location: 19-15 18 | - name: vs3 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zbkb/packh.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: packh 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zbkb 10 | assembly: xd, xs1, xs2 11 | encoding: 12 | match: 0000100----------111-----0110011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fclass.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fclass.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1 11 | encoding: 12 | match: 111001000000-----001-----1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: false 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fcvt.h.w.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.h.w 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: xd, xs1, frm 11 | encoding: 12 | match: 110101000000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fcvt.h.wu.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.h.wu 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: xd, xs1, frm 11 | encoding: 12 | match: 110101000001-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fcvt.w.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.w.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, frm 11 | encoding: 12 | match: 110001000000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fcvt.wu.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fcvt.wu.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, frm 11 | encoding: 12 | match: 110001000001-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/feq.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: feq.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 1010010----------010-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fle.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fle.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 1010010----------000-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fli.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fli.h 6 | long_name: Floating-point Load Immediate Half-precision 7 | description: | 8 | No description available. 9 | definedBy: 10 | allOf: [Zfa, Zfh] 11 | assembly: fd, imm 12 | encoding: 13 | match: 111101000001-----000-----1010011 14 | variables: 15 | - name: imm 16 | location: 19-15 17 | - name: fd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: false 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zfh/flt.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: flt.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 1010010----------001-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fmax.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fmax.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 0010110----------001-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fmin.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fmin.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 0010110----------000-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fsgnj.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsgnj.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 0010010----------000-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fsgnjn.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsgnjn.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 0010010----------001-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fsgnjx.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsgnjx.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, fs2 11 | encoding: 12 | match: 0010010----------010-----1010011 13 | variables: 14 | - name: rs2 15 | location: 24-20 16 | - name: rs1 17 | location: 19-15 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zfh/fsqrt.h.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: fsqrt.h 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zfh 10 | assembly: fd, fs1, frm 11 | encoding: 12 | match: 010111000000-------------1010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rm 17 | location: 14-12 18 | - name: rd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: false 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zicfilp/lpad.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: lpad 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zicfilp 10 | assembly: imm 11 | encoding: 12 | match: --------------------000000010111 13 | variables: 14 | - name: imm 15 | location: 31-12 16 | left_shift: 12 17 | access: 18 | s: always 19 | u: always 20 | vs: always 21 | vu: always 22 | data_independent_timing: false 23 | operation(): | 24 | -------------------------------------------------------------------------------- /arch/inst/Zicfiss/sspopchk.x1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: sspopchk.x1 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zicfiss 10 | assembly: sspopchk_x1 11 | encoding: 12 | match: "11001101110000001100000001110011" 13 | variables: [] 14 | access: 15 | s: always 16 | u: always 17 | vs: always 18 | vu: always 19 | data_independent_timing: false 20 | operation(): | 21 | -------------------------------------------------------------------------------- /arch/inst/Zicfiss/sspopchk.x5.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: sspopchk.x5 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zicfiss 10 | assembly: sspopchk_x5 11 | encoding: 12 | match: "11001101110000101100000001110011" 13 | variables: [] 14 | access: 15 | s: always 16 | u: always 17 | vs: always 18 | vu: always 19 | data_independent_timing: false 20 | operation(): | 21 | -------------------------------------------------------------------------------- /arch/inst/Zicfiss/sspush.x1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: sspush.x1 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zicfiss 10 | assembly: sspush_x1 11 | encoding: 12 | match: "11001110000100000100000001110011" 13 | variables: [] 14 | access: 15 | s: always 16 | u: always 17 | vs: always 18 | vu: always 19 | data_independent_timing: false 20 | operation(): | 21 | -------------------------------------------------------------------------------- /arch/inst/Zicfiss/sspush.x5.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: sspush.x5 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zicfiss 10 | assembly: sspush_x5 11 | encoding: 12 | match: "11001110010100000100000001110011" 13 | variables: [] 14 | access: 15 | s: always 16 | u: always 17 | vs: always 18 | vu: always 19 | data_independent_timing: false 20 | operation(): | 21 | -------------------------------------------------------------------------------- /arch/inst/Zicfiss/ssrdp.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: inst_schema.json# 4 | kind: instruction 5 | name: ssrdp 6 | long_name: Read ssp into a Register 7 | description: | 8 | No description available. 9 | definedBy: Zicfiss 10 | assembly: xd 11 | encoding: 12 | match: 11001101110000000100-----1110011 13 | variables: 14 | - name: xd 15 | location: 11-7 16 | not: 0 17 | access: 18 | s: always 19 | u: always 20 | vs: always 21 | vu: always 22 | data_independent_timing: false 23 | operation(): | 24 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha256sig0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha256sig0 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | assembly: xd, xs1 11 | encoding: 12 | match: 000100000010-----001-----0010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha256sig1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha256sig1 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | assembly: xd, xs1 11 | encoding: 12 | match: 000100000011-----001-----0010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha256sum0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha256sum0 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | assembly: xd, xs1 11 | encoding: 12 | match: 000100000000-----001-----0010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha256sum1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha256sum1 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | assembly: xd, xs1 11 | encoding: 12 | match: 000100000001-----001-----0010011 13 | variables: 14 | - name: rs1 15 | location: 19-15 16 | - name: rd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha512sig0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha512sig0 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | base: 64 11 | assembly: xd, xs1 12 | encoding: 13 | match: 000100000110-----001-----0010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: true 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha512sig1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha512sig1 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | base: 64 11 | assembly: xd, xs1 12 | encoding: 13 | match: 000100000111-----001-----0010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: true 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha512sum0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha512sum0 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | base: 64 11 | assembly: xd, xs1 12 | encoding: 13 | match: 000100000100-----001-----0010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: true 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zknh/sha512sum1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sha512sum1 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zknh 10 | base: 64 11 | assembly: xd, xs1 12 | encoding: 13 | match: 000100000101-----001-----0010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: true 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zks/sm3p0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sm3p0 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | anyOf: [Zks, Zksh] 11 | assembly: xd, xs1 12 | encoding: 13 | match: 000100001000-----001-----0010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: false 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zks/sm3p1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: sm3p1 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | anyOf: [Zks, Zksh] 11 | assembly: xd, xs1 12 | encoding: 13 | match: 000100001001-----001-----0010011 14 | variables: 15 | - name: rs1 16 | location: 19-15 17 | - name: rd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: false 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zvbb/vbrev.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vbrev.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvbb 10 | assembly: vd, vs2, vm 11 | encoding: 12 | match: 010010------01010010-----1010111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: vs2 17 | location: 24-20 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zvbb/vbrev8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vbrev8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvbb 10 | assembly: vd, vs2, vm 11 | encoding: 12 | match: 010010------01000010-----1010111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: vs2 17 | location: 24-20 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zvbb/vclz.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vclz.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvbb 10 | assembly: vd, vs2, vm 11 | encoding: 12 | match: 010010------01100010-----1010111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: vs2 17 | location: 24-20 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zvbb/vcpop.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vcpop.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvbb 10 | assembly: vd, vs2, vm 11 | encoding: 12 | match: 010010------01110010-----1010111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: vs2 17 | location: 24-20 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zvbb/vctz.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vctz.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvbb 10 | assembly: vd, vs2, vm 11 | encoding: 12 | match: 010010------01101010-----1010111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: vs2 17 | location: 24-20 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zvbb/vrev8.v.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vrev8.v 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvbb 10 | assembly: vd, vs2, vm 11 | encoding: 12 | match: 010010------01001010-----1010111 13 | variables: 14 | - name: vm 15 | location: 25-25 16 | - name: vs2 17 | location: 24-20 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zvkg/vghsh.vv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vghsh.vv 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkg 10 | assembly: vd, vs2, vs1 11 | encoding: 12 | match: 1011001----------010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vs1 17 | location: 19-15 18 | - name: vd 19 | location: 11-7 20 | access: 21 | s: always 22 | u: always 23 | vs: always 24 | vu: always 25 | data_independent_timing: true 26 | operation(): | 27 | -------------------------------------------------------------------------------- /arch/inst/Zvkg/vgmul.vv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vgmul.vv 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkg 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010001-----10001010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesdf.vs.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesdf.vs 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010011-----00001010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesdf.vv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesdf.vv 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010001-----00001010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesdm.vs.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesdm.vs 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010011-----00000010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesdm.vv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesdm.vv 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010001-----00000010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesef.vs.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesef.vs 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010011-----00011010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesef.vv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesef.vv 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010001-----00011010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesem.vs.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesem.vs 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010011-----00010010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesem.vv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesem.vv 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010001-----00010010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvkned/vaesz.vs.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vaesz.vs 6 | long_name: Vector AES round zero 7 | description: | 8 | No description available. 9 | definedBy: Zvkned 10 | assembly: vd, vs2 11 | encoding: 12 | match: 1010011-----00111010-----1110111 13 | variables: 14 | - name: vs2 15 | location: 24-20 16 | - name: vd 17 | location: 11-7 18 | access: 19 | s: always 20 | u: always 21 | vs: always 22 | vu: always 23 | data_independent_timing: true 24 | operation(): | 25 | -------------------------------------------------------------------------------- /arch/inst/Zvks/vsm4r.vs.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vsm4r.vs 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | anyOf: [Zvks, Zvksed] 11 | assembly: vd, vs2 12 | encoding: 13 | match: 1010011-----10000010-----1110111 14 | variables: 15 | - name: vs2 16 | location: 24-20 17 | - name: vd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: true 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst/Zvks/vsm4r.vv.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_schema.json 2 | 3 | $schema: "inst_schema.json#" 4 | kind: instruction 5 | name: vsm4r.vv 6 | long_name: No synopsis available 7 | description: | 8 | No description available. 9 | definedBy: 10 | anyOf: [Zvks, Zvksed] 11 | assembly: vd, vs2 12 | encoding: 13 | match: 1010001-----10000010-----1110111 14 | variables: 15 | - name: vs2 16 | location: 24-20 17 | - name: vd 18 | location: 11-7 19 | access: 20 | s: always 21 | u: always 22 | vs: always 23 | vu: always 24 | data_independent_timing: true 25 | operation(): | 26 | -------------------------------------------------------------------------------- /arch/inst_opcode/OP-32.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/inst_opcode_schema.json# 2 | 3 | $schema: inst_opcode_schema.json# 4 | kind: instruction_opcode 5 | name: OP-32 6 | 7 | data: 8 | display_name: OP-32 9 | value: 0b0111011 10 | -------------------------------------------------------------------------------- /arch/inst_subtype/R/R-x.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../schemas/inst_subtype_schema.json 2 | 3 | $schema: inst_subtype_schema.json# 4 | kind: instruction_subtype 5 | name: R-x 6 | 7 | data: 8 | type: { "$ref": "inst_type/R.yaml#" } 9 | subtype: { "$ref": "inst_subtype/R/R-x.yaml#" } 10 | opcodes: 11 | $inherits: inst_type/R.yaml#/opcodes 12 | variables: 13 | xs2: 14 | $inherits: inst_var/xs2.yaml#/data 15 | xs1: 16 | $inherits: inst_var/xs1.yaml#/data 17 | xd: 18 | $inherits: inst_var/xd.yaml#/data 19 | -------------------------------------------------------------------------------- /arch/inst_type/R.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/inst_type_schema.json# 2 | 3 | $schema: inst_type_schema.json# 4 | kind: instruction_type 5 | name: R 6 | description: R-type instructions usually have two source registers and one destination registers 7 | length: 32 8 | opcodes: 9 | funct7: 10 | location: 31-25 11 | funct3: 12 | location: 14-12 13 | opcode: 14 | location: 6-0 15 | variables: 16 | rs2: 17 | location: 24-20 18 | rs1: 19 | location: 19-15 20 | rd: 21 | location: 11-7 22 | -------------------------------------------------------------------------------- /arch/inst_var/xd.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/inst_var_schema.json# 2 | 3 | $schema: inst_var_schema.json# 4 | kind: instruction_variable 5 | name: xd 6 | 7 | data: 8 | $inherits: inst_type/R.yaml#/variables/rd 9 | type: { "$ref": "inst_var_type/x_dst_reg.yaml#" } 10 | -------------------------------------------------------------------------------- /arch/inst_var/xs1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/inst_var_schema.json# 2 | 3 | $schema: inst_var_schema.json# 4 | kind: instruction_variable 5 | name: xs1 6 | 7 | data: 8 | $inherits: inst_type/R.yaml#/variables/rs1 9 | type: { "$ref": "inst_var_type/x_src_reg.yaml#" } 10 | -------------------------------------------------------------------------------- /arch/inst_var/xs2.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/inst_var_schema.json# 2 | 3 | $schema: inst_var_schema.json# 4 | kind: instruction_variable 5 | name: xs2 6 | 7 | data: 8 | $inherits: inst_type/R.yaml#/variables/rs2 9 | type: { "$ref": "inst_var_type/x_src_reg.yaml#" } 10 | -------------------------------------------------------------------------------- /arch/inst_var_type/x_dst_reg.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/inst_var_type_schema.json# 2 | 3 | $schema: inst_var_type_schema.json# 4 | kind: instruction_variable_type 5 | name: x_dst_reg 6 | type: register_reference 7 | register_file: X 8 | access: W 9 | -------------------------------------------------------------------------------- /arch/inst_var_type/x_src_reg.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/inst_var_type_schema.json# 2 | 3 | $schema: inst_var_type_schema.json# 4 | kind: instruction_variable_type 5 | name: x_src_reg 6 | type: register_reference 7 | register_file: X 8 | access: R 9 | -------------------------------------------------------------------------------- /arch/manual/isa.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/manual_schema.json 2 | 3 | $schema: manual_schema.json# 4 | kind: manual 5 | name: isa 6 | long_name: Entire RISC-V ISA 7 | marketing_name: RISC-V ISA Manual 8 | url: https://github.com/riscv/riscv-isa-manual 9 | license: 10 | id: CC-BY-4.0 11 | name: Creative Commons Attribution 4.0 International Public License 12 | url: https://creativecommons.org/licenses/by/4.0/legalcode 13 | # versions are found in by search all subdirectories for "contents.yaml" 14 | -------------------------------------------------------------------------------- /arch/proc_cert_class/AC.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/proc_cert_class_schema.json 2 | 3 | $schema: proc_cert_class_schema.json# 4 | kind: processor certificate class 5 | processor_kind: Apps Processor 6 | name: AC 7 | long_name: Apps Processor Certificate Class 8 | 9 | introduction: | 10 | The AC (Apps processor Class) targets processors that support virtual memory and run rich operating systems such as Linux and Android. 11 | -------------------------------------------------------------------------------- /arch/proc_cert_class/MC.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/proc_cert_class_schema.json 2 | 3 | $schema: proc_cert_class_schema.json# 4 | kind: processor certificate class 5 | processor_kind: Microcontroller 6 | name: MC 7 | long_name: Microcontroller Processor Certificate Class 8 | 9 | introduction: | 10 | The MC (Microcontroller Class) targets processors running low-level software on an RTOS or bare-metal. 11 | -------------------------------------------------------------------------------- /arch/proc_cert_class/MockProcessor.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/proc_cert_class_schema.json 2 | 3 | $schema: proc_cert_class_schema.json# 4 | kind: processor certificate class 5 | processor_kind: Apps Processor 6 | name: MockProcessor 7 | long_name: Mock Processor Certificate Class Long Name 8 | 9 | introduction: | 10 | Here's the Mock Certificate Class introduction. 11 | -------------------------------------------------------------------------------- /arch/proc_cert_model/MC100-64.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/proc_cert_model_schema.json 2 | 3 | $schema: proc_cert_model_schema.json# 4 | kind: processor certificate model 5 | name: MC100-64 6 | long_name: Basic 64-bit Microcontroller Certificate 7 | class: 8 | $ref: proc_cert_class/MC.yaml# 9 | 10 | $inherits: "proc_cert_model/MC100-32.yaml#" 11 | 12 | # MXLEN used by rakefile 13 | base: 64 14 | 15 | extensions: 16 | Sm: 17 | param_constraints: 18 | MXLEN: 19 | schema: 20 | const: 64 21 | -------------------------------------------------------------------------------- /arch/proc_cert_model/MC200-64.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/proc_cert_model_schema.json 2 | 3 | $schema: proc_cert_model_schema.json# 4 | kind: processor certificate model 5 | name: MC200-64 6 | long_name: Intermediate 64-bit Microcontroller Certificate 7 | class: 8 | $ref: proc_cert_class/MC.yaml# 9 | 10 | $inherits: "proc_cert_model/MC200-32.yaml#" 11 | 12 | # MXLEN used by rakefile 13 | base: 64 14 | 15 | extensions: 16 | Sm: 17 | param_constraints: 18 | MXLEN: 19 | schema: 20 | const: 64 21 | -------------------------------------------------------------------------------- /arch/proc_cert_model/MC300-64.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../schemas/proc_cert_model_schema.json 2 | 3 | $schema: proc_cert_model_schema.json# 4 | kind: processor certificate model 5 | name: MC300-64 6 | long_name: Advanced 64-bit Microcontroller Certificate 7 | class: 8 | $ref: proc_cert_class/MC.yaml# 9 | 10 | $inherits: "proc_cert_model/MC300-32.yaml#" 11 | 12 | # MXLEN used by rakefile 13 | base: 64 14 | 15 | extensions: 16 | Sm: 17 | param_constraints: 18 | MXLEN: 19 | schema: 20 | const: 64 21 | -------------------------------------------------------------------------------- /arch/profile/MP-U-64.yaml: -------------------------------------------------------------------------------- 1 | $schema: profile_schema.json# 2 | kind: profile 3 | name: MP-U-64 4 | long_name: U-mode extensions for a Mock 64-bit Apps Processor profile 5 | marketing_name: MockProfile 64-bit Unpriv 6 | mode: Unpriv 7 | base: 64 8 | release: { $ref: profile_release/Mock.yaml# } 9 | extensions: 10 | A: 11 | presence: optional 12 | version: "= 2.1" 13 | I: 14 | presence: mandatory 15 | version: "~> 2.1" 16 | Svade: 17 | presence: mandatory 18 | note: Adding this to get coverage when extension "conflicts" with another (Svadu in this case). 19 | -------------------------------------------------------------------------------- /arch/profile/RVI20U64.yaml: -------------------------------------------------------------------------------- 1 | $schema: profile_schema.json# 2 | kind: profile 3 | name: RVI20U64 4 | long_name: U-mode extensions for version 20 of a 64-bit processor 5 | $inherits: "profile/RVI20U32.yaml#" 6 | base: 64 7 | marketing_name: RVI20U64 8 | -------------------------------------------------------------------------------- /arch_def.yardopts: -------------------------------------------------------------------------------- 1 | -o _site/ruby/arch_def --no-private --embed-mixins --readme 'lib/DB_MODEL.README.adoc' 'lib/arch_obj_models/*.rb' lib/arch_def.rb 2 | -------------------------------------------------------------------------------- /arch_overlay/example/csr/marchid.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # Overrides the value of marchid.Architecture to 0xcafebabe 3 | fields: 4 | Architecture: 5 | description: Custom overlay description 6 | -------------------------------------------------------------------------------- /arch_overlay/example/csr/mcustom0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../schemas/csr_schema.json 2 | --- 3 | $schema: "csr_schema.json#" 4 | kind: csr 5 | name: mcustom0 6 | long_name: Custom CSR 0 7 | address: 0xfc0 8 | length: 64 9 | priv_mode: M 10 | definedBy: Xcustom 11 | description: An example custom CSR 12 | fields: {} 13 | -------------------------------------------------------------------------------- /arch_overlay/example/ext/Xcustom.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | $schema: "ext_schema.json#" 3 | kind: extension 4 | name: Xcustom 5 | long_name: A new custom extension 6 | type: unprivileged 7 | versions: 8 | - version: "0.1.0" 9 | ratification_date: null 10 | state: development 11 | description: | 12 | A new custom extension! 13 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mntvec.yaml: -------------------------------------------------------------------------------- 1 | $schema: "csr_schema.json#" 2 | kind: csr 3 | name: qc.mntvec 4 | long_name: Machine Non-Maskable Interrupt Vector Control 5 | address: 0x7c3 6 | base: 32 7 | priv_mode: M 8 | length: MXLEN 9 | description: Controls where NMI jump. 10 | definedBy: 11 | anyOf: 12 | - Xqci 13 | - Xqciint 14 | fields: 15 | BASE: 16 | location: 31-2 17 | description: | 18 | Bits [MXLEN-1:2] of the NMI vector physical address for any NMI taken in M-mode. 19 | type: RW-R 20 | sw_write(csr_value): | 21 | return csr_value.BASE; 22 | reset_value: 0 23 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mthreadptr.yaml: -------------------------------------------------------------------------------- 1 | $schema: csr_schema.json# 2 | kind: csr 3 | name: qc.mthreadptr 4 | long_name: Machine Thread Pointer Register 5 | address: 0x7c8 6 | base: 32 7 | priv_mode: M 8 | length: MXLEN 9 | description: | 10 | Thread pointer register for software use in RTOS. Bits are not interpreted by hardware. 11 | definedBy: 12 | anyOf: 13 | - name: Xqci 14 | version: ">=0.7" 15 | - name: Xqciint 16 | version: ">=0.4" 17 | fields: 18 | THREADPTR: 19 | location: 31-0 20 | description: Thread pointer value 21 | type: RW 22 | reset_value: 0 23 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpendaddr0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpendaddr0 5 | long_name: Watchpoint end address for region 0 6 | address: 0x7d4 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint end address for region 0 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint end address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpendaddr1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpendaddr1 5 | long_name: Watchpoint end address for region 1 6 | address: 0x7d5 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint end address for region 1 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint end address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpendaddr2.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpendaddr2 5 | long_name: Watchpoint end address for region 2 6 | address: 0x7d6 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint end address for region 2 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint end address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpendaddr3.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpendaddr3 5 | long_name: Watchpoint end address for region 3 6 | address: 0x7d7 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint end address for region 3 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint end address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpstartaddr0.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpstartaddr0 5 | long_name: Watchpoint start address for region 0 6 | address: 0x7d0 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint start address for region 0 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint start address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpstartaddr1.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpstartaddr1 5 | long_name: Watchpoint start address for region 1 6 | address: 0x7d1 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint start address for region 1 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint start address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpstartaddr2.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpstartaddr2 5 | long_name: Watchpoint start address for region 2 6 | address: 0x7d2 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint start address for region 2 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint start address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/csr/Xqci/qc.mwpstartaddr3.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../../../../../schemas/csr_schema.json 2 | 3 | kind: csr 4 | name: qc.mwpstartaddr3 5 | long_name: Watchpoint start address for region 3 6 | address: 0x7d3 7 | length: 32 8 | priv_mode: M 9 | base: 32 10 | definedBy: 11 | anyOf: 12 | - name: Xqci 13 | version: ">=0.7" 14 | - name: Xqciint 15 | version: ">=0.4" 16 | description: | 17 | Watchpoint start address for region 3 18 | fields: 19 | ADDR: 20 | type: RW 21 | reset_value: 0 22 | location: 31-0 23 | description: Watchpoint start address 24 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/inst/C/c.slli.yaml: -------------------------------------------------------------------------------- 1 | hints: 2 | - { $ref: inst/Xqci/qc.c.delay.yaml# } 3 | - { $ref: inst/Xqci/qc.c.ptrace.yaml# } 4 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/inst/C/c.srai.yaml: -------------------------------------------------------------------------------- 1 | hints: 2 | - { $ref: inst/Xqci/qc.c.syncr.yaml# } 3 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/inst/C/c.srli.yaml: -------------------------------------------------------------------------------- 1 | hints: 2 | - { $ref: inst/Xqci/qc.c.sync.yaml# } 3 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/inst/I/slti.yaml: -------------------------------------------------------------------------------- 1 | # add hints using slti 2 | 3 | hints: 4 | - { $ref: inst/Xqci/qc.pcoredump.yaml# } 5 | - { $ref: inst/Xqci/qc.psyscalli.yaml# } 6 | - { $ref: inst/Xqci/qc.pputci.yaml# } 7 | - { $ref: inst/Xqci/qc.ppregs.yaml# } 8 | - { $ref: inst/Xqci/qc.ppreg.yaml# } 9 | - { $ref: inst/Xqci/qc.pputc.yaml# } 10 | - { $ref: inst/Xqci/qc.pputs.yaml# } 11 | - { $ref: inst/Xqci/qc.psyscall.yaml# } 12 | - { $ref: inst/Xqci/qc.pexit.yaml# } 13 | -------------------------------------------------------------------------------- /arch_overlay/qc_iu/inst/I/sltiu.yaml: -------------------------------------------------------------------------------- 1 | hints: 2 | - { $ref: inst/Xqci/qc.sync.yaml# } 3 | - { $ref: inst/Xqci/qc.syncr.yaml# } 4 | - { $ref: inst/Xqci/qc.syncwf.yaml# } 5 | - { $ref: inst/Xqci/qc.syncwl.yaml# } 6 | -------------------------------------------------------------------------------- /backends/cfg_html_doc/tasks.rake: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "#{$lib}/cfg_arch" 4 | 5 | CFG_HTML_DOC_DIR = Pathname.new(__FILE__).dirname 6 | 7 | load "#{CFG_HTML_DOC_DIR}/adoc_gen.rake" 8 | load "#{CFG_HTML_DOC_DIR}/html_gen.rake" 9 | -------------------------------------------------------------------------------- /backends/common_templates/adoc/README.adoc: -------------------------------------------------------------------------------- 1 | This directory contains partial templates (e.g., a CSR description) to be used by document generators. 2 | -------------------------------------------------------------------------------- /backends/cpp_hart_gen/cpp/test/test_csr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/riscv-software-src/riscv-unified-db/7ee553d2fcfdc669405203ffbd74fdf3a9e6f3df/backends/cpp_hart_gen/cpp/test/test_csr.cpp -------------------------------------------------------------------------------- /backends/cpp_hart_gen/cpp/test/test_util.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | 6 | using namespace udb; 7 | 8 | TEST_CASE("concat", "[util]") { 9 | Bits<4> a{0x1}; 10 | Bits<4> b{0x2}; 11 | Bits<4> c{0x3}; 12 | REQUIRE(concat(a, b, c) == 0x123); 13 | } 14 | -------------------------------------------------------------------------------- /backends/cpp_hart_gen/renode/udb.resc: -------------------------------------------------------------------------------- 1 | using sysbus 2 | 3 | include @backends/cpp_hart_gen/renode/UdbCpu.cs 4 | mach create 5 | machine LoadPlatformDescription @backends/cpp_hart_gen/renode/udb.repl 6 | 7 | # $bin?=@https://dl.antmicro.com/projects/renode/kendryte-k210--vmlinux-s_2206416-2c1f2b2c2f2fc0c48a7b12a3f3c65809b81f452e 8 | $bin?=$ORIGIN/../../../ext/riscv-tests/isa/rv32ui-p-add 9 | 10 | macro reset 11 | """ 12 | sysbus LoadELF $bin 13 | """ 14 | 15 | runMacro $reset 16 | 17 | start 18 | -------------------------------------------------------------------------------- /backends/cpp_hart_gen/templates/db_data.cxx.erb: -------------------------------------------------------------------------------- 1 | #include "udb/db_data.hxx" 2 | 3 | std::map udb::DbData::SCHEMAS = { 4 | { "schema_defs.json", 5 | R"SCHEMA( 6 | <%= File.read("#{$root}/schemas/schema_defs.json") %> 7 | )SCHEMA" 8 | }, 9 | <%- Dir.glob("#{$root}/schemas/config*").map do |f| -%> 10 | { "<%= File.basename(f) %>", 11 | R"SCHEMA( 12 | <%= File.read(f) %> 13 | )SCHEMA" 14 | } 15 | <%- end.join(", ") -%> 16 | }; 17 | -------------------------------------------------------------------------------- /backends/cpp_hart_gen/templates/inst_impl.hxx.erb: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "udb/soc_model.hpp" 4 | 5 | <%- ilist = cfg_arch.possible_instructions -%> 6 | 7 | <%- ilist.each do |inst| -%> 8 | template 9 | void udb::<%= name_of(:inst, cfg_arch, inst.name) %>::operator delete(void* ptr) { 10 | <%= name_of(:hart, cfg_arch) %>::inst_allocator.free(reinterpret_cast(ptr)); 11 | } 12 | 13 | <%- end -%> 14 | -------------------------------------------------------------------------------- /backends/cpp_hart_gen/templates/types.hxx.erb: -------------------------------------------------------------------------------- 1 | // THIS FILE IS AUTOGENERATED 2 | 3 | #pragma once 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | namespace riscv { 10 | using XReg = uint<%= symtab.mxlen %>_t; 11 | 12 | constexpr XReg operator""_ux(unsigned long long int i) { 13 | return i; 14 | } 15 | constexpr XReg operator""_sx(unsigned long long int i) { 16 | return static_cast_t>(i); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /backends/indexer/README.adoc: -------------------------------------------------------------------------------- 1 | Creates an index of the database using JSON Reference. 2 | 3 | == Tasks 4 | 5 | [source,bash] 6 | ---- 7 | ./do gen:index # writes index to ROOT/gen/indexer/index-unifieddb.json 8 | ---- 9 | -------------------------------------------------------------------------------- /backends/indexer/tasks.rake: -------------------------------------------------------------------------------- 1 | 2 | require "pathname" 3 | 4 | namespace :gen do 5 | desc "Generate index of the database" 6 | task :index do 7 | index_path = Pathname.new("#{$root}/gen/indexer/index-unified.json") 8 | Dir.chdir "#{$root}/backends/indexer" do 9 | FileUtils.mkdir_p index_path.dirname 10 | File.write index_path, `node index-unifieddb.js #{$root}` 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /backends/isa_explorer/csr_table.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RISC-V ISA CSR Explorer 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /backends/isa_explorer/ext_table.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RISC-V ISA Extension Explorer 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /backends/isa_explorer/inst_table.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | RISC-V ISA Instruction Explorer 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /backends/manual/README.adoc: -------------------------------------------------------------------------------- 1 | Generate an HTML site for one or more versions of the manual (./do --desc for options) 2 | 3 | == Usage 4 | 5 | Options: 6 | 7 | * MANUAL_NAME: The database name (key) of the manual to generate. 8 | * VERSIONS: A comma-separated list of versions to generate, or "all". 9 | 10 | Examples: 11 | 12 | ./do gen:html_manual MANUAL_NAME=isa VERSIONS=20191008,20240411 13 | ./do gen:html_manual MANUAL_NAME=isa VERSIONS=all 14 | 15 | Result: 16 | 17 | A static HTML website will be written into gen/manual/MANUAL_NAME//html 18 | -------------------------------------------------------------------------------- /backends/manual/templates/index.adoc.erb: -------------------------------------------------------------------------------- 1 | // This becomes the index of the entire Antora site 2 | 3 | = <%= manual.marketing_name %> 4 | 5 | The following versions of the manual can be found here: 6 | 7 | <%- manual.versions.each do |version| -%> 8 | * xref:<%= version.name %>@<%= manual.name %>:ROOT:index.adoc[Version <%= version.marketing_version %>] 9 | <%- end -%> 10 | 11 | This site was generated using https://github.com/riscv-software-src/riscv-unified-db[riscv-unified-db], 12 | at commit <%= `git rev-parse HEAD` %><%- unless `git status -s`.empty? -%>, with dirty state<%- end -%>. 13 | -------------------------------------------------------------------------------- /backends/manual/templates/isa_version_index.adoc.erb: -------------------------------------------------------------------------------- 1 | = <%= manual_version.manual.marketing_name %>: <%= manual_version.marketing_version %> 2 | 3 | // This is the landing page for a manual version 4 | 5 | <%- if manual_version.state == "ratified" -%> 6 | This version is RATIFIED. It will not change. 7 | <%- else -%> 8 | This version is a DRAFT. It may change. 9 | <%- end -%> 10 | -------------------------------------------------------------------------------- /backends/manual/templates/param_list.adoc.erb: -------------------------------------------------------------------------------- 1 | = Architectural Parameters 2 | 3 | <%- 4 | params = manual_version.extensions.map{ |e| e.params }.flatten.uniq(&:name).sort_by!(&:name) 5 | -%> 6 | 7 | The following <%= params.size %> parameters are defined in this manual: 8 | 9 | |=== 10 | | Name | Type | Extension(s) | Description 11 | 12 | <%- params.each do |param| -%> 13 | | <%= param.name %> 14 | | <%= param.schema.to_pretty_s %> 15 | | <%= param.exts.map { |ext| link_to_udb_doc_ext_param(ext.name, param.name, ext.name) }.join(", ") %> 16 | a| <%= param.desc %> 17 | <%- end -%> 18 | |=== 19 | -------------------------------------------------------------------------------- /backends/portfolio/README.adoc: -------------------------------------------------------------------------------- 1 | This portfolio backend isn't a real backend. 2 | Instead, it contains common Rake code and ERB templates shared by multiple portfolio-based backends. 3 | -------------------------------------------------------------------------------- /backends/portfolio/templates/README.adoc: -------------------------------------------------------------------------------- 1 | This directory contains partial ERB templates shared by multiple portfolio-based backend. 2 | -------------------------------------------------------------------------------- /backends/proc_cert/README.adoc: -------------------------------------------------------------------------------- 1 | This certification backend isn't a real backend. 2 | Instead, it contains common Rake code and ERB templates shared by multiple processor certification backends. 3 | -------------------------------------------------------------------------------- /backends/proc_cert/templates/README.adoc: -------------------------------------------------------------------------------- 1 | This directory contains partial ERB templates shared by multiple processor certification-based backends. 2 | -------------------------------------------------------------------------------- /backends/proc_cert/templates/related_specs.adoc.erb: -------------------------------------------------------------------------------- 1 | === Related Specifications 2 | 3 | [cols="2,2,3,3,3"] 4 | |=== 5 | | Certificate Model | TSC Profile | Unpriv ISA Manual | Priv ISA Manual | Debug Manual 6 | 7 | | <%= proc_cert_model.name %> 8 | | <%= proc_cert_model.tsc_profile_release.nil? ? "No profile" : proc_cert_model.tsc_profile_release.marketing_name %> 9 | | <%= proc_cert_model.unpriv_isa_manual_revision %> 10 | | <%= proc_cert_model.priv_isa_manual_revision %> 11 | | <%= proc_cert_model.debug_manual_revision %> 12 | |=== 13 | -------------------------------------------------------------------------------- /backends/proc_cert/templates/rev_history.adoc.erb: -------------------------------------------------------------------------------- 1 | History of documentation changes that eventually lead to releases. 2 | 3 | [cols="1,1,5"] 4 | |=== 5 | | Date | Revision | Changes 6 | 7 | <% proc_cert_model.revision_history.each do |rev| -%> 8 | | <%= rev.date %> 9 | | <%= rev.revision %> 10 | a| <% rev.changes.each do |change| %> 11 | * <%= change %> 12 | <% end -%> 13 | <% end -%> 14 | |=== 15 | -------------------------------------------------------------------------------- /backends/proc_cert/templates/typographic.adoc.erb: -------------------------------------------------------------------------------- 1 | CSR field colors:: 2 | 3 | * Grey fields are reserved (WPRI) 4 | * Green fields are present 5 | * Red fields are defined by the RISC-V ISA but not present 6 | 7 | CSR field types:: 8 | 9 | [%autowidth] 10 | |=== 11 | | Abbreviation | Description 12 | 13 | <% CsrField::TYPE_DESC_MAP.each do |abbreviation, description| -%> 14 | | <%= abbreviation %> 15 | | <%= description %> 16 | <% end -%> 17 | |=== 18 | -------------------------------------------------------------------------------- /bin/.container-tag: -------------------------------------------------------------------------------- 1 | 0.9 2 | -------------------------------------------------------------------------------- /bin/asciidoctor: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $BUNDLE exec --gemfile $ROOT/Gemfile asciidoctor "$@" 7 | -------------------------------------------------------------------------------- /bin/bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $BASH "$@" 7 | -------------------------------------------------------------------------------- /bin/bundle: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $BUNDLE "$@" 7 | -------------------------------------------------------------------------------- /bin/clang-format: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $CLANG_FORMAT "$@" 7 | -------------------------------------------------------------------------------- /bin/clang-tidy: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $CLANG_TIDY "$@" 7 | -------------------------------------------------------------------------------- /bin/clean: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(dirname $(realpath ${BASH_SOURCE[0]}))) 4 | 5 | rm -rf ${ROOT}/.stamps ${ROOT}/gen 6 | -------------------------------------------------------------------------------- /bin/clobber: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(dirname $(realpath ${BASH_SOURCE[0]}))) 4 | 5 | rm -rf \ 6 | ${ROOT}/.stamps \ 7 | ${ROOT}/.home \ 8 | ${ROOT}/.bundle \ 9 | ${ROOT}/.singularity \ 10 | ${ROOT}/gen \ 11 | ${ROOT}/node_modules \ 12 | ${ROOT}/sorbet 13 | -------------------------------------------------------------------------------- /bin/g++: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $GPP "$@" 7 | -------------------------------------------------------------------------------- /bin/gdb: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $GDB "$@" 7 | -------------------------------------------------------------------------------- /bin/make: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $MAKE "$@" 7 | -------------------------------------------------------------------------------- /bin/node: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $NODE "$@" 7 | -------------------------------------------------------------------------------- /bin/npx: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $NPX "$@" 7 | -------------------------------------------------------------------------------- /bin/pip: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | if [ ! -v VIRTUAL_ENV ]; then 7 | source ${ROOT}/.home/.venv/bin/activate 8 | fi 9 | 10 | $PIP "$@" 11 | -------------------------------------------------------------------------------- /bin/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(dirname $(realpath ${BASH_SOURCE[0]}))) 4 | source $ROOT/bin/setup 5 | 6 | $PYTHON -mpre_commit "$@" 7 | -------------------------------------------------------------------------------- /bin/python: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | if [ ! -v NO_SOURCE ]; then 5 | source $ROOT/setup 6 | fi 7 | 8 | $PYTHON "$@" 9 | -------------------------------------------------------------------------------- /bin/rake: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $BUNDLE exec rake "$@" 7 | -------------------------------------------------------------------------------- /bin/rdbg: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $BUNDLE exec rdbg "$@" 7 | -------------------------------------------------------------------------------- /bin/ruby: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | source $ROOT/setup 5 | 6 | $RUBY "$@" 7 | -------------------------------------------------------------------------------- /cfgs/_.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../schemas/config_schema.json 2 | --- 3 | $schema: config_schema.json# 4 | kind: architecture configuration 5 | type: unconfigured 6 | name: _ 7 | description: | 8 | A completely unconfigured RVI-standard architecture; not even MXLEN is known. 9 | -------------------------------------------------------------------------------- /cfgs/rv32.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../schemas/config_schema.json 2 | --- 3 | $schema: config_schema.json# 4 | kind: architecture configuration 5 | type: partially configured 6 | name: rv32 7 | description: A generic RV32 system; only MXLEN is known 8 | params: 9 | MXLEN: 32 10 | mandatory_extensions: 11 | - name: "I" 12 | version: ">= 0" 13 | - name: "Sm" 14 | version: ">= 0" 15 | -------------------------------------------------------------------------------- /cfgs/rv64.yaml: -------------------------------------------------------------------------------- 1 | # yaml-language-server: $schema=../schemas/config_schema.json 2 | --- 3 | $schema: config_schema.json# 4 | kind: architecture configuration 5 | type: partially configured 6 | name: rv64 7 | description: A generic RV32 system; only MXLEN is known 8 | params: 9 | MXLEN: 64 10 | mandatory_extensions: 11 | - name: "I" 12 | version: ">= 0" 13 | - name: "Sm" 14 | version: ">= 0" 15 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. 2 | // SPDX-License-Identifier: BSD-3-Clause-Clear 3 | 4 | const Configuration = { 5 | extends: ["@commitlint/config-conventional"] 6 | }; 7 | 8 | module.exports = Configuration; 9 | -------------------------------------------------------------------------------- /do: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ROOT=$(dirname $(realpath ${BASH_SOURCE[0]})) 4 | 5 | [ $# -eq 0 ] && { 6 | ./do --tasks 7 | exit 0 8 | } 9 | 10 | if [ "$1" == "clobber" ]; then 11 | ${ROOT}/bin/clobber 12 | exit $? 13 | elif [ "$1" == "clean" ]; then 14 | ${ROOT}/bin/clean 15 | exit $? 16 | fi 17 | 18 | source $ROOT/bin/setup 19 | 20 | # really long way of invoking rake, but renamed to 'do' 21 | $BUNDLE exec --gemfile $ROOT/Gemfile ruby -r rake -e "Rake.application.init('do');Rake.application.load_rakefile;Rake.application.top_level" -- "$@" 22 | -------------------------------------------------------------------------------- /doc/data-templates.adoc: -------------------------------------------------------------------------------- 1 | = Data templates 2 | 3 | TODO 4 | -------------------------------------------------------------------------------- /doc/riscv-opcodes-migration.adoc: -------------------------------------------------------------------------------- 1 | = RISC-V opcodes migration 2 | 3 | TODO 4 | -------------------------------------------------------------------------------- /doc/ruby.adoc: -------------------------------------------------------------------------------- 1 | = Ruby Database Interface 2 | 3 | TODO 4 | -------------------------------------------------------------------------------- /doc/schemas.adoc: -------------------------------------------------------------------------------- 1 | = UnifiedDB Data Schemas 2 | 3 | Data in UnifiedDB is written in https://en.wikipedia.org/wiki/YAML[YAML] files, 4 | and the structure of those files is checked using https://json-schema.org/[JSON Schema]. 5 | 6 | Many UDB data objects share common field types, including: 7 | 8 | * xref:prose-schema.adoc[Schema for Prose] 9 | 10 | TODO 11 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Arch specification schemas

5 | 8 | 9 |

Ruby documentation

10 |
    11 |
  • lib
  • 12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/ruby/css/common.css: -------------------------------------------------------------------------------- 1 | /* Override this file with custom rules */ -------------------------------------------------------------------------------- /idl.yardopts: -------------------------------------------------------------------------------- 1 | -o _site/ruby/idl --title 'IDL Compiler' --no-private --embed-mixins 'lib/idl/*.rb' lib/idl.rb 2 | -------------------------------------------------------------------------------- /lib/architecture.rbi: -------------------------------------------------------------------------------- 1 | # typed: true 2 | 3 | # since we generate Architecture methods with metaprogramming, we need an explicit interface for 4 | # Sorbet 5 | 6 | class Architecture 7 | sig { params(name: String).returns(Csr) } 8 | def csr(name); end 9 | 10 | sig { returns(T::Array[Csr]) } 11 | def csrs; end 12 | 13 | sig { returns(T::Array[Instruction]) } 14 | def instructions; end 15 | 16 | sig { params(name: String).returns(Instruction) } 17 | def instruction(name); end 18 | 19 | sig { params(name: String).returns(Extension) } 20 | def extension(name); end 21 | end 22 | -------------------------------------------------------------------------------- /lib/asciidoc_extensions.js: -------------------------------------------------------------------------------- 1 | const asciidoctor = require("asciidoctor")(); 2 | const registry = asciidoctor.Extensions.create(); 3 | require("./asciidoc_when_extension.js")(registry); 4 | -------------------------------------------------------------------------------- /lib/test/test_helper.rb: -------------------------------------------------------------------------------- 1 | require 'simplecov' 2 | 3 | SimpleCov.start do 4 | enable_coverage :branch 5 | 6 | add_group 'Arch Obj Models', 'arch_obj_models' 7 | add_group 'IDL Core', 'idl' 8 | add_group 'IDL Regression Tests', 'idl/tests' 9 | add_group 'Top-level Tests', 'test' 10 | end 11 | 12 | puts "[SimpleCov] Coverage started." 13 | 14 | require 'minitest/autorun' 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "spec-generator", 3 | "dependencies": { 4 | "@antora/cli": "3.1.7", 5 | "@antora/lunr-extension": "1.0.0-alpha.8", 6 | "@antora/site-generator": "3.1.7", 7 | "asciidoctor-kroki": "0.17.0", 8 | "@asciidoctor/tabs": "v1.0.0-beta.6", 9 | "@commitlint/cli": "19.8.0", 10 | "@commitlint/config-conventional": "19.8.0", 11 | "prettier": "3.4.2", 12 | "wavedrom-cli": "^3.1.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pre_commit==4.0.1 2 | jsonschema==4.23.0 3 | tqdm==4.67.1 4 | ruamel.yaml==0.18.6 5 | mergedeep==1.3.4 6 | pytest==8.3.4 7 | -------------------------------------------------------------------------------- /schemas/inst_variable_metadatas.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | 4 | "type": "object", 5 | "patternProperties": { 6 | "^[a-zA-Z0-9_]+$": { 7 | "$ref": "inst_schema.json#/$defs/variable_metadata" 8 | } 9 | } 10 | } 11 | --------------------------------------------------------------------------------