summaryrefslogtreecommitdiff
path: root/risc-v
diff options
context:
space:
mode:
authorRobert Norton2017-08-15 13:57:44 +0100
committerRobert Norton2017-08-15 13:57:44 +0100
commit753d80d0527d6c334c70ff41a9857f86fc773d59 (patch)
tree7096ed3b85acff2b1106365b7cfff8855a3890b6 /risc-v
parent1b50e19509d43c2ea27aecd76e1652c1e05482d8 (diff)
riscv: include pred and succ fields in translation of FENCE (currently hard coded to zero
Diffstat (limited to 'risc-v')
-rw-r--r--risc-v/hgen/trans_sail.hgen8
-rw-r--r--risc-v/hgen/types_trans_sail.hgen2
2 files changed, 9 insertions, 1 deletions
diff --git a/risc-v/hgen/trans_sail.hgen b/risc-v/hgen/trans_sail.hgen
index 4275670c..28a4f4ba 100644
--- a/risc-v/hgen/trans_sail.hgen
+++ b/risc-v/hgen/trans_sail.hgen
@@ -103,4 +103,10 @@
translate_ropw "op" op;
],
[])
-| `RISCVFENCE -> ("FENCE", [], [])
+| `RISCVFENCE ->
+ ("FENCE",
+ [
+ translate_imm4 "pred" 0;
+ translate_imm4 "succ" 0;
+ ],
+ [])
diff --git a/risc-v/hgen/types_trans_sail.hgen b/risc-v/hgen/types_trans_sail.hgen
index 9dd36d5e..4dc7707e 100644
--- a/risc-v/hgen/types_trans_sail.hgen
+++ b/risc-v/hgen/types_trans_sail.hgen
@@ -29,5 +29,7 @@ let translate_imm6 name value =
(name, Bvector (Some 6), bit_list_of_integer 6 (Nat_big_num.of_int value))
let translate_imm5 name value =
(name, Bvector (Some 5), bit_list_of_integer 5 (Nat_big_num.of_int value))
+let translate_imm4 name value =
+ (name, Bvector (Some 4), bit_list_of_integer 4 (Nat_big_num.of_int value))
let translate_bool name value =
(name, Bit, [if value then Bitc_one else Bitc_zero])