udb 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.c.mienter.nest.yaml +21 -21
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.c.mienter.yaml +21 -21
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.c.mileaveret.yaml +19 -19
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lb.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lbu.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lh.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lhu.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.lw.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.sb.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.sh.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.e.sw.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrb.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrbu.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrh.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrhu.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lrw.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lwm.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.lwmi.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.setwm.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.setwmi.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.srb.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.srh.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.srw.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.swm.yaml +1 -1
- data/.data/spec/custom/isa/qc_iu/inst/Xqci/qc.swmi.yaml +1 -1
- data/.data/spec/schemas/README.adoc +6 -3
- data/.data/spec/schemas/csr_schema.json +1 -5
- data/.data/spec/std/isa/csr/Smrnmi/mnstatus.yaml +0 -11
- data/.data/spec/std/isa/csr/hstatus.yaml +0 -2
- data/.data/spec/std/isa/csr/mconfigptr.yaml +0 -3
- data/.data/spec/std/isa/csr/misa.yaml +0 -4
- data/.data/spec/std/isa/csr/mstatus.yaml +0 -13
- data/.data/spec/std/isa/csr/schema.adoc +0 -6
- data/.data/spec/std/isa/inst/C/c.ld.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.ldsp.yaml +1 -1
- data/.data/spec/std/isa/inst/C/c.lw.yaml +1 -1
- data/.data/spec/std/isa/inst/C/c.lwsp.yaml +1 -1
- data/.data/spec/std/isa/inst/C/c.sd.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.sdsp.yaml +2 -2
- data/.data/spec/std/isa/inst/C/c.sw.yaml +1 -1
- data/.data/spec/std/isa/inst/C/c.swsp.yaml +1 -1
- data/.data/spec/std/isa/inst/F/flw.yaml +2 -2
- data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsw.yaml +1 -1
- data/.data/spec/std/isa/inst/I/lb.yaml +1 -1
- data/.data/spec/std/isa/inst/I/lbu.yaml +1 -1
- data/.data/spec/std/isa/inst/I/ld.yaml +2 -2
- data/.data/spec/std/isa/inst/I/lh.yaml +1 -1
- data/.data/spec/std/isa/inst/I/lhu.yaml +1 -1
- data/.data/spec/std/isa/inst/I/lw.yaml +1 -1
- data/.data/spec/std/isa/inst/I/lwu.yaml +1 -1
- data/.data/spec/std/isa/inst/I/sb.yaml +1 -1
- data/.data/spec/std/isa/inst/I/sd.yaml +1 -1
- data/.data/spec/std/isa/inst/I/sh.yaml +1 -1
- data/.data/spec/std/isa/inst/I/sw.yaml +1 -1
- data/.data/spec/std/isa/inst/V/vle8.v.yaml +1 -1
- data/.data/spec/std/isa/inst/V/vse8.v.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoadd.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoand.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomax.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amomin.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amominu.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoor.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoswap.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.SIZE.AQRL.layout +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zaamo/amoxor.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoadd.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoand.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomax.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomaxu.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amomin.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amominu.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoor.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoswap.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.b.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.aq.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.aqrl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.rl.yaml +1 -1
- data/.data/spec/std/isa/inst/Zabha/amoxor.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zalrsc/lr.SIZE.AQRL.layout +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.aq.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.aqrl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.rl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.d.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.aq.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.aqrl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.rl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/lr.w.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.SIZE.AQRL.layout +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.aq.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.aqrl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.rl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.d.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.aq.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.aqrl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.rl.yaml +2 -2
- data/.data/spec/std/isa/inst/Zalrsc/sc.w.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcb/c.lbu.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcb/c.lh.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcb/c.lhu.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcb/c.sb.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcb/c.sh.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcd/c.fld.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcd/c.fldsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcd/c.fsd.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcd/c.fsdsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcf/c.flw.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcf/c.flwsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcf/c.fsw.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcf/c.fswsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcmt/cm.jalt.yaml +2 -2
- data/.data/spec/std/isa/inst/Zcmt/cm.jt.yaml +2 -2
- data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +3 -3
- data/.data/spec/std/isa/inst/Zfh/flh.yaml +2 -2
- data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfh/fsh.yaml +1 -1
- data/.data/spec/std/isa/isa/builtin_functions.idl +3 -5
- data/.data/spec/std/isa/isa/fetch.idl +2 -2
- data/.data/spec/std/isa/isa/fp.idl +7 -8
- data/.data/spec/std/isa/isa/globals.isa +123 -118
- data/.data/spec/std/isa/isa/util.idl +6 -8
- data/lib/udb/cfg_arch.rb +36 -7
- data/lib/udb/doc_link.rb +16 -13
- data/lib/udb/idl/condition_to_udb.rb +7 -7
- data/lib/udb/obj/extension.rb +106 -67
- data/lib/udb/version.rb +2 -1
- data/lib/udb/yaml/yaml_resolver.rb +1 -1
- metadata +2 -27
- data/.data/spec/std/isa/ext/Xmock.yaml +0 -30
- data/.data/spec/std/isa/param/MOCK_1_BIT_INT.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_25_BIT_INT.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_2_BIT_INT.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_32_BIT_INT.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_64_BIT_INT.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_ARRAY_BOOL_ARRAY_OF_8_FIRST_2_FALSE.yaml +0 -22
- data/.data/spec/std/isa/param/MOCK_ARRAY_INT_ENUM.yaml +0 -23
- data/.data/spec/std/isa/param/MOCK_ARRAY_MAX_ONLY.yaml +0 -21
- data/.data/spec/std/isa/param/MOCK_ARRAY_MIN_ONLY.yaml +0 -21
- data/.data/spec/std/isa/param/MOCK_ARRAY_STRING_ENUM1.yaml +0 -21
- data/.data/spec/std/isa/param/MOCK_ARRAY_STRING_ENUM2.yaml +0 -21
- data/.data/spec/std/isa/param/MOCK_BOOL_1.yaml +0 -15
- data/.data/spec/std/isa/param/MOCK_BOOL_2.yaml +0 -15
- data/.data/spec/std/isa/param/MOCK_ENUM_2_INTS.yaml +0 -18
- data/.data/spec/std/isa/param/MOCK_ENUM_2_STRINGS.yaml +0 -18
- data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_1023.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_127.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_128.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_2.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_INT_RANGE_0_TO_999.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_INT_RANGE_1000_TO_2048.yaml +0 -17
- data/.data/spec/std/isa/param/MOCK_INT_RANGE_1_TO_128.yaml +0 -17
- data/.data/spec/std/isa/proc_cert_class/MockProcessor.yaml +0 -13
- data/.data/spec/std/isa/profile_family/Mock.yaml +0 -24
|
@@ -84,7 +84,7 @@ operation(): |
|
|
|
84
84
|
|
|
85
85
|
XReg virtual_address = X[xs1];
|
|
86
86
|
|
|
87
|
-
if (!is_naturally_aligned
|
|
87
|
+
if (!is_naturally_aligned(32, virtual_address)) {
|
|
88
88
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
89
89
|
#
|
|
90
90
|
# from the spec:
|
|
@@ -102,7 +102,7 @@ operation(): |
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
XReg load_value = load_reserved
|
|
105
|
+
XReg load_value = load_reserved(32, virtual_address, aq, rl, $encoding);
|
|
106
106
|
if (xlen() == 64) {
|
|
107
107
|
X[xd] = load_value;
|
|
108
108
|
} else {
|
|
@@ -84,7 +84,7 @@ operation(): |
|
|
|
84
84
|
|
|
85
85
|
XReg virtual_address = X[xs1];
|
|
86
86
|
|
|
87
|
-
if (!is_naturally_aligned
|
|
87
|
+
if (!is_naturally_aligned(32, virtual_address)) {
|
|
88
88
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
89
89
|
#
|
|
90
90
|
# from the spec:
|
|
@@ -102,7 +102,7 @@ operation(): |
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
XReg load_value = load_reserved
|
|
105
|
+
XReg load_value = load_reserved(32, virtual_address, aq, rl, $encoding);
|
|
106
106
|
if (xlen() == 64) {
|
|
107
107
|
X[xd] = load_value;
|
|
108
108
|
} else {
|
|
@@ -184,7 +184,7 @@ operation(): |
|
|
|
184
184
|
XReg virtual_address = X[xs1];
|
|
185
185
|
XReg value = X[xs2];
|
|
186
186
|
|
|
187
|
-
if (!is_naturally_aligned
|
|
187
|
+
if (!is_naturally_aligned(<%= current_size[:align_bits] %>, virtual_address)) {
|
|
188
188
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
189
189
|
#
|
|
190
190
|
# from the spec:
|
|
@@ -202,7 +202,7 @@ operation(): |
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
Boolean success = store_conditional
|
|
205
|
+
Boolean success = store_conditional(<%= current_size[:operation_bits] %>, virtual_address, value, aq, rl, $encoding);
|
|
206
206
|
X[xd] = success ? 0 : 1;
|
|
207
207
|
|
|
208
208
|
# SPDX-SnippetBegin
|
|
@@ -141,7 +141,7 @@ operation(): |
|
|
|
141
141
|
XReg virtual_address = X[xs1];
|
|
142
142
|
XReg value = X[xs2];
|
|
143
143
|
|
|
144
|
-
if (!is_naturally_aligned
|
|
144
|
+
if (!is_naturally_aligned(64, virtual_address)) {
|
|
145
145
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
146
146
|
#
|
|
147
147
|
# from the spec:
|
|
@@ -159,7 +159,7 @@ operation(): |
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
Boolean success = store_conditional
|
|
162
|
+
Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
|
|
163
163
|
X[xd] = success ? 0 : 1;
|
|
164
164
|
|
|
165
165
|
# SPDX-SnippetBegin
|
|
@@ -141,7 +141,7 @@ operation(): |
|
|
|
141
141
|
XReg virtual_address = X[xs1];
|
|
142
142
|
XReg value = X[xs2];
|
|
143
143
|
|
|
144
|
-
if (!is_naturally_aligned
|
|
144
|
+
if (!is_naturally_aligned(64, virtual_address)) {
|
|
145
145
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
146
146
|
#
|
|
147
147
|
# from the spec:
|
|
@@ -159,7 +159,7 @@ operation(): |
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
Boolean success = store_conditional
|
|
162
|
+
Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
|
|
163
163
|
X[xd] = success ? 0 : 1;
|
|
164
164
|
|
|
165
165
|
# SPDX-SnippetBegin
|
|
@@ -141,7 +141,7 @@ operation(): |
|
|
|
141
141
|
XReg virtual_address = X[xs1];
|
|
142
142
|
XReg value = X[xs2];
|
|
143
143
|
|
|
144
|
-
if (!is_naturally_aligned
|
|
144
|
+
if (!is_naturally_aligned(64, virtual_address)) {
|
|
145
145
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
146
146
|
#
|
|
147
147
|
# from the spec:
|
|
@@ -159,7 +159,7 @@ operation(): |
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
Boolean success = store_conditional
|
|
162
|
+
Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
|
|
163
163
|
X[xd] = success ? 0 : 1;
|
|
164
164
|
|
|
165
165
|
# SPDX-SnippetBegin
|
|
@@ -141,7 +141,7 @@ operation(): |
|
|
|
141
141
|
XReg virtual_address = X[xs1];
|
|
142
142
|
XReg value = X[xs2];
|
|
143
143
|
|
|
144
|
-
if (!is_naturally_aligned
|
|
144
|
+
if (!is_naturally_aligned(64, virtual_address)) {
|
|
145
145
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
146
146
|
#
|
|
147
147
|
# from the spec:
|
|
@@ -159,7 +159,7 @@ operation(): |
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
Boolean success = store_conditional
|
|
162
|
+
Boolean success = store_conditional(64, virtual_address, value, aq, rl, $encoding);
|
|
163
163
|
X[xd] = success ? 0 : 1;
|
|
164
164
|
|
|
165
165
|
# SPDX-SnippetBegin
|
|
@@ -143,7 +143,7 @@ operation(): |
|
|
|
143
143
|
XReg virtual_address = X[xs1];
|
|
144
144
|
XReg value = X[xs2];
|
|
145
145
|
|
|
146
|
-
if (!is_naturally_aligned
|
|
146
|
+
if (!is_naturally_aligned(32, virtual_address)) {
|
|
147
147
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
148
148
|
#
|
|
149
149
|
# from the spec:
|
|
@@ -161,7 +161,7 @@ operation(): |
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
Boolean success = store_conditional
|
|
164
|
+
Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
|
|
165
165
|
X[xd] = success ? 0 : 1;
|
|
166
166
|
|
|
167
167
|
# SPDX-SnippetBegin
|
|
@@ -143,7 +143,7 @@ operation(): |
|
|
|
143
143
|
XReg virtual_address = X[xs1];
|
|
144
144
|
XReg value = X[xs2];
|
|
145
145
|
|
|
146
|
-
if (!is_naturally_aligned
|
|
146
|
+
if (!is_naturally_aligned(32, virtual_address)) {
|
|
147
147
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
148
148
|
#
|
|
149
149
|
# from the spec:
|
|
@@ -161,7 +161,7 @@ operation(): |
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
Boolean success = store_conditional
|
|
164
|
+
Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
|
|
165
165
|
X[xd] = success ? 0 : 1;
|
|
166
166
|
|
|
167
167
|
# SPDX-SnippetBegin
|
|
@@ -143,7 +143,7 @@ operation(): |
|
|
|
143
143
|
XReg virtual_address = X[xs1];
|
|
144
144
|
XReg value = X[xs2];
|
|
145
145
|
|
|
146
|
-
if (!is_naturally_aligned
|
|
146
|
+
if (!is_naturally_aligned(32, virtual_address)) {
|
|
147
147
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
148
148
|
#
|
|
149
149
|
# from the spec:
|
|
@@ -161,7 +161,7 @@ operation(): |
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
Boolean success = store_conditional
|
|
164
|
+
Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
|
|
165
165
|
X[xd] = success ? 0 : 1;
|
|
166
166
|
|
|
167
167
|
# SPDX-SnippetBegin
|
|
@@ -143,7 +143,7 @@ operation(): |
|
|
|
143
143
|
XReg virtual_address = X[xs1];
|
|
144
144
|
XReg value = X[xs2];
|
|
145
145
|
|
|
146
|
-
if (!is_naturally_aligned
|
|
146
|
+
if (!is_naturally_aligned(32, virtual_address)) {
|
|
147
147
|
# can raise either LoadAddressMisaligned *or* LoadAccessFault
|
|
148
148
|
#
|
|
149
149
|
# from the spec:
|
|
@@ -161,7 +161,7 @@ operation(): |
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
Boolean success = store_conditional
|
|
164
|
+
Boolean success = store_conditional(32, virtual_address, value, aq, rl, $encoding);
|
|
165
165
|
X[xd] = success ? 0 : 1;
|
|
166
166
|
|
|
167
167
|
# SPDX-SnippetBegin
|
|
@@ -36,7 +36,7 @@ operation(): |
|
|
|
36
36
|
|
|
37
37
|
XReg virtual_address = X[creg2reg(xs1)] + imm;
|
|
38
38
|
|
|
39
|
-
X[creg2reg(xd)] = read_memory
|
|
39
|
+
X[creg2reg(xd)] = read_memory(8, virtual_address, $encoding);
|
|
40
40
|
|
|
41
41
|
# SPDX-SnippetBegin
|
|
42
42
|
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
@@ -37,7 +37,7 @@ operation(): |
|
|
|
37
37
|
|
|
38
38
|
XReg virtual_address = X[creg2reg(xs1)] + imm;
|
|
39
39
|
|
|
40
|
-
X[creg2reg(xd)] = sext(read_memory
|
|
40
|
+
X[creg2reg(xd)] = sext(read_memory(16, virtual_address, $encoding), 16);
|
|
41
41
|
|
|
42
42
|
# SPDX-SnippetBegin
|
|
43
43
|
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
@@ -37,7 +37,7 @@ operation(): |
|
|
|
37
37
|
|
|
38
38
|
XReg virtual_address = X[creg2reg(xs1)] + imm;
|
|
39
39
|
|
|
40
|
-
X[creg2reg(xd)] = read_memory
|
|
40
|
+
X[creg2reg(xd)] = read_memory(16, virtual_address, $encoding);
|
|
41
41
|
|
|
42
42
|
# SPDX-SnippetBegin
|
|
43
43
|
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
@@ -53,9 +53,9 @@ operation(): |
|
|
|
53
53
|
access_check(result.paddr, xlen(), $pc, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
|
|
54
54
|
|
|
55
55
|
if (xlen() == 32) {
|
|
56
|
-
addr = read_physical_memory
|
|
56
|
+
addr = read_physical_memory(32, result.paddr);
|
|
57
57
|
} else {
|
|
58
|
-
addr = read_physical_memory
|
|
58
|
+
addr = read_physical_memory(64, result.paddr);
|
|
59
59
|
} # Ensure low-order bit is clear
|
|
60
60
|
|
|
61
61
|
addr = addr & $signed(2'b10);
|
|
@@ -47,9 +47,9 @@ operation(): |
|
|
|
47
47
|
access_check(result.paddr, xlen(), $pc, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
|
|
48
48
|
|
|
49
49
|
if (xlen() == 32) {
|
|
50
|
-
addr = read_physical_memory
|
|
50
|
+
addr = read_physical_memory(32, result.paddr);
|
|
51
51
|
} else {
|
|
52
|
-
addr = read_physical_memory
|
|
52
|
+
addr = read_physical_memory(64, result.paddr);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
# Ensure low-order bit is clear
|
|
@@ -47,9 +47,9 @@ operation(): |
|
|
|
47
47
|
if ((sp_value & 0x00400000) != 0) {
|
|
48
48
|
set_fp_flag(FpFlag::NV);
|
|
49
49
|
}
|
|
50
|
-
f[fd] = nan_box
|
|
50
|
+
f[fd] = nan_box(16, FLEN, HP_CANONICAL_NAN);
|
|
51
51
|
} else {
|
|
52
|
-
f[fd] = nan_box
|
|
52
|
+
f[fd] = nan_box(16, FLEN, packToF16UI( sign, 0x1F, 0 ));
|
|
53
53
|
}
|
|
54
54
|
} else {
|
|
55
55
|
|
|
@@ -58,7 +58,7 @@ operation(): |
|
|
|
58
58
|
# is OR-red with the sticky
|
|
59
59
|
Bits<16> frac16 = (frac >> 9) | ((frac & 0x1ff) != 0 ? 1 : 0);
|
|
60
60
|
if ((exp | frac16) == 0) {
|
|
61
|
-
f[fd] = nan_box
|
|
61
|
+
f[fd] = nan_box(16, FLEN, packToF16UI( sign, 0, 0 ));
|
|
62
62
|
} else {
|
|
63
63
|
assert(false, "TODO: implement roundPackToF16");
|
|
64
64
|
# f[fd] = soffloat_roundPackToF16(sign, exp - 0x71, frac16 | 0x4000);
|
|
@@ -37,9 +37,9 @@ operation(): |
|
|
|
37
37
|
|
|
38
38
|
XReg virtual_address = X[xs1] + $signed(imm);
|
|
39
39
|
|
|
40
|
-
Bits<16> hp_value = read_memory
|
|
40
|
+
Bits<16> hp_value = read_memory(16, virtual_address, $encoding);
|
|
41
41
|
|
|
42
|
-
f[fd] = nan_box
|
|
42
|
+
f[fd] = nan_box(16, FLEN, hp_value);
|
|
43
43
|
|
|
44
44
|
mark_f_state_dirty();
|
|
45
45
|
|
|
@@ -42,7 +42,7 @@ operation(): |
|
|
|
42
42
|
|
|
43
43
|
Bits<16> hp_value = f[fs2][15:0];
|
|
44
44
|
|
|
45
|
-
write_memory
|
|
45
|
+
write_memory(16, virtual_address, hp_value, $encoding);
|
|
46
46
|
|
|
47
47
|
# SPDX-SnippetBegin
|
|
48
48
|
# SPDX-FileCopyrightText: 2017-2025 Contributors to the RISCV Sail Model <https://github.com/riscv/sail-riscv/blob/master/LICENCE>
|
|
@@ -406,9 +406,8 @@ generated function invalidate_translations {
|
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
function read_physical_memory {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
arguments XReg paddr
|
|
409
|
+
returns XReg
|
|
410
|
+
arguments U32 len, XReg paddr
|
|
412
411
|
description {
|
|
413
412
|
Read from physical memory.
|
|
414
413
|
}
|
|
@@ -460,8 +459,7 @@ builtin function read_physical_memory_64 {
|
|
|
460
459
|
}
|
|
461
460
|
|
|
462
461
|
function write_physical_memory {
|
|
463
|
-
|
|
464
|
-
arguments XReg paddr, Bits<len> value
|
|
462
|
+
arguments U32 len, XReg paddr, XReg value
|
|
465
463
|
description {
|
|
466
464
|
Write to physical memory.
|
|
467
465
|
}
|
|
@@ -22,7 +22,7 @@ function fetch_memory_aligned_16 {
|
|
|
22
22
|
# may raise an exception
|
|
23
23
|
access_check(result.paddr, 16, virtual_address, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
|
|
24
24
|
|
|
25
|
-
return read_physical_memory
|
|
25
|
+
return read_physical_memory(16, result.paddr);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
@@ -45,7 +45,7 @@ function fetch_memory_aligned_32 {
|
|
|
45
45
|
# may raise an exception
|
|
46
46
|
access_check(result.paddr, 32, virtual_address, MemoryOperation::Fetch, ExceptionCode::InstructionAccessFault, mode());
|
|
47
47
|
|
|
48
|
-
return read_physical_memory
|
|
48
|
+
return read_physical_memory(32, result.paddr);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -116,15 +116,14 @@ function mark_f_state_dirty {
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
function nan_box {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
arguments Bits<FROM_SIZE> from_value
|
|
119
|
+
returns XReg
|
|
120
|
+
arguments U32 FROM_SIZE, U32 TO_SIZE, XReg from_value
|
|
122
121
|
description {
|
|
123
122
|
Produces a properly NaN-boxed floating-point value from a floating-point value
|
|
124
123
|
of smaller size by adding all 1's to the upper bits.
|
|
125
124
|
}
|
|
126
125
|
body {
|
|
127
|
-
assert(FROM_SIZE < TO_SIZE, "Bad
|
|
126
|
+
assert(FROM_SIZE < TO_SIZE, "Bad arguments; FROM_SIZE must be less than TO_SIZE");
|
|
128
127
|
|
|
129
128
|
return {{TO_SIZE - FROM_SIZE{1'b1}}, from_value};
|
|
130
129
|
}
|
|
@@ -470,7 +469,7 @@ function softfloat_normSubnormalF16Sig {
|
|
|
470
469
|
normalize subnormal half-precision value
|
|
471
470
|
}
|
|
472
471
|
body {
|
|
473
|
-
Bits<8> shift_dist = count_leading_zeros
|
|
472
|
+
Bits<8> shift_dist = count_leading_zeros(16, hp_value);
|
|
474
473
|
return 1 - shift_dist, hp_value << shift_dist;
|
|
475
474
|
}
|
|
476
475
|
}
|
|
@@ -535,7 +534,7 @@ function softfloat_normRoundPackToF32 {
|
|
|
535
534
|
Normalize, round, and pack into a 32-bit floating point value
|
|
536
535
|
}
|
|
537
536
|
body {
|
|
538
|
-
Bits<8> shiftDist = count_leading_zeros
|
|
537
|
+
Bits<8> shiftDist = count_leading_zeros(32, sig) - 1;
|
|
539
538
|
exp = exp - shiftDist;
|
|
540
539
|
if ((7 <= shiftDist) && (exp < 0xFD)) {
|
|
541
540
|
return packToF32UI(sign, (sig != 0) ? exp : 0, sig << (shiftDist - 7));
|
|
@@ -843,7 +842,7 @@ function softfloat_subMagsF32 {
|
|
|
843
842
|
sigDiff = -32'sh1 * sigDiff;
|
|
844
843
|
}
|
|
845
844
|
|
|
846
|
-
shiftDist = count_leading_zeros
|
|
845
|
+
shiftDist = count_leading_zeros(32, sigDiff) - 8;
|
|
847
846
|
expZ = expA - shiftDist;
|
|
848
847
|
|
|
849
848
|
if (expZ < 0) {
|
|
@@ -1096,7 +1095,7 @@ function softfloat_normRoundPackToF32_no_flag {
|
|
|
1096
1095
|
No flags to be set
|
|
1097
1096
|
}
|
|
1098
1097
|
body {
|
|
1099
|
-
Bits<8> shiftDist = count_leading_zeros
|
|
1098
|
+
Bits<8> shiftDist = count_leading_zeros(32, sig) - 1;
|
|
1100
1099
|
exp = exp - shiftDist;
|
|
1101
1100
|
if ((7 <= shiftDist) && (exp < 0xFD)) {
|
|
1102
1101
|
return packToF32UI(sign, (sig != 0) ? exp : 0, sig << (shiftDist - 7));
|