summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Yunsup Lee <yunsup@cs.berkeley.edu>2012-03-03 15:12:44 -0800
committerGravatar Yunsup Lee <yunsup@cs.berkeley.edu>2012-03-03 15:12:44 -0800
commitd5cb229de8bcacf13ce7bf07736b2e756bebb690 (patch)
tree4c6ccc5f3f83e6d620936536423951bb08f3a70c
parent8b7d325b53667ff123531325a410f40e5dd0373a (diff)
new instructions to handle vector exceptions
-rwxr-xr-xMakefile4
-rw-r--r--inst.v6
-rw-r--r--opcodes6
3 files changed, 14 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 4cb4597..529cf38 100755
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
-ISASIM_H := ../riscv-isa-run/riscv/opcodes.h
+ISASIM_H := ../riscv-isa-sim/riscv/opcodes.h
PK_H := ../riscv-pk/pk/riscv-opc.h
-XCC_H := ../riscv-gcc/src/include/opcode/mips-riscv-opc.h
+XCC_H := ../riscv-gcc/binutils-2.21.1/include/opcode/riscv-opc.h
install: $(ISASIM_H) $(PK_H) $(XCC_H) inst.v instr-table.tex
diff --git a/inst.v b/inst.v
index fde166a..fe0848f 100644
--- a/inst.v
+++ b/inst.v
@@ -103,6 +103,12 @@
`define MTPCR 32'b00000_?????_?????_0000000011_1111011
`define ERET 32'b00000_00000_00000_0000000100_1111011
`define CFLUSH 32'b00000_00000_00000_0000000101_1111011
+`define VENQCMD 32'b00000_?????_00000_1000000000_1111011
+`define VENQIMM1 32'b00000_?????_00000_1000000001_1111011
+`define VENQIMM2 32'b00000_?????_00000_1000000010_1111011
+`define VENQCNT 32'b00000_?????_00000_1000000011_1111011
+`define VWAITXCPT 32'b00000_00000_00000_1100000000_1111011
+`define VWAITKILL 32'b00000_00000_00000_1100000001_1111011
`define FADD_S 32'b?????_?????_?????_00000_???_00_1010011
`define FSUB_S 32'b?????_?????_?????_00001_???_00_1010011
`define FMUL_S 32'b?????_?????_?????_00010_???_00_1010011
diff --git a/opcodes b/opcodes
index b559429..5111627 100644
--- a/opcodes
+++ b/opcodes
@@ -133,6 +133,12 @@ mfpcr rd 26..22=0 rs2 16..7=2 6..2=0x1E 1..0=3
mtpcr 31..27=0 rs1 rs2 16..7=3 6..2=0x1E 1..0=3
eret 31..27=0 26..22=0 21..17=0 16..7=4 6..2=0x1E 1..0=3
cflush 31..27=0 26..22=0 21..17=0 16..7=5 6..2=0x1E 1..0=3
+venqcmd 31..27=0 rs1 21..17=0 16..7=0x200 6..2=0x1E 1..0=3
+venqimm1 31..27=0 rs1 21..17=0 16..7=0x201 6..2=0x1E 1..0=3
+venqimm2 31..27=0 rs1 21..17=0 16..7=0x202 6..2=0x1E 1..0=3
+venqcnt 31..27=0 rs1 21..17=0 16..7=0x203 6..2=0x1E 1..0=3
+vwaitxcpt 31..27=0 26..22=0 21..17=0 16..7=0x300 6..2=0x1E 1..0=3
+vwaitkill 31..27=0 26..22=0 21..17=0 16..7=0x301 6..2=0x1E 1..0=3
# 0x7C-0x7F are reserved for >32b instructions