summaryrefslogtreecommitdiff
path: root/risc-v/hgen/trans_sail.hgen
diff options
context:
space:
mode:
Diffstat (limited to 'risc-v/hgen/trans_sail.hgen')
-rw-r--r--risc-v/hgen/trans_sail.hgen18
1 files changed, 12 insertions, 6 deletions
diff --git a/risc-v/hgen/trans_sail.hgen b/risc-v/hgen/trans_sail.hgen
index c2e3138b..df22d9dc 100644
--- a/risc-v/hgen/trans_sail.hgen
+++ b/risc-v/hgen/trans_sail.hgen
@@ -10,7 +10,7 @@
| `RISCVJAL(imm, rd) ->
("JAL",
[
- translate_imm20 "imm" imm;
+ translate_imm21 "imm" imm;
translate_reg "rd" rd;
],
[])
@@ -25,7 +25,7 @@
| `RISCVBType(imm, rs2, rs1, op) ->
("BTYPE",
[
- translate_imm12 "imm" imm;
+ translate_imm13 "imm" imm;
translate_reg "rs2" rs2;
translate_reg "rs1" rs1;
translate_bop "op" op;
@@ -68,12 +68,12 @@
translate_width "width" width;
],
[])
-| `RISCVStore(imm, rs, rd, width) ->
+| `RISCVStore(imm, rs2, rs1, width) ->
("STORE",
[
translate_imm12 "imm" imm;
- translate_reg "rs" rs;
- translate_reg "rd" rd;
+ translate_reg "rs2" rs2;
+ translate_reg "rs1" rs1;
translate_width "width" width;
],
[])
@@ -103,4 +103,10 @@
translate_ropw "op" op;
],
[])
-| `RISCVFENCE -> ("FENCE", [], [])
+| `RISCVFENCE(pred, succ) ->
+ ("FENCE",
+ [
+ translate_imm4 "pred" pred;
+ translate_imm4 "succ" succ;
+ ],
+ [])