udb 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.data/cfgs/example_rv64_with_overlay.yaml +0 -2
- data/.data/cfgs/mc100-32-full-example.yaml +107 -0
- data/.data/cfgs/profile/RVA23M64.yaml +0 -2
- data/.data/cfgs/profile/RVB23M64.yaml +0 -2
- data/.data/cfgs/qc_iu.yaml +66 -2
- data/.data/cfgs/rv32-riscv-tests.yaml +35 -1
- data/.data/cfgs/rv32-vector.yaml +35 -1
- data/.data/cfgs/rv64-riscv-tests.yaml +35 -1
- data/.data/cfgs/rv64-vector.yaml +35 -1
- data/.data/spec/custom/isa/example/ext/Xcustom.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/ext/Xqccmp.yaml +3 -3
- data/.data/spec/custom/isa/qc_iu/ext/Xqci.yaml +14 -14
- data/.data/spec/custom/isa/qc_iu/ext/Xqcia.yaml +7 -7
- data/.data/spec/custom/isa/qc_iu/ext/Xqciac.yaml +3 -3
- data/.data/spec/custom/isa/qc_iu/ext/Xqcibi.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcibm.yaml +8 -8
- data/.data/spec/custom/isa/qc_iu/ext/Xqcicli.yaml +3 -3
- data/.data/spec/custom/isa/qc_iu/ext/Xqcicm.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcics.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcicsr.yaml +4 -4
- data/.data/spec/custom/isa/qc_iu/ext/Xqciint.yaml +10 -10
- data/.data/spec/custom/isa/qc_iu/ext/Xqciio.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/ext/Xqcilb.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcili.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcilia.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcilo.yaml +3 -3
- data/.data/spec/custom/isa/qc_iu/ext/Xqcilsm.yaml +6 -6
- data/.data/spec/custom/isa/qc_iu/ext/Xqcisim.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcisls.yaml +2 -2
- data/.data/spec/custom/isa/qc_iu/ext/Xqcisync.yaml +3 -3
- data/.data/spec/custom/isa/regress/manual_version/isa/regress/isa_regress.yaml +0 -2
- data/.data/spec/schemas/ext_schema.json +58 -8
- data/.data/spec/schemas/inst_schema.json +1 -5
- data/.data/spec/std/isa/csr/H/henvcfg.yaml +32 -0
- data/.data/spec/std/isa/csr/I/pmpaddr0.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr1.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr10.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr11.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr12.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr13.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr14.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr15.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr16.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr17.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr18.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr19.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr2.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr20.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr21.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr22.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr23.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr24.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr25.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr26.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr27.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr28.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr29.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr3.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr30.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr31.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr32.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr33.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr34.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr35.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr36.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr37.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr38.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr39.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr4.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr40.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr41.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr42.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr43.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr44.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr45.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr46.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr47.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr48.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr49.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr5.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr50.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr51.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr52.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr53.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr54.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr55.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr56.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr57.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr58.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr59.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr6.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr60.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr61.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr62.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr63.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr7.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr8.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddr9.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpaddrN.layout +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg0.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg1.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfg10.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg11.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfg12.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg13.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfg14.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg15.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfg2.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg3.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfg4.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg5.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfg6.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg7.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfg8.yaml +6 -2
- data/.data/spec/std/isa/csr/I/pmpcfg9.yaml +5 -2
- data/.data/spec/std/isa/csr/I/pmpcfgN.layout +11 -4
- data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.layout +7 -2
- data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.yaml +203 -58
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounterN.layout +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounterNh.layout +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent10.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent10h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent11.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent11h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent12.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent12h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent13.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent13h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent14.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent14h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent15.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent15h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent16.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent16h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent17.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent17h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent18.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent18h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent19.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent19h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent20.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent20h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent21.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent21h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent22.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent22h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent23.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent23h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent24.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent24h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent25.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent25h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent26.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent26h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent27.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent27h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent28.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent28h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent29.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent29h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent3.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent30.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent30h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent31.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent31h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent3h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent4.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent4h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent5.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent5h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent6.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent6h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent7.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent7h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent8.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent8h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent9.yaml +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent9h.yaml +6 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmeventN.layout +7 -2
- data/.data/spec/std/isa/csr/Zihpm/mhpmeventNh.layout +6 -2
- data/.data/spec/std/isa/csr/menvcfg.yaml +22 -0
- data/.data/spec/std/isa/csr/senvcfg.yaml +32 -0
- data/.data/spec/std/isa/csr/ssp.yaml +52 -0
- data/.data/spec/std/isa/ext/Sscofpmf.yaml +11 -2
- data/.data/spec/std/isa/ext/Sv57.yaml +1 -1
- data/.data/spec/std/isa/ext/Zihpm.yaml +11 -2
- data/.data/spec/std/isa/inst/B/andn.yaml +0 -28
- data/.data/spec/std/isa/inst/B/clmul.yaml +0 -16
- data/.data/spec/std/isa/inst/B/clmulh.yaml +0 -16
- data/.data/spec/std/isa/inst/B/orn.yaml +0 -28
- data/.data/spec/std/isa/inst/B/rev8.yaml +0 -15
- data/.data/spec/std/isa/inst/B/rol.yaml +0 -28
- data/.data/spec/std/isa/inst/B/rolw.yaml +0 -17
- data/.data/spec/std/isa/inst/B/ror.yaml +0 -28
- data/.data/spec/std/isa/inst/B/rori.yaml +0 -15
- data/.data/spec/std/isa/inst/B/roriw.yaml +0 -13
- data/.data/spec/std/isa/inst/B/rorw.yaml +0 -17
- data/.data/spec/std/isa/inst/B/xnor.yaml +0 -28
- data/.data/spec/std/isa/inst/C/c.add.yaml +0 -13
- data/.data/spec/std/isa/inst/C/c.addw.yaml +0 -20
- data/.data/spec/std/isa/inst/C/c.and.yaml +0 -31
- data/.data/spec/std/isa/inst/C/c.andi.yaml +0 -21
- data/.data/spec/std/isa/inst/C/c.beqz.yaml +0 -38
- data/.data/spec/std/isa/inst/C/c.bnez.yaml +0 -38
- data/.data/spec/std/isa/inst/C/c.ebreak.yaml +0 -11
- data/.data/spec/std/isa/inst/C/c.ld.yaml +0 -33
- data/.data/spec/std/isa/inst/C/c.lw.yaml +0 -33
- data/.data/spec/std/isa/inst/C/c.mv.yaml +0 -12
- data/.data/spec/std/isa/inst/C/c.or.yaml +0 -31
- data/.data/spec/std/isa/inst/C/c.slli.yaml +0 -24
- data/.data/spec/std/isa/inst/C/c.srai.yaml +0 -24
- data/.data/spec/std/isa/inst/C/c.srli.yaml +0 -24
- data/.data/spec/std/isa/inst/C/c.sub.yaml +0 -31
- data/.data/spec/std/isa/inst/C/c.subw.yaml +0 -20
- data/.data/spec/std/isa/inst/C/c.xor.yaml +0 -31
- data/.data/spec/std/isa/inst/F/fadd.s.yaml +0 -26
- data/.data/spec/std/isa/inst/F/fclass.s.yaml +0 -13
- data/.data/spec/std/isa/inst/F/fcvt.l.s.yaml +0 -22
- data/.data/spec/std/isa/inst/F/fcvt.lu.s.yaml +0 -22
- data/.data/spec/std/isa/inst/F/fcvt.s.l.yaml +0 -22
- data/.data/spec/std/isa/inst/F/fcvt.s.lu.yaml +0 -22
- data/.data/spec/std/isa/inst/F/fcvt.s.w.yaml +0 -22
- data/.data/spec/std/isa/inst/F/fcvt.s.wu.yaml +0 -21
- data/.data/spec/std/isa/inst/F/fcvt.w.s.yaml +0 -22
- data/.data/spec/std/isa/inst/F/fcvt.wu.s.yaml +0 -21
- data/.data/spec/std/isa/inst/F/fdiv.s.yaml +0 -26
- data/.data/spec/std/isa/inst/F/feq.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fle.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fleq.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/flt.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fltq.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/flw.yaml +0 -34
- data/.data/spec/std/isa/inst/F/fmadd.s.yaml +0 -28
- data/.data/spec/std/isa/inst/F/fmax.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fmin.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fmsub.s.yaml +0 -28
- data/.data/spec/std/isa/inst/F/fmul.s.yaml +0 -26
- data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +0 -13
- data/.data/spec/std/isa/inst/F/fmv.x.w.yaml +0 -13
- data/.data/spec/std/isa/inst/F/fnmadd.s.yaml +0 -28
- data/.data/spec/std/isa/inst/F/fnmsub.s.yaml +0 -28
- data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +0 -18
- data/.data/spec/std/isa/inst/F/fsqrt.s.yaml +0 -22
- data/.data/spec/std/isa/inst/F/fsub.s.yaml +0 -25
- data/.data/spec/std/isa/inst/F/fsw.yaml +0 -44
- data/.data/spec/std/isa/inst/I/add.yaml +0 -31
- data/.data/spec/std/isa/inst/I/addi.yaml +0 -21
- data/.data/spec/std/isa/inst/I/addiw.yaml +0 -12
- data/.data/spec/std/isa/inst/I/addw.yaml +0 -20
- data/.data/spec/std/isa/inst/I/and.yaml +0 -31
- data/.data/spec/std/isa/inst/I/andi.yaml +0 -21
- data/.data/spec/std/isa/inst/I/auipc.yaml +0 -16
- data/.data/spec/std/isa/inst/I/beq.yaml +0 -38
- data/.data/spec/std/isa/inst/I/bge.yaml +0 -38
- data/.data/spec/std/isa/inst/I/bgeu.yaml +0 -38
- data/.data/spec/std/isa/inst/I/blt.yaml +0 -38
- data/.data/spec/std/isa/inst/I/bltu.yaml +0 -38
- data/.data/spec/std/isa/inst/I/bne.yaml +0 -38
- data/.data/spec/std/isa/inst/I/ebreak.yaml +0 -11
- data/.data/spec/std/isa/inst/I/ecall.yaml +0 -19
- data/.data/spec/std/isa/inst/I/fence.tso.yaml +0 -12
- data/.data/spec/std/isa/inst/I/fence.yaml +0 -32
- data/.data/spec/std/isa/inst/I/jal.yaml +0 -29
- data/.data/spec/std/isa/inst/I/jalr.yaml +0 -34
- data/.data/spec/std/isa/inst/I/lb.yaml +0 -33
- data/.data/spec/std/isa/inst/I/lbu.yaml +0 -33
- data/.data/spec/std/isa/inst/I/ld.yaml +0 -33
- data/.data/spec/std/isa/inst/I/lh.yaml +0 -33
- data/.data/spec/std/isa/inst/I/lhu.yaml +0 -33
- data/.data/spec/std/isa/inst/I/lui.yaml +0 -16
- data/.data/spec/std/isa/inst/I/lw.yaml +0 -33
- data/.data/spec/std/isa/inst/I/lwu.yaml +0 -33
- data/.data/spec/std/isa/inst/I/mret.yaml +0 -17
- data/.data/spec/std/isa/inst/I/or.yaml +0 -31
- data/.data/spec/std/isa/inst/I/ori.yaml +0 -21
- data/.data/spec/std/isa/inst/I/sb.yaml +0 -48
- data/.data/spec/std/isa/inst/I/sd.yaml +0 -48
- data/.data/spec/std/isa/inst/I/sh.yaml +0 -48
- data/.data/spec/std/isa/inst/I/sll.yaml +0 -31
- data/.data/spec/std/isa/inst/I/slli.yaml +0 -24
- data/.data/spec/std/isa/inst/I/slliw.yaml +0 -17
- data/.data/spec/std/isa/inst/I/sllw.yaml +0 -20
- data/.data/spec/std/isa/inst/I/slt.yaml +0 -31
- data/.data/spec/std/isa/inst/I/slti.yaml +0 -21
- data/.data/spec/std/isa/inst/I/sltiu.yaml +0 -21
- data/.data/spec/std/isa/inst/I/sltu.yaml +0 -31
- data/.data/spec/std/isa/inst/I/sra.yaml +0 -31
- data/.data/spec/std/isa/inst/I/srai.yaml +0 -24
- data/.data/spec/std/isa/inst/I/sraiw.yaml +0 -17
- data/.data/spec/std/isa/inst/I/sraw.yaml +0 -20
- data/.data/spec/std/isa/inst/I/srl.yaml +0 -31
- data/.data/spec/std/isa/inst/I/srli.yaml +0 -24
- data/.data/spec/std/isa/inst/I/srliw.yaml +0 -17
- data/.data/spec/std/isa/inst/I/srlw.yaml +0 -20
- data/.data/spec/std/isa/inst/I/sub.yaml +0 -31
- data/.data/spec/std/isa/inst/I/subw.yaml +0 -20
- data/.data/spec/std/isa/inst/I/sw.yaml +0 -48
- data/.data/spec/std/isa/inst/I/wfi.yaml +0 -14
- data/.data/spec/std/isa/inst/I/xor.yaml +0 -31
- data/.data/spec/std/isa/inst/I/xori.yaml +0 -21
- data/.data/spec/std/isa/inst/M/div.yaml +0 -23
- data/.data/spec/std/isa/inst/M/divu.yaml +0 -23
- data/.data/spec/std/isa/inst/M/divuw.yaml +0 -23
- data/.data/spec/std/isa/inst/M/divw.yaml +0 -23
- data/.data/spec/std/isa/inst/M/mul.yaml +0 -24
- data/.data/spec/std/isa/inst/M/mulh.yaml +0 -24
- data/.data/spec/std/isa/inst/M/mulhsu.yaml +0 -24
- data/.data/spec/std/isa/inst/M/mulhu.yaml +0 -24
- data/.data/spec/std/isa/inst/M/mulw.yaml +0 -23
- data/.data/spec/std/isa/inst/M/rem.yaml +0 -22
- data/.data/spec/std/isa/inst/M/remu.yaml +0 -22
- data/.data/spec/std/isa/inst/M/remuw.yaml +0 -22
- data/.data/spec/std/isa/inst/M/remw.yaml +0 -22
- data/.data/spec/std/isa/inst/README.md +1 -5
- data/.data/spec/std/isa/inst/S/sfence.vma.yaml +0 -20
- data/.data/spec/std/isa/inst/S/sret.yaml +0 -22
- data/.data/spec/std/isa/inst/V/vaadd.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vaadd.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vaaddu.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vaaddu.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vadc.vim.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vadc.vvm.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vadc.vxm.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vadd.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vadd.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vadd.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vand.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vand.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vand.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vasub.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vasub.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vasubu.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vasubu.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vcompress.vm.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vdiv.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vdiv.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vdivu.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vdivu.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vfadd.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfadd.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfclass.v.yaml +0 -66
- data/.data/spec/std/isa/inst/V/vfcvt.f.x.v.yaml +0 -91
- data/.data/spec/std/isa/inst/V/vfcvt.f.xu.v.yaml +0 -91
- data/.data/spec/std/isa/inst/V/vfcvt.rtz.x.f.v.yaml +0 -91
- data/.data/spec/std/isa/inst/V/vfcvt.rtz.xu.f.v.yaml +0 -91
- data/.data/spec/std/isa/inst/V/vfcvt.x.f.v.yaml +0 -91
- data/.data/spec/std/isa/inst/V/vfcvt.xu.f.v.yaml +0 -91
- data/.data/spec/std/isa/inst/V/vfdiv.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfdiv.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfirst.m.yaml +0 -35
- data/.data/spec/std/isa/inst/V/vfmacc.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmacc.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmadd.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmadd.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmax.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfmax.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfmerge.vfm.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmin.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfmin.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfmsac.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmsac.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmsub.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmsub.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfmul.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfmul.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfmv.f.s.yaml +0 -29
- data/.data/spec/std/isa/inst/V/vfmv.s.f.yaml +0 -42
- data/.data/spec/std/isa/inst/V/vfmv.v.f.yaml +0 -35
- data/.data/spec/std/isa/inst/V/vfncvt.f.f.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfncvt.f.x.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfncvt.f.xu.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfncvt.rod.f.f.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfncvt.rtz.x.f.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfncvt.rtz.xu.f.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfncvt.x.f.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfncvt.xu.f.w.yaml +0 -114
- data/.data/spec/std/isa/inst/V/vfnmacc.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfnmacc.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfnmadd.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfnmadd.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfnmsac.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfnmsac.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfnmsub.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfnmsub.vv.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfrdiv.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfrec7.v.yaml +0 -66
- data/.data/spec/std/isa/inst/V/vfredmax.vs.yaml +0 -17
- data/.data/spec/std/isa/inst/V/vfredmin.vs.yaml +0 -17
- data/.data/spec/std/isa/inst/V/vfredosum.vs.yaml +0 -17
- data/.data/spec/std/isa/inst/V/vfredusum.vs.yaml +0 -17
- data/.data/spec/std/isa/inst/V/vfrsqrt7.v.yaml +0 -66
- data/.data/spec/std/isa/inst/V/vfrsub.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfsgnj.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfsgnj.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfsgnjn.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfsgnjn.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfsgnjx.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfsgnjx.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfslide1down.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfslide1up.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfsqrt.v.yaml +0 -66
- data/.data/spec/std/isa/inst/V/vfsub.vf.yaml +0 -59
- data/.data/spec/std/isa/inst/V/vfsub.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwadd.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfwadd.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwadd.wf.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vfwadd.wv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vfwcvt.f.f.v.yaml +0 -106
- data/.data/spec/std/isa/inst/V/vfwcvt.f.x.v.yaml +0 -106
- data/.data/spec/std/isa/inst/V/vfwcvt.f.xu.v.yaml +0 -106
- data/.data/spec/std/isa/inst/V/vfwcvt.rtz.x.f.v.yaml +0 -106
- data/.data/spec/std/isa/inst/V/vfwcvt.rtz.xu.f.v.yaml +0 -106
- data/.data/spec/std/isa/inst/V/vfwcvt.x.f.v.yaml +0 -106
- data/.data/spec/std/isa/inst/V/vfwcvt.xu.f.v.yaml +0 -106
- data/.data/spec/std/isa/inst/V/vfwmacc.vf.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwmacc.vv.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vfwmsac.vf.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwmsac.vv.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vfwmul.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfwmul.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwnmacc.vf.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwnmacc.vv.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vfwnmsac.vf.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwnmsac.vv.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vfwredosum.vs.yaml +0 -17
- data/.data/spec/std/isa/inst/V/vfwredusum.vs.yaml +0 -17
- data/.data/spec/std/isa/inst/V/vfwsub.vf.yaml +0 -47
- data/.data/spec/std/isa/inst/V/vfwsub.vv.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vfwsub.wf.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vfwsub.wv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vid.v.yaml +0 -32
- data/.data/spec/std/isa/inst/V/viota.m.yaml +0 -38
- data/.data/spec/std/isa/inst/V/vle16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vle16ff.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vle32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vle32ff.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vle64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vle64ff.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vle8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vle8ff.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vlm.v.yaml +0 -19
- data/.data/spec/std/isa/inst/V/vloxei16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vloxei32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vloxei64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vloxei8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vlse16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vlse32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vlse64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vlse8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vluxei16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vluxei32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vluxei64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vluxei8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vmacc.vv.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vmacc.vx.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vmadc.vi.yaml +0 -38
- data/.data/spec/std/isa/inst/V/vmadc.vim.yaml +0 -39
- data/.data/spec/std/isa/inst/V/vmadc.vv.yaml +0 -39
- data/.data/spec/std/isa/inst/V/vmadc.vvm.yaml +0 -40
- data/.data/spec/std/isa/inst/V/vmadc.vx.yaml +0 -39
- data/.data/spec/std/isa/inst/V/vmadc.vxm.yaml +0 -40
- data/.data/spec/std/isa/inst/V/vmadd.vv.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vmadd.vx.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vmand.mm.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmax.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vmax.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vmaxu.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vmaxu.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vmerge.vim.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vmerge.vvm.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vmerge.vxm.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vmfeq.vf.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmfeq.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmfge.vf.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmfgt.vf.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmfle.vf.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmfle.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmflt.vf.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmflt.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmfne.vf.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmfne.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmin.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vmin.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vminu.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vminu.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vmnand.mm.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmnor.mm.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmor.mm.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsbc.vv.yaml +0 -39
- data/.data/spec/std/isa/inst/V/vmsbc.vvm.yaml +0 -40
- data/.data/spec/std/isa/inst/V/vmsbc.vx.yaml +0 -39
- data/.data/spec/std/isa/inst/V/vmsbc.vxm.yaml +0 -40
- data/.data/spec/std/isa/inst/V/vmsbf.m.yaml +0 -38
- data/.data/spec/std/isa/inst/V/vmseq.vi.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmseq.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmseq.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmsgt.vi.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsgt.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmsgtu.vi.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsgtu.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmsif.m.yaml +0 -38
- data/.data/spec/std/isa/inst/V/vmsle.vi.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsle.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsle.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmsleu.vi.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsleu.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsleu.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmslt.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmslt.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmsltu.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsltu.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmsne.vi.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsne.vv.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmsne.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vmsof.m.yaml +0 -42
- data/.data/spec/std/isa/inst/V/vmul.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vmul.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vmulh.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vmulh.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vmulhsu.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vmulhsu.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vmulhu.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vmulhu.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vmv.s.x.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vmv.v.i.yaml +0 -33
- data/.data/spec/std/isa/inst/V/vmv.v.v.yaml +0 -33
- data/.data/spec/std/isa/inst/V/vmv.v.x.yaml +0 -33
- data/.data/spec/std/isa/inst/V/vmv.x.s.yaml +0 -25
- data/.data/spec/std/isa/inst/V/vmv1r.v.yaml +0 -33
- data/.data/spec/std/isa/inst/V/vmv2r.v.yaml +0 -33
- data/.data/spec/std/isa/inst/V/vmv4r.v.yaml +0 -33
- data/.data/spec/std/isa/inst/V/vmv8r.v.yaml +0 -33
- data/.data/spec/std/isa/inst/V/vmxnor.mm.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vmxor.mm.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vnclip.wi.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vnclip.wv.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vnclip.wx.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vnclipu.wi.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vnclipu.wv.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vnclipu.wx.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vnmsac.vv.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vnmsac.vx.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vnmsub.vv.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vnmsub.vx.yaml +0 -41
- data/.data/spec/std/isa/inst/V/vnsra.wi.yaml +0 -53
- data/.data/spec/std/isa/inst/V/vnsra.wv.yaml +0 -53
- data/.data/spec/std/isa/inst/V/vnsra.wx.yaml +0 -53
- data/.data/spec/std/isa/inst/V/vnsrl.wi.yaml +0 -53
- data/.data/spec/std/isa/inst/V/vnsrl.wv.yaml +0 -53
- data/.data/spec/std/isa/inst/V/vnsrl.wx.yaml +0 -53
- data/.data/spec/std/isa/inst/V/vor.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vor.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vor.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vredand.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vredmax.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vredmaxu.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vredmin.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vredminu.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vredor.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vredsum.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vredxor.vs.yaml +0 -48
- data/.data/spec/std/isa/inst/V/vrem.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vrem.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vremu.vv.yaml +0 -83
- data/.data/spec/std/isa/inst/V/vremu.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vrgather.vi.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vrgather.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vrgather.vx.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vrgatherei16.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vrsub.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vrsub.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsadd.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vsadd.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vsadd.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsaddu.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vsaddu.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vsaddu.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsbc.vvm.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vsbc.vxm.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vse16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vse32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vse64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vse8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsetivli.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vsetvl.yaml +0 -75
- data/.data/spec/std/isa/inst/V/vsetvli.yaml +0 -75
- data/.data/spec/std/isa/inst/V/vsext.vf2.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vsext.vf4.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vsext.vf8.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vslide1down.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vslide1up.vx.yaml +0 -92
- data/.data/spec/std/isa/inst/V/vslidedown.vi.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vslidedown.vx.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vslideup.vi.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vslideup.vx.yaml +0 -54
- data/.data/spec/std/isa/inst/V/vsll.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vsll.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vsll.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsm.v.yaml +0 -19
- data/.data/spec/std/isa/inst/V/vsmul.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vsmul.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsoxei16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsoxei32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsoxei64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsoxei8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsra.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vsra.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vsra.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsrl.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vsrl.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vsrl.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsse16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsse32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsse64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsse8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vssra.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vssra.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vssra.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vssrl.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vssrl.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vssrl.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vssub.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vssub.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vssubu.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vssubu.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsub.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vsub.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vsuxei16.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsuxei32.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsuxei64.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vsuxei8.v.yaml +0 -21
- data/.data/spec/std/isa/inst/V/vwadd.vv.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vwadd.vx.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vwadd.wv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwadd.wx.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vwaddu.vv.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vwaddu.vx.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vwaddu.wv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwaddu.wx.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vwmacc.vv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwmacc.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwmaccsu.vv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwmaccsu.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwmaccu.vv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwmaccu.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwmaccus.vx.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwmul.vv.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vwmul.vx.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vwmulsu.vv.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vwmulsu.vx.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vwmulu.vv.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vwmulu.vx.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vwredsum.vs.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwredsumu.vs.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwsub.vv.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vwsub.vx.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vwsub.wv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwsub.wx.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vwsubu.vv.yaml +0 -50
- data/.data/spec/std/isa/inst/V/vwsubu.vx.yaml +0 -49
- data/.data/spec/std/isa/inst/V/vwsubu.wv.yaml +0 -46
- data/.data/spec/std/isa/inst/V/vwsubu.wx.yaml +0 -45
- data/.data/spec/std/isa/inst/V/vxor.vi.yaml +0 -68
- data/.data/spec/std/isa/inst/V/vxor.vv.yaml +0 -101
- data/.data/spec/std/isa/inst/V/vxor.vx.yaml +0 -84
- data/.data/spec/std/isa/inst/V/vzext.vf2.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vzext.vf4.yaml +0 -44
- data/.data/spec/std/isa/inst/V/vzext.vf8.yaml +0 -44
- data/.data/spec/std/isa/inst/Zaamo/amoadd.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.SIZE.AQRL.layout +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoand.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amocas.b.aq.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amocas.b.aqrl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amocas.b.rl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amocas.b.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amocas.h.aq.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amocas.h.aqrl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amocas.h.rl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amocas.h.yaml +0 -87
- data/.data/spec/std/isa/inst/Zabha/amomax.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomax.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomax.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomax.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomax.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomax.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomax.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomax.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amomin.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amominu.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoor.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.aq.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.aqrl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.rl.yaml +0 -96
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.yaml +0 -96
- data/.data/spec/std/isa/inst/Zacas/amocas.SIZE.AQRL.layout +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.d.aq.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.d.aqrl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.d.rl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.d.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.q.aq.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.q.aqrl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.q.rl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.q.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.w.aq.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.w.aqrl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.w.rl.yaml +0 -87
- data/.data/spec/std/isa/inst/Zacas/amocas.w.yaml +0 -87
- data/.data/spec/std/isa/inst/Zalasr/lSIZE.AQRL.layout +0 -33
- data/.data/spec/std/isa/inst/Zalasr/lb.aq.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/lb.aqrl.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/ld.aq.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/ld.aqrl.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/lh.aq.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/lh.aqrl.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/lw.aq.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/lw.aqrl.yaml +0 -33
- data/.data/spec/std/isa/inst/Zalasr/sSIZE.AQRL.layout +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sb.aqrl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sb.rl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sd.aqrl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sd.rl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sh.aqrl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sh.rl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sw.aqrl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalasr/sw.rl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.SIZE.AQRL.layout +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.aq.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.aqrl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.rl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.aq.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.aqrl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.rl.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.yaml +0 -48
- data/.data/spec/std/isa/inst/Zalrsc/sc.SIZE.AQRL.layout +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.aq.yaml +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.aqrl.yaml +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.rl.yaml +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.yaml +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.aq.yaml +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.aqrl.yaml +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.rl.yaml +0 -82
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.yaml +0 -82
- data/.data/spec/std/isa/inst/Zba/add.uw.yaml +0 -20
- data/.data/spec/std/isa/inst/Zba/sh1add.uw.yaml +0 -20
- data/.data/spec/std/isa/inst/Zba/sh1add.yaml +0 -19
- data/.data/spec/std/isa/inst/Zba/sh2add.uw.yaml +0 -20
- data/.data/spec/std/isa/inst/Zba/sh2add.yaml +0 -19
- data/.data/spec/std/isa/inst/Zba/sh3add.uw.yaml +0 -20
- data/.data/spec/std/isa/inst/Zba/sh3add.yaml +0 -19
- data/.data/spec/std/isa/inst/Zba/slli.uw.yaml +0 -13
- data/.data/spec/std/isa/inst/Zbb/clz.yaml +0 -18
- data/.data/spec/std/isa/inst/Zbb/clzw.yaml +0 -18
- data/.data/spec/std/isa/inst/Zbb/cpop.yaml +0 -15
- data/.data/spec/std/isa/inst/Zbb/cpopw.yaml +0 -15
- data/.data/spec/std/isa/inst/Zbb/ctz.yaml +0 -18
- data/.data/spec/std/isa/inst/Zbb/ctzw.yaml +0 -18
- data/.data/spec/std/isa/inst/Zbb/max.yaml +0 -28
- data/.data/spec/std/isa/inst/Zbb/maxu.yaml +0 -28
- data/.data/spec/std/isa/inst/Zbb/min.yaml +0 -28
- data/.data/spec/std/isa/inst/Zbb/minu.yaml +0 -28
- data/.data/spec/std/isa/inst/Zbb/orc.b.yaml +0 -17
- data/.data/spec/std/isa/inst/Zbb/sext.b.yaml +0 -17
- data/.data/spec/std/isa/inst/Zbb/sext.h.yaml +0 -17
- data/.data/spec/std/isa/inst/Zbb/zext.h.yaml +0 -17
- data/.data/spec/std/isa/inst/Zbc/clmulr.yaml +0 -16
- data/.data/spec/std/isa/inst/Zbkb/brev8.yaml +0 -12
- data/.data/spec/std/isa/inst/Zbkb/unzip.yaml +0 -11
- data/.data/spec/std/isa/inst/Zbkb/zip.yaml +0 -11
- data/.data/spec/std/isa/inst/Zbkx/xperm4.yaml +0 -19
- data/.data/spec/std/isa/inst/Zbkx/xperm8.yaml +0 -19
- data/.data/spec/std/isa/inst/Zbs/bclr.yaml +0 -22
- data/.data/spec/std/isa/inst/Zbs/bclri.yaml +0 -21
- data/.data/spec/std/isa/inst/Zbs/bext.yaml +0 -22
- data/.data/spec/std/isa/inst/Zbs/bexti.yaml +0 -21
- data/.data/spec/std/isa/inst/Zbs/binv.yaml +0 -22
- data/.data/spec/std/isa/inst/Zbs/binvi.yaml +0 -21
- data/.data/spec/std/isa/inst/Zbs/bset.yaml +0 -22
- data/.data/spec/std/isa/inst/Zbs/bseti.yaml +0 -21
- data/.data/spec/std/isa/inst/Zcb/c.lbu.yaml +0 -33
- data/.data/spec/std/isa/inst/Zcb/c.lh.yaml +0 -33
- data/.data/spec/std/isa/inst/Zcb/c.lhu.yaml +0 -33
- data/.data/spec/std/isa/inst/Zcb/c.mul.yaml +0 -12
- data/.data/spec/std/isa/inst/Zcb/c.not.yaml +0 -11
- data/.data/spec/std/isa/inst/Zcb/c.sext.b.yaml +0 -19
- data/.data/spec/std/isa/inst/Zcb/c.sext.h.yaml +0 -19
- data/.data/spec/std/isa/inst/Zcb/c.zext.b.yaml +0 -19
- data/.data/spec/std/isa/inst/Zcb/c.zext.h.yaml +0 -19
- data/.data/spec/std/isa/inst/Zcb/c.zext.w.yaml +0 -19
- data/.data/spec/std/isa/inst/Zcmt/cm.jalt.yaml +0 -2
- data/.data/spec/std/isa/inst/Zcmt/cm.jt.yaml +0 -2
- data/.data/spec/std/isa/inst/Zfa/fli.s.yaml +0 -45
- data/.data/spec/std/isa/inst/Zfa/fmaxm.s.yaml +0 -24
- data/.data/spec/std/isa/inst/Zfa/fminm.s.yaml +0 -24
- data/.data/spec/std/isa/inst/Zfa/fround.s.yaml +0 -22
- data/.data/spec/std/isa/inst/Zfa/froundnx.s.yaml +0 -22
- data/.data/spec/std/isa/inst/Zfh/fcvt.h.s.yaml +0 -22
- data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +0 -22
- data/.data/spec/std/isa/inst/Zfh/flh.yaml +0 -34
- data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +0 -13
- data/.data/spec/std/isa/inst/Zfh/fmv.x.h.yaml +0 -13
- data/.data/spec/std/isa/inst/Zfh/fsh.yaml +0 -44
- data/.data/spec/std/isa/inst/Zicond/czero.eqz.yaml +0 -15
- data/.data/spec/std/isa/inst/Zicond/czero.nez.yaml +0 -15
- data/.data/spec/std/isa/inst/Zicsr/csrrs.yaml +0 -31
- data/.data/spec/std/isa/inst/Zicsr/csrrw.yaml +0 -31
- data/.data/spec/std/isa/inst/Zicsr/csrrwi.yaml +0 -31
- data/.data/spec/std/isa/inst/Zifencei/fence.i.yaml +0 -8
- data/.data/spec/std/isa/isa/globals.isa +1 -1
- data/.data/spec/std/isa/manual_version/isa/20240411/isa_20240411.yaml +0 -2
- data/.data/spec/std/isa/param/HPM_COUNTER_EN.yaml +3 -3
- data/.data/spec/std/isa/param/HPM_EVENTS.yaml +96 -5
- data/.data/spec/std/isa/param/MCOUNTENABLE_EN.yaml +2 -2
- data/.data/spec/std/isa/param/NUM_PMP_ENTRIES.yaml +1 -1
- data/.data/spec/std/isa/param/PMP_GRANULARITY.yaml +1 -1
- data/.data/spec/std/isa/param/SCOUNTENABLE_EN.yaml +2 -6
- data/.data/spec/std/isa/proc_cert_model/MC200-32.yaml +3 -3
- data/.data/spec/std/isa/profile/RVB23M64.yaml +0 -3
- data/lib/udb/cli.rb +4 -0
- data/lib/udb/global_opts.rb +18 -0
- data/lib/udb/obj/extension.rb +3 -0
- data/lib/udb/paths.rb +91 -0
- data/lib/udb/resolver.rb +1 -79
- data/lib/udb/version.rb +1 -1
- data/lib/udb/yaml/yaml_resolver.rb +6 -5
- data/lib/udb/z3.rb +41 -0
- metadata +5 -4
- data/.data/spec/std/isa/ext/Smhpm.yaml +0 -29
- data/.data/spec/std/isa/ext/Smpmp.yaml +0 -42
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let imm_val : bits('m) = sign_extend(simm);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VICMP_VMSEQ => vs2_val[i] == imm_val,
|
|
62
|
-
VICMP_VMSNE => vs2_val[i] != imm_val,
|
|
63
|
-
VICMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(imm_val),
|
|
64
|
-
VICMP_VMSLE => signed(vs2_val[i]) <= signed(imm_val),
|
|
65
|
-
VICMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(imm_val),
|
|
66
|
-
VICMP_VMSGT => signed(vs2_val[i]) > signed(imm_val)
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let vs1_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs1);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VVCMP_VMSEQ => vs2_val[i] == vs1_val[i],
|
|
62
|
-
VVCMP_VMSNE => vs2_val[i] != vs1_val[i],
|
|
63
|
-
VVCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(vs1_val[i]),
|
|
64
|
-
VVCMP_VMSLT => signed(vs2_val[i]) < signed(vs1_val[i]),
|
|
65
|
-
VVCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(vs1_val[i]),
|
|
66
|
-
VVCMP_VMSLE => signed(vs2_val[i]) <= signed(vs1_val[i])
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,49 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let rs1_val : bits('m) = get_scalar(rs1, SEW);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VXCMP_VMSEQ => vs2_val[i] == rs1_val,
|
|
62
|
-
VXCMP_VMSNE => vs2_val[i] != rs1_val,
|
|
63
|
-
VXCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(rs1_val),
|
|
64
|
-
VXCMP_VMSLT => signed(vs2_val[i]) < signed(rs1_val),
|
|
65
|
-
VXCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(rs1_val),
|
|
66
|
-
VXCMP_VMSLE => signed(vs2_val[i]) <= signed(rs1_val),
|
|
67
|
-
VXCMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(rs1_val),
|
|
68
|
-
VXCMP_VMSGT => signed(vs2_val[i]) > signed(rs1_val)
|
|
69
|
-
};
|
|
70
|
-
result[i] = res
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
write_vmask(num_elem, vd, result);
|
|
75
|
-
vstart = zeros();
|
|
76
|
-
RETIRE_SUCCESS
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
# SPDX-SnippetEnd
|
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let imm_val : bits('m) = sign_extend(simm);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VICMP_VMSEQ => vs2_val[i] == imm_val,
|
|
62
|
-
VICMP_VMSNE => vs2_val[i] != imm_val,
|
|
63
|
-
VICMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(imm_val),
|
|
64
|
-
VICMP_VMSLE => signed(vs2_val[i]) <= signed(imm_val),
|
|
65
|
-
VICMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(imm_val),
|
|
66
|
-
VICMP_VMSGT => signed(vs2_val[i]) > signed(imm_val)
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let vs1_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs1);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VVCMP_VMSEQ => vs2_val[i] == vs1_val[i],
|
|
62
|
-
VVCMP_VMSNE => vs2_val[i] != vs1_val[i],
|
|
63
|
-
VVCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(vs1_val[i]),
|
|
64
|
-
VVCMP_VMSLT => signed(vs2_val[i]) < signed(vs1_val[i]),
|
|
65
|
-
VVCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(vs1_val[i]),
|
|
66
|
-
VVCMP_VMSLE => signed(vs2_val[i]) <= signed(vs1_val[i])
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,49 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let rs1_val : bits('m) = get_scalar(rs1, SEW);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VXCMP_VMSEQ => vs2_val[i] == rs1_val,
|
|
62
|
-
VXCMP_VMSNE => vs2_val[i] != rs1_val,
|
|
63
|
-
VXCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(rs1_val),
|
|
64
|
-
VXCMP_VMSLT => signed(vs2_val[i]) < signed(rs1_val),
|
|
65
|
-
VXCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(rs1_val),
|
|
66
|
-
VXCMP_VMSLE => signed(vs2_val[i]) <= signed(rs1_val),
|
|
67
|
-
VXCMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(rs1_val),
|
|
68
|
-
VXCMP_VMSGT => signed(vs2_val[i]) > signed(rs1_val)
|
|
69
|
-
};
|
|
70
|
-
result[i] = res
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
write_vmask(num_elem, vd, result);
|
|
75
|
-
vstart = zeros();
|
|
76
|
-
RETIRE_SUCCESS
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
# SPDX-SnippetEnd
|
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let vs1_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs1);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VVCMP_VMSEQ => vs2_val[i] == vs1_val[i],
|
|
62
|
-
VVCMP_VMSNE => vs2_val[i] != vs1_val[i],
|
|
63
|
-
VVCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(vs1_val[i]),
|
|
64
|
-
VVCMP_VMSLT => signed(vs2_val[i]) < signed(vs1_val[i]),
|
|
65
|
-
VVCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(vs1_val[i]),
|
|
66
|
-
VVCMP_VMSLE => signed(vs2_val[i]) <= signed(vs1_val[i])
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,49 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let rs1_val : bits('m) = get_scalar(rs1, SEW);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VXCMP_VMSEQ => vs2_val[i] == rs1_val,
|
|
62
|
-
VXCMP_VMSNE => vs2_val[i] != rs1_val,
|
|
63
|
-
VXCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(rs1_val),
|
|
64
|
-
VXCMP_VMSLT => signed(vs2_val[i]) < signed(rs1_val),
|
|
65
|
-
VXCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(rs1_val),
|
|
66
|
-
VXCMP_VMSLE => signed(vs2_val[i]) <= signed(rs1_val),
|
|
67
|
-
VXCMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(rs1_val),
|
|
68
|
-
VXCMP_VMSGT => signed(vs2_val[i]) > signed(rs1_val)
|
|
69
|
-
};
|
|
70
|
-
result[i] = res
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
write_vmask(num_elem, vd, result);
|
|
75
|
-
vstart = zeros();
|
|
76
|
-
RETIRE_SUCCESS
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
# SPDX-SnippetEnd
|
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let vs1_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs1);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VVCMP_VMSEQ => vs2_val[i] == vs1_val[i],
|
|
62
|
-
VVCMP_VMSNE => vs2_val[i] != vs1_val[i],
|
|
63
|
-
VVCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(vs1_val[i]),
|
|
64
|
-
VVCMP_VMSLT => signed(vs2_val[i]) < signed(vs1_val[i]),
|
|
65
|
-
VVCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(vs1_val[i]),
|
|
66
|
-
VVCMP_VMSLE => signed(vs2_val[i]) <= signed(vs1_val[i])
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,49 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let rs1_val : bits('m) = get_scalar(rs1, SEW);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VXCMP_VMSEQ => vs2_val[i] == rs1_val,
|
|
62
|
-
VXCMP_VMSNE => vs2_val[i] != rs1_val,
|
|
63
|
-
VXCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(rs1_val),
|
|
64
|
-
VXCMP_VMSLT => signed(vs2_val[i]) < signed(rs1_val),
|
|
65
|
-
VXCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(rs1_val),
|
|
66
|
-
VXCMP_VMSLE => signed(vs2_val[i]) <= signed(rs1_val),
|
|
67
|
-
VXCMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(rs1_val),
|
|
68
|
-
VXCMP_VMSGT => signed(vs2_val[i]) > signed(rs1_val)
|
|
69
|
-
};
|
|
70
|
-
result[i] = res
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
write_vmask(num_elem, vd, result);
|
|
75
|
-
vstart = zeros();
|
|
76
|
-
RETIRE_SUCCESS
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
# SPDX-SnippetEnd
|
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let imm_val : bits('m) = sign_extend(simm);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VICMP_VMSEQ => vs2_val[i] == imm_val,
|
|
62
|
-
VICMP_VMSNE => vs2_val[i] != imm_val,
|
|
63
|
-
VICMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(imm_val),
|
|
64
|
-
VICMP_VMSLE => signed(vs2_val[i]) <= signed(imm_val),
|
|
65
|
-
VICMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(imm_val),
|
|
66
|
-
VICMP_VMSGT => signed(vs2_val[i]) > signed(imm_val)
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,47 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let vs1_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs1);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VVCMP_VMSEQ => vs2_val[i] == vs1_val[i],
|
|
62
|
-
VVCMP_VMSNE => vs2_val[i] != vs1_val[i],
|
|
63
|
-
VVCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(vs1_val[i]),
|
|
64
|
-
VVCMP_VMSLT => signed(vs2_val[i]) < signed(vs1_val[i]),
|
|
65
|
-
VVCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(vs1_val[i]),
|
|
66
|
-
VVCMP_VMSLE => signed(vs2_val[i]) <= signed(vs1_val[i])
|
|
67
|
-
};
|
|
68
|
-
result[i] = res
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
write_vmask(num_elem, vd, result);
|
|
73
|
-
vstart = zeros();
|
|
74
|
-
RETIRE_SUCCESS
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# SPDX-SnippetEnd
|
|
@@ -31,49 +31,3 @@ access:
|
|
|
31
31
|
vu: always
|
|
32
32
|
data_independent_timing: false
|
|
33
33
|
operation(): |
|
|
34
|
-
|
|
35
|
-
# SPDX-SnippetBegin
|
|
36
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
37
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
38
|
-
sail(): |
|
|
39
|
-
{
|
|
40
|
-
let SEW = get_sew();
|
|
41
|
-
let LMUL_pow = get_lmul_pow();
|
|
42
|
-
let num_elem = get_num_elem(LMUL_pow, SEW);
|
|
43
|
-
|
|
44
|
-
if illegal_vd_unmasked() then { handle_illegal(); return RETIRE_FAIL };
|
|
45
|
-
|
|
46
|
-
let 'n = num_elem;
|
|
47
|
-
let 'm = SEW;
|
|
48
|
-
|
|
49
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
50
|
-
let rs1_val : bits('m) = get_scalar(rs1, SEW);
|
|
51
|
-
let vs2_val : vector('n, dec, bits('m)) = read_vreg(num_elem, SEW, LMUL_pow, vs2);
|
|
52
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
53
|
-
result : vector('n, dec, bool) = undefined;
|
|
54
|
-
mask : vector('n, dec, bool) = undefined;
|
|
55
|
-
|
|
56
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, LMUL_pow, vd_val, vm_val);
|
|
57
|
-
|
|
58
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
59
|
-
if mask[i] then {
|
|
60
|
-
let res : bool = match funct6 {
|
|
61
|
-
VXCMP_VMSEQ => vs2_val[i] == rs1_val,
|
|
62
|
-
VXCMP_VMSNE => vs2_val[i] != rs1_val,
|
|
63
|
-
VXCMP_VMSLTU => unsigned(vs2_val[i]) < unsigned(rs1_val),
|
|
64
|
-
VXCMP_VMSLT => signed(vs2_val[i]) < signed(rs1_val),
|
|
65
|
-
VXCMP_VMSLEU => unsigned(vs2_val[i]) <= unsigned(rs1_val),
|
|
66
|
-
VXCMP_VMSLE => signed(vs2_val[i]) <= signed(rs1_val),
|
|
67
|
-
VXCMP_VMSGTU => unsigned(vs2_val[i]) > unsigned(rs1_val),
|
|
68
|
-
VXCMP_VMSGT => signed(vs2_val[i]) > signed(rs1_val)
|
|
69
|
-
};
|
|
70
|
-
result[i] = res
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
write_vmask(num_elem, vd, result);
|
|
75
|
-
vstart = zeros();
|
|
76
|
-
RETIRE_SUCCESS
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
# SPDX-SnippetEnd
|
|
@@ -29,45 +29,3 @@ access:
|
|
|
29
29
|
vu: always
|
|
30
30
|
data_independent_timing: false
|
|
31
31
|
operation(): |
|
|
32
|
-
|
|
33
|
-
# SPDX-SnippetBegin
|
|
34
|
-
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
35
|
-
# SPDX-License-Identifier: BSD-2-Clause
|
|
36
|
-
sail(): |
|
|
37
|
-
{
|
|
38
|
-
let SEW = get_sew();
|
|
39
|
-
let LMUL_pow = get_lmul_pow();
|
|
40
|
-
let num_elem = unsigned(vlenb) * 8;
|
|
41
|
-
|
|
42
|
-
if illegal_normal(vd, vm) | not(assert_vstart(0)) | vd == vs2
|
|
43
|
-
then { handle_illegal(); return RETIRE_FAIL };
|
|
44
|
-
|
|
45
|
-
let 'n = num_elem;
|
|
46
|
-
let 'm = SEW;
|
|
47
|
-
|
|
48
|
-
let vm_val : vector('n, dec, bool) = read_vmask(num_elem, vm, 0b00000);
|
|
49
|
-
let vs2_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vs2);
|
|
50
|
-
let vd_val : vector('n, dec, bool) = read_vmask(num_elem, 0b0, vd);
|
|
51
|
-
result : vector('n, dec, bool) = undefined;
|
|
52
|
-
mask : vector('n, dec, bool) = undefined;
|
|
53
|
-
|
|
54
|
-
(result, mask) = init_masked_result_cmp(num_elem, SEW, 0, vd_val, vm_val);
|
|
55
|
-
|
|
56
|
-
found_elem : bool = false;
|
|
57
|
-
foreach (i from 0 to (num_elem - 1)) {
|
|
58
|
-
if mask[i] then {
|
|
59
|
-
if vs2_val[i] & not(found_elem) then {
|
|
60
|
-
result[i] = true;
|
|
61
|
-
found_elem = true
|
|
62
|
-
} else {
|
|
63
|
-
result[i] = false
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
write_vmask(num_elem, vd, result);
|
|
69
|
-
vstart = zeros();
|
|
70
|
-
RETIRE_SUCCESS
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
# SPDX-SnippetEnd
|