From d4763b92ad009f6cdd769ba30b1af62215c277df Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Sun, 18 Mar 2012 20:44:00 -0700 Subject: change vector fence names/encoding --- Makefile | 0 inst.v | 10 ++++------ instr-table.tex | 22 ++-------------------- opcodes | 12 ++++-------- 4 files changed, 10 insertions(+), 34 deletions(-) mode change 100755 => 100644 Makefile diff --git a/Makefile b/Makefile old mode 100755 new mode 100644 diff --git a/inst.v b/inst.v index 8745a53..0598a28 100644 --- a/inst.v +++ b/inst.v @@ -82,15 +82,13 @@ `define AMOMAXU_D 32'b?????_?????_?????_0000111011_0101011 `define FENCE_I 32'b?????_?????_????????????_001_0101111 `define FENCE 32'b?????_?????_????????????_010_0101111 +`define FENCE_V_L 32'b?????_?????_????????????_100_0101111 +`define FENCE_V_G 32'b?????_?????_????????????_101_0101111 `define SYSCALL 32'b00000_00000_00000_0000000000_1110111 `define BREAK 32'b00000_00000_00000_0000000001_1110111 `define RDCYCLE 32'b?????_00000_00000_0000000100_1110111 `define RDTIME 32'b?????_00000_00000_0000001100_1110111 `define RDINSTRET 32'b?????_00000_00000_0000010100_1110111 -`define FENCE_L_V 32'b?????_?????_????????????_100_0101111 -`define FENCE_G_V 32'b?????_?????_????????????_101_0101111 -`define FENCE_L_CV 32'b?????_?????_????????????_110_0101111 -`define FENCE_G_CV 32'b?????_?????_????????????_111_0101111 `define STOP 32'b00000_00000_00000_0000000010_1110111 `define UTIDX 32'b?????_00000_00000_0000000011_1110111 `define MOVZ 32'b?????_?????_?????_0000000101_1110111 @@ -103,8 +101,8 @@ `define MTPCR 32'b00000_?????_?????_0000000011_1111011 `define ERET 32'b00000_00000_00000_0000000100_1111011 `define CFLUSH 32'b00000_00000_00000_0000000101_1111011 -`define VXCPTSAVE 32'b00000_00000_00000_1000000000_1111011 -`define VXCPTRESTORE 32'b00000_00000_00000_1000000001_1111011 +`define VXCPTSAVE 32'b00000_?????_00000_1000000000_1111011 +`define VXCPTRESTORE 32'b00000_?????_00000_1000000001_1111011 `define VXCPTKILL 32'b00000_00000_00000_1000000010_1111011 `define VXCPTEVAC 32'b00000_?????_00000_1100000000_1111011 `define VXCPTWAIT 32'b00000_00000_00000_1100000001_1111011 diff --git a/instr-table.tex b/instr-table.tex index d693294..69fff54 100644 --- a/instr-table.tex +++ b/instr-table.tex @@ -1962,7 +1962,7 @@ \multicolumn{1}{c|}{rs1} & \multicolumn{5}{c|}{imm12} & \multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{0101111} & FENCE.L.V rd,rs1,imm12 \\ +\multicolumn{1}{c|}{0101111} & FENCE.V.L rd,rs1,imm12 \\ \cline{2-11} @@ -1971,25 +1971,7 @@ \multicolumn{1}{c|}{rs1} & \multicolumn{5}{c|}{imm12} & \multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0101111} & FENCE.G.V rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{110} & -\multicolumn{1}{c|}{0101111} & FENCE.L.CV rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{111} & -\multicolumn{1}{c|}{0101111} & FENCE.G.CV rd,rs1,imm12 \\ +\multicolumn{1}{c|}{0101111} & FENCE.V.G rd,rs1,imm12 \\ \cline{2-11} diff --git a/opcodes b/opcodes index f79cff8..8104f6f 100644 --- a/opcodes +++ b/opcodes @@ -106,6 +106,8 @@ amomaxu.d rd rs1 rs2 16..10=7 9..7=3 6..2=0x0A 1..0=3 fence.i rd rs1 imm12 9..7=1 6..2=0x0B 1..0=3 fence rd rs1 imm12 9..7=2 6..2=0x0B 1..0=3 +fence.v.l rd rs1 imm12 9..7=4 6..2=0x0B 1..0=3 +fence.v.g rd rs1 imm12 9..7=5 6..2=0x0B 1..0=3 syscall 31..27=0 26..22=0 21..17=0 16..10=0 9..7=0 6..2=0x1D 1..0=3 break 31..27=0 26..22=0 21..17=0 16..10=0 9..7=1 6..2=0x1D 1..0=3 @@ -113,12 +115,6 @@ rdcycle rd 26..22=0 21..17=0 16..10=0 9..7=4 6..2=0x1D 1..0=3 rdtime rd 26..22=0 21..17=0 16..10=1 9..7=4 6..2=0x1D 1..0=3 rdinstret rd 26..22=0 21..17=0 16..10=2 9..7=4 6..2=0x1D 1..0=3 -# vector fence instructions -fence.l.v rd rs1 imm12 9..7=4 6..2=0x0B 1..0=3 -fence.g.v rd rs1 imm12 9..7=5 6..2=0x0B 1..0=3 -fence.l.cv rd rs1 imm12 9..7=6 6..2=0x0B 1..0=3 -fence.g.cv rd rs1 imm12 9..7=7 6..2=0x0B 1..0=3 - # vector scalar instructions stop 31..27=0 26..22=0 21..17=0 16..10=0 9..7=2 6..2=0x1D 1..0=3 utidx rd 26..22=0 21..17=0 16..10=0 9..7=3 6..2=0x1D 1..0=3 @@ -134,8 +130,8 @@ 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 -vxcptsave 31..27=0 26..22=0 21..17=0 16..7=0x200 6..2=0x1E 1..0=3 -vxcptrestore 31..27=0 26..22=0 21..17=0 16..7=0x201 6..2=0x1E 1..0=3 +vxcptsave 31..27=0 rs1 21..17=0 16..7=0x200 6..2=0x1E 1..0=3 +vxcptrestore 31..27=0 rs1 21..17=0 16..7=0x201 6..2=0x1E 1..0=3 vxcptkill 31..27=0 26..22=0 21..17=0 16..7=0x202 6..2=0x1E 1..0=3 vxcptevac 31..27=0 rs1 21..17=0 16..7=0x300 6..2=0x1E 1..0=3 -- cgit v1.2.3