summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Norton2017-04-11 14:31:39 +0100
committerShaked Flur2017-04-18 13:58:33 +0100
commit1e536a4240a3ad1831786eafca245583d7609058 (patch)
tree4d032313b5bb3b6fe0792ba76ba989c652e2e4da
parent106d7d8c4793817021d2791159ec373ac36c452d (diff)
fix definition of mask -- Vregister and VvectorR were swapped.
-rw-r--r--src/gen_lib/sail_values.ml10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/gen_lib/sail_values.ml b/src/gen_lib/sail_values.ml
index 77d149bf..5e9494b8 100644
--- a/src/gen_lib/sail_values.ml
+++ b/src/gen_lib/sail_values.ml
@@ -1197,12 +1197,12 @@ let mask (n,v) =
let to_drop = (current_size - n') in
let bits' = Array.sub bits to_drop n' in
Vvector (bits',(if dir then 0 else n'-1), dir)
- | VvectorR (bits,start,dir) ->
- let current_size = Array.length bits in
+ | Vregister (bits,start,dir,fields) ->
+ let current_size = Array.length !bits in
let to_drop = (current_size - n') in
- let bits' = Array.sub bits to_drop n' in
- VvectorR (bits',(if dir then 0 else n'-1), dir)
- | Vregister _ -> failwith "mask not implemented for Vregister"
+ let bits' = Array.sub !bits to_drop n' in
+ Vvector (bits',(if dir then 0 else n'-1), dir)
+ | VvectorR _ -> failwith "mask not implemented for VregisterR"
| Vbit _ -> failwith "mask called for bit"
let slice_raw (v, i, j) =