aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Schmidt <colins@berkeley.edu>2016-08-16 11:42:16 -0700
committerAndrew Waterman <waterman@eecs.berkeley.edu>2016-08-16 11:42:16 -0700
commiteb19d1c1deabf9c8ca7d0f3958b2b6d797f100a9 (patch)
tree2667dc185ef92b0e5911de08313fa8965b165571
parent4fcc71ee8a23c3b4d96218a93a1842dab398be26 (diff)
downloadspike-eb19d1c1deabf9c8ca7d0f3958b2b6d797f100a9.zip
spike-eb19d1c1deabf9c8ca7d0f3958b2b6d797f100a9.tar.gz
spike-eb19d1c1deabf9c8ca7d0f3958b2b6d797f100a9.tar.bz2
remove old rvc directory (#61)
-rw-r--r--rvc/README2
-rw-r--r--rvc/insns/c_add.h2
-rw-r--r--rvc/insns/c_add3.h2
-rw-r--r--rvc/insns/c_addi.h10
-rw-r--r--rvc/insns/c_addiw.h3
-rw-r--r--rvc/insns/c_and3.h2
-rw-r--r--rvc/insns/c_beq.h3
-rw-r--r--rvc/insns/c_bne.h3
-rw-r--r--rvc/insns/c_fld.h3
-rw-r--r--rvc/insns/c_flw.h3
-rw-r--r--rvc/insns/c_fsd.h3
-rw-r--r--rvc/insns/c_fsw.h3
-rw-r--r--rvc/insns/c_j.h2
-rw-r--r--rvc/insns/c_ld.h3
-rw-r--r--rvc/insns/c_ld0.h3
-rw-r--r--rvc/insns/c_ldsp.h3
-rw-r--r--rvc/insns/c_li.h2
-rw-r--r--rvc/insns/c_lw.h2
-rw-r--r--rvc/insns/c_lw0.h2
-rw-r--r--rvc/insns/c_lwsp.h2
-rw-r--r--rvc/insns/c_move.h2
-rw-r--r--rvc/insns/c_or3.h2
-rw-r--r--rvc/insns/c_sd.h3
-rw-r--r--rvc/insns/c_sdsp.h3
-rw-r--r--rvc/insns/c_slli.h5
-rw-r--r--rvc/insns/c_slli32.h3
-rw-r--r--rvc/insns/c_slliw.h3
-rw-r--r--rvc/insns/c_srai.h5
-rw-r--r--rvc/insns/c_srai32.h3
-rw-r--r--rvc/insns/c_srli.h5
-rw-r--r--rvc/insns/c_srli32.h3
-rw-r--r--rvc/insns/c_sub.h2
-rw-r--r--rvc/insns/c_sub3.h2
-rw-r--r--rvc/insns/c_sw.h2
-rw-r--r--rvc/insns/c_swsp.h2
-rw-r--r--rvc/rvc.h30
36 files changed, 0 insertions, 133 deletions
diff --git a/rvc/README b/rvc/README
deleted file mode 100644
index feabcd3..0000000
--- a/rvc/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This directory contains work in progress on RISC-V Compressed (RVC), a 16-bit
-instruction encoding for reduced code size. It is not currently usable.
diff --git a/rvc/insns/c_add.h b/rvc/insns/c_add.h
deleted file mode 100644
index 2170d69..0000000
--- a/rvc/insns/c_add.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRD = CRS1 + CRS2;
diff --git a/rvc/insns/c_add3.h b/rvc/insns/c_add3.h
deleted file mode 100644
index 914c85d..0000000
--- a/rvc/insns/c_add3.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRDS = CRS1S + CRS2BS;
diff --git a/rvc/insns/c_addi.h b/rvc/insns/c_addi.h
deleted file mode 100644
index 448e31a..0000000
--- a/rvc/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/rvc/insns/c_addiw.h b/rvc/insns/c_addiw.h
deleted file mode 100644
index 6a1e0a3..0000000
--- a/rvc/insns/c_addiw.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-CRD = sext32(CRS2 + CIMM6);
diff --git a/rvc/insns/c_and3.h b/rvc/insns/c_and3.h
deleted file mode 100644
index b506d6a..0000000
--- a/rvc/insns/c_and3.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRDS = CRS1S & CRS2BS;
diff --git a/rvc/insns/c_beq.h b/rvc/insns/c_beq.h
deleted file mode 100644
index 031d96d..0000000
--- a/rvc/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/rvc/insns/c_bne.h b/rvc/insns/c_bne.h
deleted file mode 100644
index caf9229..0000000
--- a/rvc/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/rvc/insns/c_fld.h b/rvc/insns/c_fld.h
deleted file mode 100644
index a726039..0000000
--- a/rvc/insns/c_fld.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_fp;
-FCRDS = mmu.load_int64(CRS1S+CIMM5*8);
diff --git a/rvc/insns/c_flw.h b/rvc/insns/c_flw.h
deleted file mode 100644
index cdb7221..0000000
--- a/rvc/insns/c_flw.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_fp;
-FCRDS = mmu.load_int32(CRS1S+CIMM5*4);
diff --git a/rvc/insns/c_fsd.h b/rvc/insns/c_fsd.h
deleted file mode 100644
index 20814fd..0000000
--- a/rvc/insns/c_fsd.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_fp;
-mmu.store_uint64(CRS1S+CIMM5*8, FCRS2S);
diff --git a/rvc/insns/c_fsw.h b/rvc/insns/c_fsw.h
deleted file mode 100644
index 1d21629..0000000
--- a/rvc/insns/c_fsw.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_fp;
-mmu.store_uint32(CRS1S+CIMM5*4, FCRS2S);
diff --git a/rvc/insns/c_j.h b/rvc/insns/c_j.h
deleted file mode 100644
index 5ba9c73..0000000
--- a/rvc/insns/c_j.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-set_pc(CJUMP_TARGET);
diff --git a/rvc/insns/c_ld.h b/rvc/insns/c_ld.h
deleted file mode 100644
index f9c07af..0000000
--- a/rvc/insns/c_ld.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-CRDS = mmu.load_int64(CRS1S+CIMM5*8);
diff --git a/rvc/insns/c_ld0.h b/rvc/insns/c_ld0.h
deleted file mode 100644
index f51a966..0000000
--- a/rvc/insns/c_ld0.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-CRD = mmu.load_int64(CRS1);
diff --git a/rvc/insns/c_ldsp.h b/rvc/insns/c_ldsp.h
deleted file mode 100644
index 1fbd9bd..0000000
--- a/rvc/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/rvc/insns/c_li.h b/rvc/insns/c_li.h
deleted file mode 100644
index e65614e..0000000
--- a/rvc/insns/c_li.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRD = CIMM6;
diff --git a/rvc/insns/c_lw.h b/rvc/insns/c_lw.h
deleted file mode 100644
index 4796ab8..0000000
--- a/rvc/insns/c_lw.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRDS = mmu.load_int32(CRS1S+CIMM5*4);
diff --git a/rvc/insns/c_lw0.h b/rvc/insns/c_lw0.h
deleted file mode 100644
index d263a80..0000000
--- a/rvc/insns/c_lw0.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRD = mmu.load_int32(CRS1);
diff --git a/rvc/insns/c_lwsp.h b/rvc/insns/c_lwsp.h
deleted file mode 100644
index 318342a..0000000
--- a/rvc/insns/c_lwsp.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRD = mmu.load_int32(XPR[30]+CIMM6*4);
diff --git a/rvc/insns/c_move.h b/rvc/insns/c_move.h
deleted file mode 100644
index b0aef33..0000000
--- a/rvc/insns/c_move.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRD = CRS1;
diff --git a/rvc/insns/c_or3.h b/rvc/insns/c_or3.h
deleted file mode 100644
index 143e2ae..0000000
--- a/rvc/insns/c_or3.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRDS = CRS1S | CRS2BS;
diff --git a/rvc/insns/c_sd.h b/rvc/insns/c_sd.h
deleted file mode 100644
index b2eb456..0000000
--- a/rvc/insns/c_sd.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-mmu.store_uint64(CRS1S+CIMM5*8, CRS2S);
diff --git a/rvc/insns/c_sdsp.h b/rvc/insns/c_sdsp.h
deleted file mode 100644
index ca97d51..0000000
--- a/rvc/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/rvc/insns/c_slli.h b/rvc/insns/c_slli.h
deleted file mode 100644
index 5026767..0000000
--- a/rvc/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/rvc/insns/c_slli32.h b/rvc/insns/c_slli32.h
deleted file mode 100644
index 1e3e958..0000000
--- a/rvc/insns/c_slli32.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-CRDS = CRDS << (32+CIMM5U);
diff --git a/rvc/insns/c_slliw.h b/rvc/insns/c_slliw.h
deleted file mode 100644
index 9e428f5..0000000
--- a/rvc/insns/c_slliw.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-CRDS = sext32(CRDS << CIMM5U);
diff --git a/rvc/insns/c_srai.h b/rvc/insns/c_srai.h
deleted file mode 100644
index aa33424..0000000
--- a/rvc/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/rvc/insns/c_srai32.h b/rvc/insns/c_srai32.h
deleted file mode 100644
index ca7b024..0000000
--- a/rvc/insns/c_srai32.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-CRDS = sreg_t(CRDS) >> (32+CIMM5U);
diff --git a/rvc/insns/c_srli.h b/rvc/insns/c_srli.h
deleted file mode 100644
index 56e0681..0000000
--- a/rvc/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/rvc/insns/c_srli32.h b/rvc/insns/c_srli32.h
deleted file mode 100644
index 4f5b8ea..0000000
--- a/rvc/insns/c_srli32.h
+++ /dev/null
@@ -1,3 +0,0 @@
-require_rvc;
-require_xpr64;
-CRDS = CRDS >> (32+CIMM5U);
diff --git a/rvc/insns/c_sub.h b/rvc/insns/c_sub.h
deleted file mode 100644
index 9fd8932..0000000
--- a/rvc/insns/c_sub.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRD = CRS1 - CRS2;
diff --git a/rvc/insns/c_sub3.h b/rvc/insns/c_sub3.h
deleted file mode 100644
index 53afc84..0000000
--- a/rvc/insns/c_sub3.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-CRDS = CRS1S - CRS2BS;
diff --git a/rvc/insns/c_sw.h b/rvc/insns/c_sw.h
deleted file mode 100644
index f604adf..0000000
--- a/rvc/insns/c_sw.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-mmu.store_uint32(CRS1S+CIMM5*4, CRS2S);
diff --git a/rvc/insns/c_swsp.h b/rvc/insns/c_swsp.h
deleted file mode 100644
index 0508f12..0000000
--- a/rvc/insns/c_swsp.h
+++ /dev/null
@@ -1,2 +0,0 @@
-require_rvc;
-mmu.store_uint32(XPR[30]+CIMM6*4, CRS2);
diff --git a/rvc/rvc.h b/rvc/rvc.h
deleted file mode 100644
index 997ffc6..0000000
--- a/rvc/rvc.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _RVC_H
-#define _RVC_H
-
-#define INSN_IS_RVC(x) (((x) & 0x3) < 0x3)
-#define insn_length(x) (INSN_IS_RVC(x) ? 2 : 4)
-#define require_rvc if(!(sr & SR_EC)) throw_illegal_instruction
-
-#define CRD_REGNUM ((insn.bits >> 5) & 0x1f)
-#define CRD XPR.write_port(CRD_REGNUM)
-#define CRS1 XPR[(insn.bits >> 10) & 0x1f]
-#define CRS2 XPR[(insn.bits >> 5) & 0x1f]
-#define CIMM6 ((int32_t)((insn.bits >> 10) & 0x3f) << 26 >> 26)
-#define CIMM5U ((insn.bits >> 5) & 0x1f)
-#define CIMM5 ((int32_t)CIMM5U << 27 >> 27)
-#define CIMM10 ((int32_t)((insn.bits >> 5) & 0x3ff) << 22 >> 22)
-#define CBRANCH_TARGET (pc + (CIMM5 << BRANCH_ALIGN_BITS))
-#define CJUMP_TARGET (pc + (CIMM10 << JUMP_ALIGN_BITS))
-
-static const int rvc_rs1_regmap[8] = { 20, 21, 2, 3, 4, 5, 6, 7 };
-#define rvc_rd_regmap rvc_rs1_regmap
-#define rvc_rs2b_regmap rvc_rs1_regmap
-static const int rvc_rs2_regmap[8] = { 20, 21, 2, 3, 4, 5, 6, 0 };
-#define CRDS XPR.write_port(rvc_rd_regmap[(insn.bits >> 13) & 0x7])
-#define FCRDS FPR.write_port(rvc_rd_regmap[(insn.bits >> 13) & 0x7])
-#define CRS1S XPR[rvc_rs1_regmap[(insn.bits >> 10) & 0x7]]
-#define CRS2S XPR[rvc_rs2_regmap[(insn.bits >> 13) & 0x7]]
-#define CRS2BS XPR[rvc_rs2b_regmap[(insn.bits >> 5) & 0x7]]
-#define FCRS2S FPR[rvc_rs2_regmap[(insn.bits >> 13) & 0x7]]
-
-#endif