diff options
Diffstat (limited to 'risc-v/hgen/trans_sail.hgen')
| -rw-r--r-- | risc-v/hgen/trans_sail.hgen | 18 |
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; + ], + []) |
