From 4e93eeaa3b63b6ae50954a29662cc3ea6be48b23 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sat, 12 Feb 2022 02:27:50 -0800 Subject: add rv64 backend It is mostly complete, but still has a few ABI bugs when passing floats in structs, or when structs are passed partly in register, and partly on stack. --- doc/rv64.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/rv64.txt (limited to 'doc/rv64.txt') diff --git a/doc/rv64.txt b/doc/rv64.txt new file mode 100644 index 0000000..e696d77 --- /dev/null +++ b/doc/rv64.txt @@ -0,0 +1,20 @@ +========= +RISC-V 64 +========= + +- Known issues +-------------- + +ABI with structs containing floats is not yet supported. + +- Possible improvements +----------------------- + +rv64_isel() could turn compare used only with jnz into b{lt,ge}[u]. + +- Helpful links +--------------- + +RISC-V spec: https://github.com/riscv/riscv-isa-manual/releases/latest/download/riscv-spec.pdf +ASM manual: https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md +psABI: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc -- cgit 1.4.1