aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorBenjamin Barenblat <benjamin@barenblat.name>2017-03-31 14:43:45 -0400
committerAndrew Waterman <aswaterman@gmail.com>2017-03-31 11:43:45 -0700
commitf86f5cb4589e5fcc15b09b5a59be9d63c51dcc6f (patch)
tree7f2c97fd0386dab777bf037f29d669d712ef9201 /Makefile
parent3c1a9110b71658f6e3249186e8b44e7474a4ee90 (diff)
downloadriscv-opcodes-f86f5cb4589e5fcc15b09b5a59be9d63c51dcc6f.zip
riscv-opcodes-f86f5cb4589e5fcc15b09b5a59be9d63c51dcc6f.tar.gz
riscv-opcodes-f86f5cb4589e5fcc15b09b5a59be9d63c51dcc6f.tar.bz2
Support generating Go code (#3)
* Support generating Go code Generate Go code for the RISC-V Go port <https://github.com/riscv/riscv-go>. * Clarify use of yank in Go backend * Go: Also generate funct3, csr, and funct7 encodings * Go: Emit all instructions Changes to the RISC-V Go implementation obviate the need for GO_UNUSED_INSTRUCTIONS. * Go: Print CSRs as signed values * Go: Update parse-opcodes to use obj.As See https://github.com/golang/go/commit/0d9258a830c585. * Go: Return errors out of band * Go: Return 'ok' status instead of 'err' status Also clean up imports. * Go: Make gofmt-clean * Go: Return rs2 value for each instructions Some binary floating-point instructions (ab)use the rs2 value to hold additional instruction data, so we need that data in the Go assembler.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile3
1 files changed, 3 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 5983051..3220e47 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,9 @@ $(GAS_H) $(XCC_H): $(ALL_OPCODES) parse-opcodes
inst.chisel: $(ALL_OPCODES) parse-opcodes
cat opcodes opcodes-custom opcodes-pseudo | ./parse-opcodes -chisel > $@
+inst.go: opcodes opcodes-pseudo parse-opcodes
+ cat opcodes opcodes-pseudo | ./parse-opcodes -go > $@
+
instr-table.tex: $(ALL_OPCODES) parse-opcodes
cat opcodes opcodes-pseudo | ./parse-opcodes -tex > $@