diff options
| author | Robert Norton | 2017-04-11 14:31:39 +0100 |
|---|---|---|
| committer | Shaked Flur | 2017-04-18 13:58:33 +0100 |
| commit | 1e536a4240a3ad1831786eafca245583d7609058 (patch) | |
| tree | 4d032313b5bb3b6fe0792ba76ba989c652e2e4da | |
| parent | 106d7d8c4793817021d2791159ec373ac36c452d (diff) | |
fix definition of mask -- Vregister and VvectorR were swapped.
| -rw-r--r-- | src/gen_lib/sail_values.ml | 10 |
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) = |
