diff options
author | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2011-06-12 20:27:10 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2011-06-12 20:27:10 -0700 |
commit | 740f981cfd55604d46598144dccac26dd53f643c (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /riscv/insns | |
parent | c0ebf99d6bb3ef3cf252703b50b849bcbaa2ec59 (diff) | |
download | spike-740f981cfd55604d46598144dccac26dd53f643c.zip spike-740f981cfd55604d46598144dccac26dd53f643c.tar.gz spike-740f981cfd55604d46598144dccac26dd53f643c.tar.bz2 |
[sim] renamed to riscv-isa-run
Diffstat (limited to 'riscv/insns')
272 files changed, 0 insertions, 812 deletions
diff --git a/riscv/insns/add.h b/riscv/insns/add.h deleted file mode 100644 index 34d49ff..0000000 --- a/riscv/insns/add.h +++ /dev/null @@ -1 +0,0 @@ -RD = sext_xprlen(RS1 + RS2); diff --git a/riscv/insns/addi.h b/riscv/insns/addi.h deleted file mode 100644 index 88881e5..0000000 --- a/riscv/insns/addi.h +++ /dev/null @@ -1 +0,0 @@ -RD = sext_xprlen(RS1 + SIMM); diff --git a/riscv/insns/addiw.h b/riscv/insns/addiw.h deleted file mode 100644 index 23ae278..0000000 --- a/riscv/insns/addiw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32(SIMM + RS1); diff --git a/riscv/insns/addw.h b/riscv/insns/addw.h deleted file mode 100644 index 4e2ed56..0000000 --- a/riscv/insns/addw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32(RS1 + RS2); diff --git a/riscv/insns/amoadd_d.h b/riscv/insns/amoadd_d.h deleted file mode 100644 index b8450bf..0000000 --- a/riscv/insns/amoadd_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -reg_t v = mmu.load_uint64(RS1); -mmu.store_uint64(RS1, RS2 + v); -RD = v; diff --git a/riscv/insns/amoadd_w.h b/riscv/insns/amoadd_w.h deleted file mode 100644 index 033b3c8..0000000 --- a/riscv/insns/amoadd_w.h +++ /dev/null @@ -1,3 +0,0 @@ -reg_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, RS2 + v); -RD = v; diff --git a/riscv/insns/amoand_d.h b/riscv/insns/amoand_d.h deleted file mode 100644 index 586eb7f..0000000 --- a/riscv/insns/amoand_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -reg_t v = mmu.load_uint64(RS1); -mmu.store_uint64(RS1, RS2 & v); -RD = v; diff --git a/riscv/insns/amoand_w.h b/riscv/insns/amoand_w.h deleted file mode 100644 index 18a9249..0000000 --- a/riscv/insns/amoand_w.h +++ /dev/null @@ -1,3 +0,0 @@ -reg_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, RS2 & v); -RD = v; diff --git a/riscv/insns/amomax_d.h b/riscv/insns/amomax_d.h deleted file mode 100644 index 1a0bc8a..0000000 --- a/riscv/insns/amomax_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -sreg_t v = mmu.load_int64(RS1); -mmu.store_uint64(RS1, std::max(sreg_t(RS2),v)); -RD = v; diff --git a/riscv/insns/amomax_w.h b/riscv/insns/amomax_w.h deleted file mode 100644 index ff9c2da..0000000 --- a/riscv/insns/amomax_w.h +++ /dev/null @@ -1,3 +0,0 @@ -int32_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, std::max(int32_t(RS2),v)); -RD = v; diff --git a/riscv/insns/amomaxu_d.h b/riscv/insns/amomaxu_d.h deleted file mode 100644 index ccfaf1d..0000000 --- a/riscv/insns/amomaxu_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -reg_t v = mmu.load_uint64(RS1); -mmu.store_uint64(RS1, std::max(RS2,v)); -RD = v; diff --git a/riscv/insns/amomaxu_w.h b/riscv/insns/amomaxu_w.h deleted file mode 100644 index 075847d..0000000 --- a/riscv/insns/amomaxu_w.h +++ /dev/null @@ -1,3 +0,0 @@ -uint32_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, std::max(uint32_t(RS2),v)); -RD = (int32_t)v; diff --git a/riscv/insns/amomin_d.h b/riscv/insns/amomin_d.h deleted file mode 100644 index 4f3b6d6..0000000 --- a/riscv/insns/amomin_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -sreg_t v = mmu.load_int64(RS1); -mmu.store_uint64(RS1, std::min(sreg_t(RS2),v)); -RD = v; diff --git a/riscv/insns/amomin_w.h b/riscv/insns/amomin_w.h deleted file mode 100644 index 529ad50..0000000 --- a/riscv/insns/amomin_w.h +++ /dev/null @@ -1,3 +0,0 @@ -int32_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, std::min(int32_t(RS2),v)); -RD = v; diff --git a/riscv/insns/amominu_d.h b/riscv/insns/amominu_d.h deleted file mode 100644 index c09c51a..0000000 --- a/riscv/insns/amominu_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -reg_t v = mmu.load_uint64(RS1); -mmu.store_uint64(RS1, std::min(RS2,v)); -RD = v; diff --git a/riscv/insns/amominu_w.h b/riscv/insns/amominu_w.h deleted file mode 100644 index d8d6377..0000000 --- a/riscv/insns/amominu_w.h +++ /dev/null @@ -1,3 +0,0 @@ -uint32_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, std::min(uint32_t(RS2),v)); -RD = (int32_t)v; diff --git a/riscv/insns/amoor_d.h b/riscv/insns/amoor_d.h deleted file mode 100644 index 76a4508..0000000 --- a/riscv/insns/amoor_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -reg_t v = mmu.load_uint64(RS1); -mmu.store_uint64(RS1, RS2 | v); -RD = v; diff --git a/riscv/insns/amoor_w.h b/riscv/insns/amoor_w.h deleted file mode 100644 index 741fbef..0000000 --- a/riscv/insns/amoor_w.h +++ /dev/null @@ -1,3 +0,0 @@ -reg_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, RS2 | v); -RD = v; diff --git a/riscv/insns/amoswap_d.h b/riscv/insns/amoswap_d.h deleted file mode 100644 index 43e3538..0000000 --- a/riscv/insns/amoswap_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_xpr64; -reg_t v = mmu.load_uint64(RS1); -mmu.store_uint64(RS1, RS2); -RD = v; diff --git a/riscv/insns/amoswap_w.h b/riscv/insns/amoswap_w.h deleted file mode 100644 index 30e6102..0000000 --- a/riscv/insns/amoswap_w.h +++ /dev/null @@ -1,3 +0,0 @@ -reg_t v = mmu.load_int32(RS1); -mmu.store_uint32(RS1, RS2); -RD = v; diff --git a/riscv/insns/and.h b/riscv/insns/and.h deleted file mode 100644 index 88ac1d8..0000000 --- a/riscv/insns/and.h +++ /dev/null @@ -1 +0,0 @@ -RD = RS1 & RS2; diff --git a/riscv/insns/andi.h b/riscv/insns/andi.h deleted file mode 100644 index 5caea16..0000000 --- a/riscv/insns/andi.h +++ /dev/null @@ -1 +0,0 @@ -RD = SIMM & RS1; diff --git a/riscv/insns/beq.h b/riscv/insns/beq.h deleted file mode 100644 index 7b26488..0000000 --- a/riscv/insns/beq.h +++ /dev/null @@ -1,2 +0,0 @@ -if(cmp_trunc(RS1) == cmp_trunc(RS2)) - set_pc(BRANCH_TARGET); diff --git a/riscv/insns/bge.h b/riscv/insns/bge.h deleted file mode 100644 index dca544b..0000000 --- a/riscv/insns/bge.h +++ /dev/null @@ -1,2 +0,0 @@ -if(sreg_t(cmp_trunc(RS1)) >= sreg_t(cmp_trunc(RS2))) - set_pc(BRANCH_TARGET); diff --git a/riscv/insns/bgeu.h b/riscv/insns/bgeu.h deleted file mode 100644 index 6325466..0000000 --- a/riscv/insns/bgeu.h +++ /dev/null @@ -1,2 +0,0 @@ -if(cmp_trunc(RS1) >= cmp_trunc(RS2)) - set_pc(BRANCH_TARGET); diff --git a/riscv/insns/blt.h b/riscv/insns/blt.h deleted file mode 100644 index d84fd7a..0000000 --- a/riscv/insns/blt.h +++ /dev/null @@ -1,2 +0,0 @@ -if(sreg_t(cmp_trunc(RS1)) < sreg_t(cmp_trunc(RS2))) - set_pc(BRANCH_TARGET); diff --git a/riscv/insns/bltu.h b/riscv/insns/bltu.h deleted file mode 100644 index 250fd4f..0000000 --- a/riscv/insns/bltu.h +++ /dev/null @@ -1,2 +0,0 @@ -if(cmp_trunc(RS1) < cmp_trunc(RS2)) - set_pc(BRANCH_TARGET); diff --git a/riscv/insns/bne.h b/riscv/insns/bne.h deleted file mode 100644 index f775721..0000000 --- a/riscv/insns/bne.h +++ /dev/null @@ -1,2 +0,0 @@ -if(cmp_trunc(RS1) != cmp_trunc(RS2)) - set_pc(BRANCH_TARGET); diff --git a/riscv/insns/break.h b/riscv/insns/break.h deleted file mode 100644 index 7fd3d66..0000000 --- a/riscv/insns/break.h +++ /dev/null @@ -1 +0,0 @@ -throw trap_breakpoint; diff --git a/riscv/insns/c_add.h b/riscv/insns/c_add.h deleted file mode 100644 index 2170d69..0000000 --- a/riscv/insns/c_add.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRD = CRS1 + CRS2; diff --git a/riscv/insns/c_add3.h b/riscv/insns/c_add3.h deleted file mode 100644 index 914c85d..0000000 --- a/riscv/insns/c_add3.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRDS = CRS1S + CRS2BS; diff --git a/riscv/insns/c_addi.h b/riscv/insns/c_addi.h deleted file mode 100644 index 448e31a..0000000 --- a/riscv/insns/c_addi.h +++ /dev/null @@ -1,10 +0,0 @@ -require_rvc; -if(CRD_REGNUM == 0) -{ - reg_t temp = CRS1; - if(CIMM6 & 0x20) - RA = npc; - set_pc(temp); -} -else - CRD = sext_xprlen(CRS2 + CIMM6); diff --git a/riscv/insns/c_addiw.h b/riscv/insns/c_addiw.h deleted file mode 100644 index 6a1e0a3..0000000 --- a/riscv/insns/c_addiw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRD = sext32(CRS2 + CIMM6); diff --git a/riscv/insns/c_and3.h b/riscv/insns/c_and3.h deleted file mode 100644 index b506d6a..0000000 --- a/riscv/insns/c_and3.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRDS = CRS1S & CRS2BS; diff --git a/riscv/insns/c_beq.h b/riscv/insns/c_beq.h deleted file mode 100644 index 031d96d..0000000 --- a/riscv/insns/c_beq.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -if(cmp_trunc(CRS1S) == cmp_trunc(CRS2S)) - set_pc(CBRANCH_TARGET); diff --git a/riscv/insns/c_bne.h b/riscv/insns/c_bne.h deleted file mode 100644 index caf9229..0000000 --- a/riscv/insns/c_bne.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -if(cmp_trunc(CRS1S) != cmp_trunc(CRS2S)) - set_pc(CBRANCH_TARGET); diff --git a/riscv/insns/c_fld.h b/riscv/insns/c_fld.h deleted file mode 100644 index a726039..0000000 --- a/riscv/insns/c_fld.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_fp; -FCRDS = mmu.load_int64(CRS1S+CIMM5*8); diff --git a/riscv/insns/c_flw.h b/riscv/insns/c_flw.h deleted file mode 100644 index cdb7221..0000000 --- a/riscv/insns/c_flw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_fp; -FCRDS = mmu.load_int32(CRS1S+CIMM5*4); diff --git a/riscv/insns/c_fsd.h b/riscv/insns/c_fsd.h deleted file mode 100644 index 20814fd..0000000 --- a/riscv/insns/c_fsd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_fp; -mmu.store_uint64(CRS1S+CIMM5*8, FCRS2S); diff --git a/riscv/insns/c_fsw.h b/riscv/insns/c_fsw.h deleted file mode 100644 index 1d21629..0000000 --- a/riscv/insns/c_fsw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_fp; -mmu.store_uint32(CRS1S+CIMM5*4, FCRS2S); diff --git a/riscv/insns/c_j.h b/riscv/insns/c_j.h deleted file mode 100644 index 5ba9c73..0000000 --- a/riscv/insns/c_j.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -set_pc(CJUMP_TARGET); diff --git a/riscv/insns/c_ld.h b/riscv/insns/c_ld.h deleted file mode 100644 index f9c07af..0000000 --- a/riscv/insns/c_ld.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRDS = mmu.load_int64(CRS1S+CIMM5*8); diff --git a/riscv/insns/c_ld0.h b/riscv/insns/c_ld0.h deleted file mode 100644 index f51a966..0000000 --- a/riscv/insns/c_ld0.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRD = mmu.load_int64(CRS1); diff --git a/riscv/insns/c_ldsp.h b/riscv/insns/c_ldsp.h deleted file mode 100644 index 1fbd9bd..0000000 --- a/riscv/insns/c_ldsp.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRD = mmu.load_int64(XPR[30]+CIMM6*8); diff --git a/riscv/insns/c_li.h b/riscv/insns/c_li.h deleted file mode 100644 index e65614e..0000000 --- a/riscv/insns/c_li.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRD = CIMM6; diff --git a/riscv/insns/c_lw.h b/riscv/insns/c_lw.h deleted file mode 100644 index 4796ab8..0000000 --- a/riscv/insns/c_lw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRDS = mmu.load_int32(CRS1S+CIMM5*4); diff --git a/riscv/insns/c_lw0.h b/riscv/insns/c_lw0.h deleted file mode 100644 index d263a80..0000000 --- a/riscv/insns/c_lw0.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRD = mmu.load_int32(CRS1); diff --git a/riscv/insns/c_lwsp.h b/riscv/insns/c_lwsp.h deleted file mode 100644 index 318342a..0000000 --- a/riscv/insns/c_lwsp.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRD = mmu.load_int32(XPR[30]+CIMM6*4); diff --git a/riscv/insns/c_move.h b/riscv/insns/c_move.h deleted file mode 100644 index b0aef33..0000000 --- a/riscv/insns/c_move.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRD = CRS1; diff --git a/riscv/insns/c_or3.h b/riscv/insns/c_or3.h deleted file mode 100644 index 143e2ae..0000000 --- a/riscv/insns/c_or3.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRDS = CRS1S | CRS2BS; diff --git a/riscv/insns/c_sd.h b/riscv/insns/c_sd.h deleted file mode 100644 index b2eb456..0000000 --- a/riscv/insns/c_sd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -mmu.store_uint64(CRS1S+CIMM5*8, CRS2S); diff --git a/riscv/insns/c_sdsp.h b/riscv/insns/c_sdsp.h deleted file mode 100644 index ca97d51..0000000 --- a/riscv/insns/c_sdsp.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -mmu.store_uint64(XPR[30]+CIMM6*8, CRS2); diff --git a/riscv/insns/c_slli.h b/riscv/insns/c_slli.h deleted file mode 100644 index 5026767..0000000 --- a/riscv/insns/c_slli.h +++ /dev/null @@ -1,5 +0,0 @@ -require_rvc; -if(xpr64) - CRDS = CRDS << CIMM5U; -else - CRDS = sext32(CRDS << CIMM5U); diff --git a/riscv/insns/c_slli32.h b/riscv/insns/c_slli32.h deleted file mode 100644 index 1e3e958..0000000 --- a/riscv/insns/c_slli32.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRDS = CRDS << (32+CIMM5U); diff --git a/riscv/insns/c_slliw.h b/riscv/insns/c_slliw.h deleted file mode 100644 index 9e428f5..0000000 --- a/riscv/insns/c_slliw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRDS = sext32(CRDS << CIMM5U); diff --git a/riscv/insns/c_srai.h b/riscv/insns/c_srai.h deleted file mode 100644 index aa33424..0000000 --- a/riscv/insns/c_srai.h +++ /dev/null @@ -1,5 +0,0 @@ -require_rvc; -if(xpr64) - CRDS = sreg_t(CRDS) >> CIMM5U; -else - CRDS = sext32(int32_t(CRDS) >> CIMM5U); diff --git a/riscv/insns/c_srai32.h b/riscv/insns/c_srai32.h deleted file mode 100644 index ca7b024..0000000 --- a/riscv/insns/c_srai32.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRDS = sreg_t(CRDS) >> (32+CIMM5U); diff --git a/riscv/insns/c_srli.h b/riscv/insns/c_srli.h deleted file mode 100644 index 56e0681..0000000 --- a/riscv/insns/c_srli.h +++ /dev/null @@ -1,5 +0,0 @@ -require_rvc; -if(xpr64) - CRDS = CRDS >> CIMM5U; -else - CRDS = sext32(uint32_t(CRDS) >> CIMM5U); diff --git a/riscv/insns/c_srli32.h b/riscv/insns/c_srli32.h deleted file mode 100644 index 4f5b8ea..0000000 --- a/riscv/insns/c_srli32.h +++ /dev/null @@ -1,3 +0,0 @@ -require_rvc; -require_xpr64; -CRDS = CRDS >> (32+CIMM5U); diff --git a/riscv/insns/c_sub.h b/riscv/insns/c_sub.h deleted file mode 100644 index 9fd8932..0000000 --- a/riscv/insns/c_sub.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRD = CRS1 - CRS2; diff --git a/riscv/insns/c_sub3.h b/riscv/insns/c_sub3.h deleted file mode 100644 index 53afc84..0000000 --- a/riscv/insns/c_sub3.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -CRDS = CRS1S - CRS2BS; diff --git a/riscv/insns/c_sw.h b/riscv/insns/c_sw.h deleted file mode 100644 index f604adf..0000000 --- a/riscv/insns/c_sw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -mmu.store_uint32(CRS1S+CIMM5*4, CRS2S); diff --git a/riscv/insns/c_swsp.h b/riscv/insns/c_swsp.h deleted file mode 100644 index 0508f12..0000000 --- a/riscv/insns/c_swsp.h +++ /dev/null @@ -1,2 +0,0 @@ -require_rvc; -mmu.store_uint32(XPR[30]+CIMM6*4, CRS2); diff --git a/riscv/insns/cflush.h b/riscv/insns/cflush.h deleted file mode 100644 index 5117ca0..0000000 --- a/riscv/insns/cflush.h +++ /dev/null @@ -1 +0,0 @@ -require_supervisor; diff --git a/riscv/insns/di.h b/riscv/insns/di.h deleted file mode 100644 index 31280d5..0000000 --- a/riscv/insns/di.h +++ /dev/null @@ -1,4 +0,0 @@ -require_supervisor; -uint32_t temp = sr; -set_sr(sr & ~SR_ET); -RD = temp; diff --git a/riscv/insns/div.h b/riscv/insns/div.h deleted file mode 100644 index 82a4066..0000000 --- a/riscv/insns/div.h +++ /dev/null @@ -1,6 +0,0 @@ -if(RS2 == 0) - RD = UINT64_MAX; -else if(sreg_t(RS1) == INT64_MIN && sreg_t(RS2) == -1) - RD = RS1; -else - RD = sext_xprlen(sext_xprlen(RS1) / sext_xprlen(RS2)); diff --git a/riscv/insns/divu.h b/riscv/insns/divu.h deleted file mode 100644 index 681afd2..0000000 --- a/riscv/insns/divu.h +++ /dev/null @@ -1,4 +0,0 @@ -if(RS2 == 0) - RD = UINT64_MAX; -else - RD = sext_xprlen(zext_xprlen(RS1) / zext_xprlen(RS2)); diff --git a/riscv/insns/divuw.h b/riscv/insns/divuw.h deleted file mode 100644 index 0ceb040..0000000 --- a/riscv/insns/divuw.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -if(RS2 == 0) - RD = UINT64_MAX; -else - RD = sext32(zext32(RS1) / zext32(RS2)); diff --git a/riscv/insns/divw.h b/riscv/insns/divw.h deleted file mode 100644 index 51c3d80..0000000 --- a/riscv/insns/divw.h +++ /dev/null @@ -1,7 +0,0 @@ -require_xpr64; -if(RS2 == 0) - RD = UINT64_MAX; -else if(int32_t(RS1) == INT32_MIN && int32_t(RS2) == -1) - RD = RS1; -else - RD = sext32(int32_t(RS1) / int32_t(RS2)); diff --git a/riscv/insns/ei.h b/riscv/insns/ei.h deleted file mode 100644 index 8306aeb..0000000 --- a/riscv/insns/ei.h +++ /dev/null @@ -1,4 +0,0 @@ -require_supervisor; -uint32_t temp = sr; -set_sr(sr | SR_ET); -RD = temp; diff --git a/riscv/insns/eret.h b/riscv/insns/eret.h deleted file mode 100644 index 46d5bed..0000000 --- a/riscv/insns/eret.h +++ /dev/null @@ -1,5 +0,0 @@ -require_supervisor; -if(sr & SR_ET) - throw trap_illegal_instruction; -set_sr(((sr & SR_PS) ? sr : (sr & ~SR_S)) | SR_ET); -set_pc(epc); diff --git a/riscv/insns/fadd_d.h b/riscv/insns/fadd_d.h deleted file mode 100644 index 48c76a7..0000000 --- a/riscv/insns/fadd_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_add(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fadd_s.h b/riscv/insns/fadd_s.h deleted file mode 100644 index 2fd5429..0000000 --- a/riscv/insns/fadd_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_add(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_d_l.h b/riscv/insns/fcvt_d_l.h deleted file mode 100644 index 68c0482..0000000 --- a/riscv/insns/fcvt_d_l.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -FRD = i64_to_f64(RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_d_lu.h b/riscv/insns/fcvt_d_lu.h deleted file mode 100644 index 2032758..0000000 --- a/riscv/insns/fcvt_d_lu.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -FRD = ui64_to_f64(RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_d_s.h b/riscv/insns/fcvt_d_s.h deleted file mode 100644 index 6b1a09c..0000000 --- a/riscv/insns/fcvt_d_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_to_f64(FRS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_d_w.h b/riscv/insns/fcvt_d_w.h deleted file mode 100644 index 52abd75..0000000 --- a/riscv/insns/fcvt_d_w.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = i32_to_f64((int32_t)RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_d_wu.h b/riscv/insns/fcvt_d_wu.h deleted file mode 100644 index 61a8a78..0000000 --- a/riscv/insns/fcvt_d_wu.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = ui32_to_f64((uint32_t)RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_l_d.h b/riscv/insns/fcvt_l_d.h deleted file mode 100644 index 206ba4f..0000000 --- a/riscv/insns/fcvt_l_d.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -RD = f64_to_i64(FRS1, RM, true); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_l_s.h b/riscv/insns/fcvt_l_s.h deleted file mode 100644 index e05f476..0000000 --- a/riscv/insns/fcvt_l_s.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -RD = f32_to_i64(FRS1, RM, true); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_lu_d.h b/riscv/insns/fcvt_lu_d.h deleted file mode 100644 index 44c3dd6..0000000 --- a/riscv/insns/fcvt_lu_d.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -RD = f64_to_ui64(FRS1, RM, true); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_lu_s.h b/riscv/insns/fcvt_lu_s.h deleted file mode 100644 index 13de436..0000000 --- a/riscv/insns/fcvt_lu_s.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -RD = f32_to_ui64(FRS1, RM, true); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_s_d.h b/riscv/insns/fcvt_s_d.h deleted file mode 100644 index e5289c4..0000000 --- a/riscv/insns/fcvt_s_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_to_f32(FRS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_s_l.h b/riscv/insns/fcvt_s_l.h deleted file mode 100644 index f149229..0000000 --- a/riscv/insns/fcvt_s_l.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -FRD = i64_to_f32(RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_s_lu.h b/riscv/insns/fcvt_s_lu.h deleted file mode 100644 index d9d0946..0000000 --- a/riscv/insns/fcvt_s_lu.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -require_fp; -softfloat_roundingMode = RM; -FRD = ui64_to_f32(RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_s_w.h b/riscv/insns/fcvt_s_w.h deleted file mode 100644 index dedebb5..0000000 --- a/riscv/insns/fcvt_s_w.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = i32_to_f32((int32_t)RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_s_wu.h b/riscv/insns/fcvt_s_wu.h deleted file mode 100644 index abb782c..0000000 --- a/riscv/insns/fcvt_s_wu.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = ui32_to_f32((uint32_t)RS1); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_w_d.h b/riscv/insns/fcvt_w_d.h deleted file mode 100644 index 88dc3d3..0000000 --- a/riscv/insns/fcvt_w_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -RD = sext32(f64_to_i32(FRS1, RM, true)); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_w_s.h b/riscv/insns/fcvt_w_s.h deleted file mode 100644 index f14cc19..0000000 --- a/riscv/insns/fcvt_w_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -RD = sext32(f32_to_i32(FRS1, RM, true)); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_wu_d.h b/riscv/insns/fcvt_wu_d.h deleted file mode 100644 index 43ad6f6..0000000 --- a/riscv/insns/fcvt_wu_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -RD = sext32(f64_to_ui32(FRS1, RM, true)); -set_fp_exceptions; diff --git a/riscv/insns/fcvt_wu_s.h b/riscv/insns/fcvt_wu_s.h deleted file mode 100644 index ff7a11c..0000000 --- a/riscv/insns/fcvt_wu_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -RD = sext32(f32_to_ui32(FRS1, RM, true)); -set_fp_exceptions; diff --git a/riscv/insns/fdiv_d.h b/riscv/insns/fdiv_d.h deleted file mode 100644 index aa00c98..0000000 --- a/riscv/insns/fdiv_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_div(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fdiv_s.h b/riscv/insns/fdiv_s.h deleted file mode 100644 index 8c76587..0000000 --- a/riscv/insns/fdiv_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_div(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fence.h b/riscv/insns/fence.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/fence.h +++ /dev/null diff --git a/riscv/insns/fence_g_cv.h b/riscv/insns/fence_g_cv.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/fence_g_cv.h +++ /dev/null diff --git a/riscv/insns/fence_g_v.h b/riscv/insns/fence_g_v.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/fence_g_v.h +++ /dev/null diff --git a/riscv/insns/fence_i.h b/riscv/insns/fence_i.h deleted file mode 100644 index a2dbffe..0000000 --- a/riscv/insns/fence_i.h +++ /dev/null @@ -1 +0,0 @@ -mmu.flush_icache(); diff --git a/riscv/insns/fence_l_cv.h b/riscv/insns/fence_l_cv.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/fence_l_cv.h +++ /dev/null diff --git a/riscv/insns/fence_l_v.h b/riscv/insns/fence_l_v.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/fence_l_v.h +++ /dev/null diff --git a/riscv/insns/feq_d.h b/riscv/insns/feq_d.h deleted file mode 100644 index 9db8760..0000000 --- a/riscv/insns/feq_d.h +++ /dev/null @@ -1,3 +0,0 @@ -require_fp; -RD = f64_eq(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/feq_s.h b/riscv/insns/feq_s.h deleted file mode 100644 index 658e8f6..0000000 --- a/riscv/insns/feq_s.h +++ /dev/null @@ -1,3 +0,0 @@ -require_fp; -RD = f32_eq(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fld.h b/riscv/insns/fld.h deleted file mode 100644 index 123dea4..0000000 --- a/riscv/insns/fld.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = mmu.load_int64(RS1+SIMM); diff --git a/riscv/insns/fle_d.h b/riscv/insns/fle_d.h deleted file mode 100644 index da76187..0000000 --- a/riscv/insns/fle_d.h +++ /dev/null @@ -1,3 +0,0 @@ -require_fp; -RD = f64_le(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fle_s.h b/riscv/insns/fle_s.h deleted file mode 100644 index 9c83a17..0000000 --- a/riscv/insns/fle_s.h +++ /dev/null @@ -1,3 +0,0 @@ -require_fp; -RD = f32_le(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/flt_d.h b/riscv/insns/flt_d.h deleted file mode 100644 index 01d135a..0000000 --- a/riscv/insns/flt_d.h +++ /dev/null @@ -1,3 +0,0 @@ -require_fp; -RD = f64_lt(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/flt_s.h b/riscv/insns/flt_s.h deleted file mode 100644 index 52eee5d..0000000 --- a/riscv/insns/flt_s.h +++ /dev/null @@ -1,3 +0,0 @@ -require_fp; -RD = f32_lt(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/flw.h b/riscv/insns/flw.h deleted file mode 100644 index 335fd7d..0000000 --- a/riscv/insns/flw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = mmu.load_int32(RS1+SIMM); diff --git a/riscv/insns/fmadd_d.h b/riscv/insns/fmadd_d.h deleted file mode 100644 index f67853e..0000000 --- a/riscv/insns/fmadd_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_mulAdd(FRS1, FRS2, FRS3); -set_fp_exceptions; diff --git a/riscv/insns/fmadd_s.h b/riscv/insns/fmadd_s.h deleted file mode 100644 index 19db642..0000000 --- a/riscv/insns/fmadd_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_mulAdd(FRS1, FRS2, FRS3); -set_fp_exceptions; diff --git a/riscv/insns/fmax_d.h b/riscv/insns/fmax_d.h deleted file mode 100644 index cbbb343..0000000 --- a/riscv/insns/fmax_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -FRD = isNaNF64UI(FRS2) || f64_le_quiet(FRS2,FRS1) /* && FRS1 not NaN */ - ? FRS1 : FRS2; -set_fp_exceptions; diff --git a/riscv/insns/fmax_s.h b/riscv/insns/fmax_s.h deleted file mode 100644 index 8df665f..0000000 --- a/riscv/insns/fmax_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -FRD = isNaNF32UI(FRS2) || f32_le_quiet(FRS2,FRS1) /* && FRS1 not NaN */ - ? FRS1 : FRS2; -set_fp_exceptions; diff --git a/riscv/insns/fmin_d.h b/riscv/insns/fmin_d.h deleted file mode 100644 index 3d3d454..0000000 --- a/riscv/insns/fmin_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -FRD = isNaNF64UI(FRS2) || f64_lt_quiet(FRS1,FRS2) /* && FRS1 not NaN */ - ? FRS1 : FRS2; -set_fp_exceptions; diff --git a/riscv/insns/fmin_s.h b/riscv/insns/fmin_s.h deleted file mode 100644 index 994c860..0000000 --- a/riscv/insns/fmin_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -FRD = isNaNF32UI(FRS2) || f32_lt_quiet(FRS1,FRS2) /* && FRS1 not NaN */ - ? FRS1 : FRS2; -set_fp_exceptions; diff --git a/riscv/insns/fmovn.h b/riscv/insns/fmovn.h deleted file mode 100644 index 394b56c..0000000 --- a/riscv/insns/fmovn.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -if (RS1 & 0x1) FRD = FRS2; diff --git a/riscv/insns/fmovz.h b/riscv/insns/fmovz.h deleted file mode 100644 index 7862216..0000000 --- a/riscv/insns/fmovz.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -if (~RS1 & 0x1) FRD = FRS2; diff --git a/riscv/insns/fmsub_d.h b/riscv/insns/fmsub_d.h deleted file mode 100644 index b1e9340..0000000 --- a/riscv/insns/fmsub_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_mulAdd(FRS1, FRS2, FRS3 ^ (uint64_t)INT64_MIN); -set_fp_exceptions; diff --git a/riscv/insns/fmsub_s.h b/riscv/insns/fmsub_s.h deleted file mode 100644 index d3349f5..0000000 --- a/riscv/insns/fmsub_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_mulAdd(FRS1, FRS2, FRS3 ^ (uint32_t)INT32_MIN); -set_fp_exceptions; diff --git a/riscv/insns/fmul_d.h b/riscv/insns/fmul_d.h deleted file mode 100644 index a8adedd..0000000 --- a/riscv/insns/fmul_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_mul(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fmul_s.h b/riscv/insns/fmul_s.h deleted file mode 100644 index 6475578..0000000 --- a/riscv/insns/fmul_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_mul(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fnmadd_d.h b/riscv/insns/fnmadd_d.h deleted file mode 100644 index 1e2ee27..0000000 --- a/riscv/insns/fnmadd_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_mulAdd(FRS1, FRS2, FRS3) ^ (uint64_t)INT64_MIN; -set_fp_exceptions; diff --git a/riscv/insns/fnmadd_s.h b/riscv/insns/fnmadd_s.h deleted file mode 100644 index 78abb78..0000000 --- a/riscv/insns/fnmadd_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_mulAdd(FRS1, FRS2, FRS3) ^ (uint32_t)INT32_MIN; -set_fp_exceptions; diff --git a/riscv/insns/fnmsub_d.h b/riscv/insns/fnmsub_d.h deleted file mode 100644 index ae643a5..0000000 --- a/riscv/insns/fnmsub_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_mulAdd(FRS1, FRS2, FRS3 ^ (uint64_t)INT64_MIN) ^ (uint64_t)INT64_MIN; -set_fp_exceptions; diff --git a/riscv/insns/fnmsub_s.h b/riscv/insns/fnmsub_s.h deleted file mode 100644 index cbb70ba..0000000 --- a/riscv/insns/fnmsub_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_mulAdd(FRS1, FRS2, FRS3 ^ (uint32_t)INT32_MIN) ^ (uint32_t)INT32_MIN; -set_fp_exceptions; diff --git a/riscv/insns/fsd.h b/riscv/insns/fsd.h deleted file mode 100644 index 113398e..0000000 --- a/riscv/insns/fsd.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -mmu.store_uint64(RS1+BIMM, FRS2); diff --git a/riscv/insns/fsgnj_d.h b/riscv/insns/fsgnj_d.h deleted file mode 100644 index f66e804..0000000 --- a/riscv/insns/fsgnj_d.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = (FRS1 &~ INT64_MIN) | (FRS2 & INT64_MIN); diff --git a/riscv/insns/fsgnj_s.h b/riscv/insns/fsgnj_s.h deleted file mode 100644 index 35609ac..0000000 --- a/riscv/insns/fsgnj_s.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = (FRS1 &~ (uint32_t)INT32_MIN) | (FRS2 & (uint32_t)INT32_MIN); diff --git a/riscv/insns/fsgnjn_d.h b/riscv/insns/fsgnjn_d.h deleted file mode 100644 index 22de215..0000000 --- a/riscv/insns/fsgnjn_d.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = (FRS1 &~ INT64_MIN) | ((~FRS2) & INT64_MIN); diff --git a/riscv/insns/fsgnjn_s.h b/riscv/insns/fsgnjn_s.h deleted file mode 100644 index dd66d71..0000000 --- a/riscv/insns/fsgnjn_s.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = (FRS1 &~ (uint32_t)INT32_MIN) | ((~FRS2) & (uint32_t)INT32_MIN); diff --git a/riscv/insns/fsgnjx_d.h b/riscv/insns/fsgnjx_d.h deleted file mode 100644 index 331b6e4..0000000 --- a/riscv/insns/fsgnjx_d.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = FRS1 ^ (FRS2 & INT64_MIN); diff --git a/riscv/insns/fsgnjx_s.h b/riscv/insns/fsgnjx_s.h deleted file mode 100644 index b455406..0000000 --- a/riscv/insns/fsgnjx_s.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = FRS1 ^ (FRS2 & (uint32_t)INT32_MIN); diff --git a/riscv/insns/fsqrt_d.h b/riscv/insns/fsqrt_d.h deleted file mode 100644 index 7647c9c..0000000 --- a/riscv/insns/fsqrt_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_sqrt(FRS1); -set_fp_exceptions; diff --git a/riscv/insns/fsqrt_s.h b/riscv/insns/fsqrt_s.h deleted file mode 100644 index 426f241..0000000 --- a/riscv/insns/fsqrt_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_sqrt(FRS1); -set_fp_exceptions; diff --git a/riscv/insns/fsub_d.h b/riscv/insns/fsub_d.h deleted file mode 100644 index e25eebb..0000000 --- a/riscv/insns/fsub_d.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f64_sub(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fsub_s.h b/riscv/insns/fsub_s.h deleted file mode 100644 index 6c64d04..0000000 --- a/riscv/insns/fsub_s.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -softfloat_roundingMode = RM; -FRD = f32_sub(FRS1, FRS2); -set_fp_exceptions; diff --git a/riscv/insns/fsw.h b/riscv/insns/fsw.h deleted file mode 100644 index 23d3333..0000000 --- a/riscv/insns/fsw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -mmu.store_uint32(RS1+BIMM, FRS2); diff --git a/riscv/insns/j.h b/riscv/insns/j.h deleted file mode 100644 index 3a4da2a..0000000 --- a/riscv/insns/j.h +++ /dev/null @@ -1 +0,0 @@ -set_pc(JUMP_TARGET); diff --git a/riscv/insns/jal.h b/riscv/insns/jal.h deleted file mode 100644 index 41dc403..0000000 --- a/riscv/insns/jal.h +++ /dev/null @@ -1,2 +0,0 @@ -RA = npc; -set_pc(JUMP_TARGET); diff --git a/riscv/insns/jalr_c.h b/riscv/insns/jalr_c.h deleted file mode 100644 index 91be911..0000000 --- a/riscv/insns/jalr_c.h +++ /dev/null @@ -1,3 +0,0 @@ -reg_t temp = RS1; -RD = npc; -set_pc(temp + SIMM); diff --git a/riscv/insns/jalr_j.h b/riscv/insns/jalr_j.h deleted file mode 100644 index 0d2ef12..0000000 --- a/riscv/insns/jalr_j.h +++ /dev/null @@ -1 +0,0 @@ -#include "insns/jalr_c.h" diff --git a/riscv/insns/jalr_r.h b/riscv/insns/jalr_r.h deleted file mode 100644 index 0d2ef12..0000000 --- a/riscv/insns/jalr_r.h +++ /dev/null @@ -1 +0,0 @@ -#include "insns/jalr_c.h" diff --git a/riscv/insns/lb.h b/riscv/insns/lb.h deleted file mode 100644 index 81ba7de..0000000 --- a/riscv/insns/lb.h +++ /dev/null @@ -1 +0,0 @@ -RD = mmu.load_int8(RS1+SIMM); diff --git a/riscv/insns/lbu.h b/riscv/insns/lbu.h deleted file mode 100644 index 12c688a..0000000 --- a/riscv/insns/lbu.h +++ /dev/null @@ -1 +0,0 @@ -RD = mmu.load_uint8(RS1+SIMM); diff --git a/riscv/insns/ld.h b/riscv/insns/ld.h deleted file mode 100644 index 940d348..0000000 --- a/riscv/insns/ld.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = mmu.load_int64(RS1+SIMM); diff --git a/riscv/insns/lh.h b/riscv/insns/lh.h deleted file mode 100644 index ec25bc4..0000000 --- a/riscv/insns/lh.h +++ /dev/null @@ -1 +0,0 @@ -RD = mmu.load_int16(RS1+SIMM); diff --git a/riscv/insns/lhu.h b/riscv/insns/lhu.h deleted file mode 100644 index 0999c00..0000000 --- a/riscv/insns/lhu.h +++ /dev/null @@ -1 +0,0 @@ -RD = mmu.load_uint16(RS1+SIMM); diff --git a/riscv/insns/lui.h b/riscv/insns/lui.h deleted file mode 100644 index 6af2a2a..0000000 --- a/riscv/insns/lui.h +++ /dev/null @@ -1 +0,0 @@ -RD = sext32(BIGIMM << IMM_BITS); diff --git a/riscv/insns/lw.h b/riscv/insns/lw.h deleted file mode 100644 index 769c9fd..0000000 --- a/riscv/insns/lw.h +++ /dev/null @@ -1 +0,0 @@ -RD = mmu.load_int32(RS1+SIMM); diff --git a/riscv/insns/lwu.h b/riscv/insns/lwu.h deleted file mode 100644 index f8f9841..0000000 --- a/riscv/insns/lwu.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = mmu.load_uint32(RS1+SIMM); diff --git a/riscv/insns/mffsr.h b/riscv/insns/mffsr.h deleted file mode 100644 index 29debc4..0000000 --- a/riscv/insns/mffsr.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -RD = fsr; diff --git a/riscv/insns/mfpcr.h b/riscv/insns/mfpcr.h deleted file mode 100644 index e0c67ae..0000000 --- a/riscv/insns/mfpcr.h +++ /dev/null @@ -1,68 +0,0 @@ -require_supervisor; - -reg_t val; - -switch(insn.rtype.rs2) -{ - case 0: - val = sr; - break; - case 1: - val = epc; - break; - case 2: - val = badvaddr; - break; - case 3: - val = evec; - break; - case 4: - val = count; - break; - case 5: - val = compare; - break; - case 6: - val = cause; - break; - case 7: - val = 0; - cause &= ~(1 << (IPI_IRQ+CAUSE_IP_SHIFT)); - break; - - case 8: - val = mmu.memsz >> PGSHIFT; - break; - - case 9: - val = mmu.get_ptbr(); - break; - - case 10: - val = id; - break; - - case 11: - val = vecbanks; - break; - - case 12: - val = sim->num_cores(); - break; - - case 17: - fromhost = val = sim->get_fromhost(); - break; - - case 24: - val = pcr_k0; - break; - case 25: - val = pcr_k1; - break; - - default: - val = -1; -} - -RD = sext_xprlen(val); diff --git a/riscv/insns/mftx_d.h b/riscv/insns/mftx_d.h deleted file mode 100644 index 31be4cb..0000000 --- a/riscv/insns/mftx_d.h +++ /dev/null @@ -1,3 +0,0 @@ -require_xpr64; -require_fp; -RD = FRS2; diff --git a/riscv/insns/mftx_s.h b/riscv/insns/mftx_s.h deleted file mode 100644 index 589b33b..0000000 --- a/riscv/insns/mftx_s.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -RD = sext32(FRS2); diff --git a/riscv/insns/movn.h b/riscv/insns/movn.h deleted file mode 100644 index 402d6d3..0000000 --- a/riscv/insns/movn.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -if (RS1 & 0x1) RD = RS2; diff --git a/riscv/insns/movz.h b/riscv/insns/movz.h deleted file mode 100644 index 74cf8a9..0000000 --- a/riscv/insns/movz.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -if (~RS1 & 0x1) RD = RS2; diff --git a/riscv/insns/mtfsr.h b/riscv/insns/mtfsr.h deleted file mode 100644 index cc6f9ea..0000000 --- a/riscv/insns/mtfsr.h +++ /dev/null @@ -1,4 +0,0 @@ -require_fp; -uint32_t tmp = fsr; -set_fsr(RS1); -RD = tmp; diff --git a/riscv/insns/mtpcr.h b/riscv/insns/mtpcr.h deleted file mode 100644 index 46fbfdb..0000000 --- a/riscv/insns/mtpcr.h +++ /dev/null @@ -1,46 +0,0 @@ -require_supervisor; - -switch(insn.rtype.rs2) -{ - case 0: - set_sr(RS1); - break; - case 1: - epc = RS1; - break; - case 3: - evec = RS1; - break; - case 4: - count = RS1; - break; - case 5: - cause &= ~(1 << (TIMER_IRQ+CAUSE_IP_SHIFT)); - compare = RS1; - break; - - case 7: - sim->send_ipi(RS1); - break; - - case 9: - mmu.set_ptbr(RS1); - break; - - case 11: - vecbanks = RS1 & 0xff; - vecbanks_count = __builtin_popcountll(vecbanks); - break; - - case 16: - tohost = RS1; - sim->set_tohost(RS1); - break; - - case 24: - pcr_k0 = RS1; - break; - case 25: - pcr_k1 = RS1; - break; -} diff --git a/riscv/insns/mul.h b/riscv/insns/mul.h deleted file mode 100644 index 770d733..0000000 --- a/riscv/insns/mul.h +++ /dev/null @@ -1 +0,0 @@ -RD = sext_xprlen(RS1 * RS2); diff --git a/riscv/insns/mulh.h b/riscv/insns/mulh.h deleted file mode 100644 index f771a62..0000000 --- a/riscv/insns/mulh.h +++ /dev/null @@ -1,8 +0,0 @@ -if(xpr64) -{ - int64_t a = RS1; - int64_t b = RS2; - RD = (int128_t(a) * int128_t(b)) >> 64; -} -else - RD = sext32((sext32(RS1) * sext32(RS2)) >> 32); diff --git a/riscv/insns/mulhsu.h b/riscv/insns/mulhsu.h deleted file mode 100644 index c832657..0000000 --- a/riscv/insns/mulhsu.h +++ /dev/null @@ -1,8 +0,0 @@ -if(xpr64) -{ - int64_t a = RS1; - uint64_t b = RS2; - RD = (int128_t(a) * uint128_t(b)) >> 64; -} -else - RD = sext32((sext32(RS1) * reg_t((uint32_t)RS2)) >> 32); diff --git a/riscv/insns/mulhu.h b/riscv/insns/mulhu.h deleted file mode 100644 index 6334426..0000000 --- a/riscv/insns/mulhu.h +++ /dev/null @@ -1,4 +0,0 @@ -if(xpr64) - RD = (uint128_t(RS1) * uint128_t(RS2)) >> 64; -else - RD = sext32(((uint64_t)(uint32_t)RS1 * (uint64_t)(uint32_t)RS2) >> 32); diff --git a/riscv/insns/mulw.h b/riscv/insns/mulw.h deleted file mode 100644 index 7b0a934..0000000 --- a/riscv/insns/mulw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32(RS1 * RS2); diff --git a/riscv/insns/mxtf_d.h b/riscv/insns/mxtf_d.h deleted file mode 100644 index 29792ec..0000000 --- a/riscv/insns/mxtf_d.h +++ /dev/null @@ -1,3 +0,0 @@ -require_xpr64; -require_fp; -FRD = RS1; diff --git a/riscv/insns/mxtf_s.h b/riscv/insns/mxtf_s.h deleted file mode 100644 index 54546ea..0000000 --- a/riscv/insns/mxtf_s.h +++ /dev/null @@ -1,2 +0,0 @@ -require_fp; -FRD = RS1; diff --git a/riscv/insns/or.h b/riscv/insns/or.h deleted file mode 100644 index 07bcac3..0000000 --- a/riscv/insns/or.h +++ /dev/null @@ -1 +0,0 @@ -RD = RS1 | RS2; diff --git a/riscv/insns/ori.h b/riscv/insns/ori.h deleted file mode 100644 index 9561b97..0000000 --- a/riscv/insns/ori.h +++ /dev/null @@ -1 +0,0 @@ -RD = SIMM | RS1; diff --git a/riscv/insns/rdcycle.h b/riscv/insns/rdcycle.h deleted file mode 100644 index 9b966a6..0000000 --- a/riscv/insns/rdcycle.h +++ /dev/null @@ -1 +0,0 @@ -RD = cycle; diff --git a/riscv/insns/rdinstret.h b/riscv/insns/rdinstret.h deleted file mode 100644 index 9b966a6..0000000 --- a/riscv/insns/rdinstret.h +++ /dev/null @@ -1 +0,0 @@ -RD = cycle; diff --git a/riscv/insns/rdnpc.h b/riscv/insns/rdnpc.h deleted file mode 100644 index 5525421..0000000 --- a/riscv/insns/rdnpc.h +++ /dev/null @@ -1 +0,0 @@ -RD = npc; diff --git a/riscv/insns/rdtime.h b/riscv/insns/rdtime.h deleted file mode 100644 index 9b966a6..0000000 --- a/riscv/insns/rdtime.h +++ /dev/null @@ -1 +0,0 @@ -RD = cycle; diff --git a/riscv/insns/rem.h b/riscv/insns/rem.h deleted file mode 100644 index ac82a56..0000000 --- a/riscv/insns/rem.h +++ /dev/null @@ -1,6 +0,0 @@ -if(RS2 == 0) - RD = RS1; -else if(sreg_t(RS1) == INT64_MIN && sreg_t(RS2) == -1) - RD = 0; -else - RD = sext_xprlen(sext_xprlen(RS1) % sext_xprlen(RS2)); diff --git a/riscv/insns/remu.h b/riscv/insns/remu.h deleted file mode 100644 index c698aca..0000000 --- a/riscv/insns/remu.h +++ /dev/null @@ -1,4 +0,0 @@ -if(RS2 == 0) - RD = RS1; -else - RD = sext_xprlen(zext_xprlen(RS1) % zext_xprlen(RS2)); diff --git a/riscv/insns/remuw.h b/riscv/insns/remuw.h deleted file mode 100644 index 8234af3..0000000 --- a/riscv/insns/remuw.h +++ /dev/null @@ -1,5 +0,0 @@ -require_xpr64; -if(RS2 == 0) - RD = RS1; -else - RD = sext32(zext_xprlen(RS1) % zext_xprlen(RS2)); diff --git a/riscv/insns/remw.h b/riscv/insns/remw.h deleted file mode 100644 index 93c3858..0000000 --- a/riscv/insns/remw.h +++ /dev/null @@ -1,7 +0,0 @@ -require_xpr64; -if(RS2 == 0) - RD = RS1; -else if(int32_t(RS1) == INT32_MIN && int32_t(RS2) == -1) - RD = 0; -else - RD = sext32(int32_t(RS1) % int32_t(RS2)); diff --git a/riscv/insns/sb.h b/riscv/insns/sb.h deleted file mode 100644 index af5bd10..0000000 --- a/riscv/insns/sb.h +++ /dev/null @@ -1 +0,0 @@ -mmu.store_uint8(RS1+BIMM, RS2); diff --git a/riscv/insns/sd.h b/riscv/insns/sd.h deleted file mode 100644 index 2009149..0000000 --- a/riscv/insns/sd.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -mmu.store_uint64(RS1+BIMM, RS2); diff --git a/riscv/insns/sh.h b/riscv/insns/sh.h deleted file mode 100644 index a484e1e..0000000 --- a/riscv/insns/sh.h +++ /dev/null @@ -1 +0,0 @@ -mmu.store_uint16(RS1+BIMM, RS2); diff --git a/riscv/insns/sll.h b/riscv/insns/sll.h deleted file mode 100644 index 86eb966..0000000 --- a/riscv/insns/sll.h +++ /dev/null @@ -1 +0,0 @@ -RD = sext_xprlen(RS1 << (RS2 & (xprlen-1))); diff --git a/riscv/insns/slli.h b/riscv/insns/slli.h deleted file mode 100644 index bfaf430..0000000 --- a/riscv/insns/slli.h +++ /dev/null @@ -1,8 +0,0 @@ -if(xpr64) - RD = RS1 << SHAMT; -else -{ - if(SHAMT & 0x20) - throw trap_illegal_instruction; - RD = sext32(RS1 << SHAMT); -} diff --git a/riscv/insns/slliw.h b/riscv/insns/slliw.h deleted file mode 100644 index 1f6e50d..0000000 --- a/riscv/insns/slliw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32(RS1 << SHAMTW); diff --git a/riscv/insns/sllw.h b/riscv/insns/sllw.h deleted file mode 100644 index f3356d8..0000000 --- a/riscv/insns/sllw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32(RS1 << (RS2 & 0x1F)); diff --git a/riscv/insns/slt.h b/riscv/insns/slt.h deleted file mode 100644 index 5c50534..0000000 --- a/riscv/insns/slt.h +++ /dev/null @@ -1 +0,0 @@ -RD = sreg_t(cmp_trunc(RS1)) < sreg_t(cmp_trunc(RS2)); diff --git a/riscv/insns/slti.h b/riscv/insns/slti.h deleted file mode 100644 index 1dcd892..0000000 --- a/riscv/insns/slti.h +++ /dev/null @@ -1 +0,0 @@ -RD = sreg_t(cmp_trunc(RS1)) < sreg_t(cmp_trunc(SIMM)); diff --git a/riscv/insns/sltiu.h b/riscv/insns/sltiu.h deleted file mode 100644 index 45e579b..0000000 --- a/riscv/insns/sltiu.h +++ /dev/null @@ -1 +0,0 @@ -RD = cmp_trunc(RS1) < cmp_trunc(SIMM); diff --git a/riscv/insns/sltu.h b/riscv/insns/sltu.h deleted file mode 100644 index 2c5bdc3..0000000 --- a/riscv/insns/sltu.h +++ /dev/null @@ -1 +0,0 @@ -RD = cmp_trunc(RS1) < cmp_trunc(RS2); diff --git a/riscv/insns/sra.h b/riscv/insns/sra.h deleted file mode 100644 index 7102da0..0000000 --- a/riscv/insns/sra.h +++ /dev/null @@ -1 +0,0 @@ -RD = sext_xprlen(sext_xprlen(RS1) >> (RS2 & (xprlen-1))); diff --git a/riscv/insns/srai.h b/riscv/insns/srai.h deleted file mode 100644 index bb17d27..0000000 --- a/riscv/insns/srai.h +++ /dev/null @@ -1,8 +0,0 @@ -if(xpr64) - RD = sreg_t(RS1) >> SHAMT; -else -{ - if(SHAMT & 0x20) - throw trap_illegal_instruction; - RD = sext32(int32_t(RS1) >> SHAMT); -} diff --git a/riscv/insns/sraiw.h b/riscv/insns/sraiw.h deleted file mode 100644 index 4c56730..0000000 --- a/riscv/insns/sraiw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32(int32_t(RS1) >> SHAMTW); diff --git a/riscv/insns/sraw.h b/riscv/insns/sraw.h deleted file mode 100644 index d178374..0000000 --- a/riscv/insns/sraw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32(int32_t(RS1) >> (RS2 & 0x1F)); diff --git a/riscv/insns/srl.h b/riscv/insns/srl.h deleted file mode 100644 index 8230d27..0000000 --- a/riscv/insns/srl.h +++ /dev/null @@ -1,4 +0,0 @@ -if(xpr64) - RD = RS1 >> (RS2 & 0x3F); -else - RD = sext32((uint32_t)RS1 >> (RS2 & 0x1F)); diff --git a/riscv/insns/srli.h b/riscv/insns/srli.h deleted file mode 100644 index 5378fd1..0000000 --- a/riscv/insns/srli.h +++ /dev/null @@ -1,8 +0,0 @@ -if(xpr64) - RD = RS1 >> SHAMT; -else -{ - if(SHAMT & 0x20) - throw trap_illegal_instruction; - RD = sext32((uint32_t)RS1 >> SHAMT); -} diff --git a/riscv/insns/srliw.h b/riscv/insns/srliw.h deleted file mode 100644 index c400507..0000000 --- a/riscv/insns/srliw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32((uint32_t)RS1 >> SHAMTW); diff --git a/riscv/insns/srlw.h b/riscv/insns/srlw.h deleted file mode 100644 index b206f7c..0000000 --- a/riscv/insns/srlw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_xpr64; -RD = sext32((uint32_t)RS1 >> (RS2 & 0x1F)); diff --git a/riscv/insns/stop.h b/riscv/insns/stop.h deleted file mode 100644 index 791a82c..0000000 --- a/riscv/insns/stop.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -utmode = false; -throw vt_command_stop; diff --git a/riscv/insns/sub.h b/riscv/insns/sub.h deleted file mode 100644 index 2b1e057..0000000 --- a/riscv/insns/sub.h +++ /dev/null @@ -1 +0,0 @@ -RD = sext_xprlen(RS1 - RS2); diff --git a/riscv/insns/subw.h b/riscv/insns/subw.h deleted file mode 100644 index 28db334..0000000 --- a/riscv/insns/subw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_xpr64; -RD = sext32(RS1 - RS2); - diff --git a/riscv/insns/sw.h b/riscv/insns/sw.h deleted file mode 100644 index dbe260f..0000000 --- a/riscv/insns/sw.h +++ /dev/null @@ -1 +0,0 @@ -mmu.store_uint32(RS1+BIMM, RS2); diff --git a/riscv/insns/syscall.h b/riscv/insns/syscall.h deleted file mode 100644 index 2c7199d..0000000 --- a/riscv/insns/syscall.h +++ /dev/null @@ -1 +0,0 @@ -throw trap_syscall; diff --git a/riscv/insns/utidx.h b/riscv/insns/utidx.h deleted file mode 100644 index b3c944c..0000000 --- a/riscv/insns/utidx.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -RD = utidx; diff --git a/riscv/insns/vf.h b/riscv/insns/vf.h deleted file mode 100644 index 7779645..0000000 --- a/riscv/insns/vf.h +++ /dev/null @@ -1,8 +0,0 @@ -require_vector; -for (int i=0; i<VL; i++) -{ - uts[i]->pc = RS1+SIMM; - uts[i]->utmode = true; - while (uts[i]->utmode) - uts[i]->step(1, false); // XXX -} diff --git a/riscv/insns/vfld.h b/riscv/insns/vfld.h deleted file mode 100644 index 9b40470..0000000 --- a/riscv/insns/vfld.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_LOAD(FRD, load_int64, 8); diff --git a/riscv/insns/vflsegd.h b/riscv/insns/vflsegd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vflsegd.h +++ /dev/null diff --git a/riscv/insns/vflsegstd.h b/riscv/insns/vflsegstd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vflsegstd.h +++ /dev/null diff --git a/riscv/insns/vflsegstw.h b/riscv/insns/vflsegstw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vflsegstw.h +++ /dev/null diff --git a/riscv/insns/vflsegw.h b/riscv/insns/vflsegw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vflsegw.h +++ /dev/null diff --git a/riscv/insns/vflstd.h b/riscv/insns/vflstd.h deleted file mode 100644 index fa9b32d..0000000 --- a/riscv/insns/vflstd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_LOAD(FRD, load_int64, RS2); diff --git a/riscv/insns/vflstw.h b/riscv/insns/vflstw.h deleted file mode 100644 index 716c818..0000000 --- a/riscv/insns/vflstw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_LOAD(FRD, load_int32, RS2); diff --git a/riscv/insns/vflw.h b/riscv/insns/vflw.h deleted file mode 100644 index 75fdd04..0000000 --- a/riscv/insns/vflw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_LOAD(FRD, load_int32, 4); diff --git a/riscv/insns/vfmst.h b/riscv/insns/vfmst.h deleted file mode 100644 index 20fa123..0000000 --- a/riscv/insns/vfmst.h +++ /dev/null @@ -1,4 +0,0 @@ -require_vector; -require_fp; -demand(0 <= RS2 && RS2 < MAX_UTS, "ut not in range!"); -UT_FRD(RS2) = FRS1; diff --git a/riscv/insns/vfmsv.h b/riscv/insns/vfmsv.h deleted file mode 100644 index a9aa876..0000000 --- a/riscv/insns/vfmsv.h +++ /dev/null @@ -1,5 +0,0 @@ -require_vector; -require_fp; -UT_LOOP_START - UT_LOOP_FRD = FRS1; -UT_LOOP_END diff --git a/riscv/insns/vfmts.h b/riscv/insns/vfmts.h deleted file mode 100644 index 6f56b25..0000000 --- a/riscv/insns/vfmts.h +++ /dev/null @@ -1,4 +0,0 @@ -require_vector; -require_fp; -demand(0 <= RS2 && RS2 < MAX_UTS, "ut not in range"); -FRD = UT_FRS1(RS2); diff --git a/riscv/insns/vfmvv.h b/riscv/insns/vfmvv.h deleted file mode 100644 index 279da21..0000000 --- a/riscv/insns/vfmvv.h +++ /dev/null @@ -1,5 +0,0 @@ -require_vector; -require_fp; -UT_LOOP_START - UT_LOOP_FRD = UT_LOOP_FRS1; -UT_LOOP_END diff --git a/riscv/insns/vfsd.h b/riscv/insns/vfsd.h deleted file mode 100644 index f619fc8..0000000 --- a/riscv/insns/vfsd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_STORE(FRD, store_uint64, 8); diff --git a/riscv/insns/vfssegd.h b/riscv/insns/vfssegd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vfssegd.h +++ /dev/null diff --git a/riscv/insns/vfssegstd.h b/riscv/insns/vfssegstd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vfssegstd.h +++ /dev/null diff --git a/riscv/insns/vfssegstw.h b/riscv/insns/vfssegstw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vfssegstw.h +++ /dev/null diff --git a/riscv/insns/vfssegw.h b/riscv/insns/vfssegw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vfssegw.h +++ /dev/null diff --git a/riscv/insns/vfsstd.h b/riscv/insns/vfsstd.h deleted file mode 100644 index b3bb260..0000000 --- a/riscv/insns/vfsstd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_STORE(FRD, store_uint64, RS2); diff --git a/riscv/insns/vfsstw.h b/riscv/insns/vfsstw.h deleted file mode 100644 index 9cef9b0..0000000 --- a/riscv/insns/vfsstw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_STORE(FRD, store_uint32, RS2); diff --git a/riscv/insns/vfsw.h b/riscv/insns/vfsw.h deleted file mode 100644 index 3fe3d3f..0000000 --- a/riscv/insns/vfsw.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_fp; -VEC_STORE(FRD, store_uint32, 4); diff --git a/riscv/insns/vlb.h b/riscv/insns/vlb.h deleted file mode 100644 index 618380a..0000000 --- a/riscv/insns/vlb.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_int8, 1); diff --git a/riscv/insns/vlbu.h b/riscv/insns/vlbu.h deleted file mode 100644 index f92c8b5..0000000 --- a/riscv/insns/vlbu.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_uint8, 1); diff --git a/riscv/insns/vld.h b/riscv/insns/vld.h deleted file mode 100644 index fb7a3c5..0000000 --- a/riscv/insns/vld.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_xpr64; -VEC_LOAD(RD, load_int64, 8); diff --git a/riscv/insns/vlh.h b/riscv/insns/vlh.h deleted file mode 100644 index 269c2a8..0000000 --- a/riscv/insns/vlh.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_int16, 2); diff --git a/riscv/insns/vlhu.h b/riscv/insns/vlhu.h deleted file mode 100644 index 7a2019d..0000000 --- a/riscv/insns/vlhu.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_uint16, 2); diff --git a/riscv/insns/vlsegb.h b/riscv/insns/vlsegb.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegb.h +++ /dev/null diff --git a/riscv/insns/vlsegbu.h b/riscv/insns/vlsegbu.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegbu.h +++ /dev/null diff --git a/riscv/insns/vlsegd.h b/riscv/insns/vlsegd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegd.h +++ /dev/null diff --git a/riscv/insns/vlsegh.h b/riscv/insns/vlsegh.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegh.h +++ /dev/null diff --git a/riscv/insns/vlseghu.h b/riscv/insns/vlseghu.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlseghu.h +++ /dev/null diff --git a/riscv/insns/vlsegstb.h b/riscv/insns/vlsegstb.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegstb.h +++ /dev/null diff --git a/riscv/insns/vlsegstbu.h b/riscv/insns/vlsegstbu.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegstbu.h +++ /dev/null diff --git a/riscv/insns/vlsegstd.h b/riscv/insns/vlsegstd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegstd.h +++ /dev/null diff --git a/riscv/insns/vlsegsth.h b/riscv/insns/vlsegsth.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegsth.h +++ /dev/null diff --git a/riscv/insns/vlsegsthu.h b/riscv/insns/vlsegsthu.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegsthu.h +++ /dev/null diff --git a/riscv/insns/vlsegstw.h b/riscv/insns/vlsegstw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegstw.h +++ /dev/null diff --git a/riscv/insns/vlsegstwu.h b/riscv/insns/vlsegstwu.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegstwu.h +++ /dev/null diff --git a/riscv/insns/vlsegw.h b/riscv/insns/vlsegw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegw.h +++ /dev/null diff --git a/riscv/insns/vlsegwu.h b/riscv/insns/vlsegwu.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vlsegwu.h +++ /dev/null diff --git a/riscv/insns/vlstb.h b/riscv/insns/vlstb.h deleted file mode 100644 index 219d90e..0000000 --- a/riscv/insns/vlstb.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_int8, RS2); diff --git a/riscv/insns/vlstbu.h b/riscv/insns/vlstbu.h deleted file mode 100644 index 09faa29..0000000 --- a/riscv/insns/vlstbu.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_uint8, RS2); diff --git a/riscv/insns/vlstd.h b/riscv/insns/vlstd.h deleted file mode 100644 index 5e5de9c..0000000 --- a/riscv/insns/vlstd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_xpr64; -VEC_LOAD(RD, load_int64, RS2); diff --git a/riscv/insns/vlsth.h b/riscv/insns/vlsth.h deleted file mode 100644 index af6b5b5..0000000 --- a/riscv/insns/vlsth.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_int16, RS2); diff --git a/riscv/insns/vlsthu.h b/riscv/insns/vlsthu.h deleted file mode 100644 index 0fe8452..0000000 --- a/riscv/insns/vlsthu.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_uint16, RS2); diff --git a/riscv/insns/vlstw.h b/riscv/insns/vlstw.h deleted file mode 100644 index 5375dc0..0000000 --- a/riscv/insns/vlstw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_int32, RS2); diff --git a/riscv/insns/vlstwu.h b/riscv/insns/vlstwu.h deleted file mode 100644 index 328e23f..0000000 --- a/riscv/insns/vlstwu.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_uint32, RS2); diff --git a/riscv/insns/vlw.h b/riscv/insns/vlw.h deleted file mode 100644 index 6e35911..0000000 --- a/riscv/insns/vlw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_int32, 4); diff --git a/riscv/insns/vlwu.h b/riscv/insns/vlwu.h deleted file mode 100644 index 4fa1489..0000000 --- a/riscv/insns/vlwu.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_LOAD(RD, load_uint32, 4); diff --git a/riscv/insns/vmst.h b/riscv/insns/vmst.h deleted file mode 100644 index 7b7cae1..0000000 --- a/riscv/insns/vmst.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -demand(0 <= RS2 && RS2 < MAX_UTS, "ut not in range!"); -UT_RD(RS2) = RS1; diff --git a/riscv/insns/vmsv.h b/riscv/insns/vmsv.h deleted file mode 100644 index c6f4c2c..0000000 --- a/riscv/insns/vmsv.h +++ /dev/null @@ -1,4 +0,0 @@ -require_vector; -UT_LOOP_START - UT_LOOP_RD = RS1; -UT_LOOP_END diff --git a/riscv/insns/vmts.h b/riscv/insns/vmts.h deleted file mode 100644 index a69e388..0000000 --- a/riscv/insns/vmts.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -demand(0 <= RS2 && RS2 < MAX_UTS, "ut not in range"); -RD = UT_RS1(RS2); diff --git a/riscv/insns/vmvv.h b/riscv/insns/vmvv.h deleted file mode 100644 index 91d63d4..0000000 --- a/riscv/insns/vmvv.h +++ /dev/null @@ -1,4 +0,0 @@ -require_vector; -UT_LOOP_START - UT_LOOP_RD = UT_LOOP_RS1; -UT_LOOP_END diff --git a/riscv/insns/vsb.h b/riscv/insns/vsb.h deleted file mode 100644 index c3d5b9d..0000000 --- a/riscv/insns/vsb.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_STORE(RD, store_uint8, 1); diff --git a/riscv/insns/vsd.h b/riscv/insns/vsd.h deleted file mode 100644 index 9c02069..0000000 --- a/riscv/insns/vsd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_xpr64; -VEC_STORE(RD, store_uint64, 8); diff --git a/riscv/insns/vsetvl.h b/riscv/insns/vsetvl.h deleted file mode 100644 index c2212ff..0000000 --- a/riscv/insns/vsetvl.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -setvl(RS1); -RD = VL; diff --git a/riscv/insns/vsh.h b/riscv/insns/vsh.h deleted file mode 100644 index 623eda8..0000000 --- a/riscv/insns/vsh.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_STORE(RD, store_uint16, 2); diff --git a/riscv/insns/vssegb.h b/riscv/insns/vssegb.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegb.h +++ /dev/null diff --git a/riscv/insns/vssegd.h b/riscv/insns/vssegd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegd.h +++ /dev/null diff --git a/riscv/insns/vssegh.h b/riscv/insns/vssegh.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegh.h +++ /dev/null diff --git a/riscv/insns/vssegstb.h b/riscv/insns/vssegstb.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegstb.h +++ /dev/null diff --git a/riscv/insns/vssegstd.h b/riscv/insns/vssegstd.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegstd.h +++ /dev/null diff --git a/riscv/insns/vssegsth.h b/riscv/insns/vssegsth.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegsth.h +++ /dev/null diff --git a/riscv/insns/vssegstw.h b/riscv/insns/vssegstw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegstw.h +++ /dev/null diff --git a/riscv/insns/vssegw.h b/riscv/insns/vssegw.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vssegw.h +++ /dev/null diff --git a/riscv/insns/vsstb.h b/riscv/insns/vsstb.h deleted file mode 100644 index b83cc50..0000000 --- a/riscv/insns/vsstb.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_STORE(RD, store_uint8, RS2); diff --git a/riscv/insns/vsstd.h b/riscv/insns/vsstd.h deleted file mode 100644 index 26868d2..0000000 --- a/riscv/insns/vsstd.h +++ /dev/null @@ -1,3 +0,0 @@ -require_vector; -require_xpr64; -VEC_STORE(RD, store_uint64, RS2); diff --git a/riscv/insns/vssth.h b/riscv/insns/vssth.h deleted file mode 100644 index 3904331..0000000 --- a/riscv/insns/vssth.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_STORE(RD, store_uint16, RS2); diff --git a/riscv/insns/vsstw.h b/riscv/insns/vsstw.h deleted file mode 100644 index 8f05953..0000000 --- a/riscv/insns/vsstw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_STORE(RD, store_uint32, RS2); diff --git a/riscv/insns/vsw.h b/riscv/insns/vsw.h deleted file mode 100644 index 662d4e3..0000000 --- a/riscv/insns/vsw.h +++ /dev/null @@ -1,2 +0,0 @@ -require_vector; -VEC_STORE(RD, store_uint32, 4); diff --git a/riscv/insns/vtcfgivl.h b/riscv/insns/vtcfgivl.h deleted file mode 100644 index e69de29..0000000 --- a/riscv/insns/vtcfgivl.h +++ /dev/null diff --git a/riscv/insns/vvcfgivl.h b/riscv/insns/vvcfgivl.h deleted file mode 100644 index 0ded9f8..0000000 --- a/riscv/insns/vvcfgivl.h +++ /dev/null @@ -1,6 +0,0 @@ -require_vector; -nxpr_use = SIMM & 0x3f; -nfpr_use = (SIMM >> 6) & 0x3f; -vcfg(); -setvl(RS1); -RD = VL; diff --git a/riscv/insns/xor.h b/riscv/insns/xor.h deleted file mode 100644 index 49b1783..0000000 --- a/riscv/insns/xor.h +++ /dev/null @@ -1 +0,0 @@ -RD = RS1 ^ RS2; diff --git a/riscv/insns/xori.h b/riscv/insns/xori.h deleted file mode 100644 index 5852aac..0000000 --- a/riscv/insns/xori.h +++ /dev/null @@ -1 +0,0 @@ -RD = SIMM ^ RS1; |