diff options
| author | Alasdair Armstrong | 2019-06-04 16:37:48 +0100 |
|---|---|---|
| committer | Alasdair Armstrong | 2019-06-04 16:37:48 +0100 |
| commit | 6d3a6edcd616621eb40420cfb16a34762a32c5c1 (patch) | |
| tree | d3a753af05b4a3d40a5ce0c6eb7711770105caba /src/value.ml | |
| parent | e24587857d1e61b428d784c699a683984c00ce36 (diff) | |
| parent | 239e13dc149af80f979ea95a3c9b42220481a0a1 (diff) | |
Merge branch 'sail2' into separate_bv
Diffstat (limited to 'src/value.ml')
| -rw-r--r-- | src/value.ml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/value.ml b/src/value.ml index 6c2e0839..c509c81f 100644 --- a/src/value.ml +++ b/src/value.ml @@ -433,6 +433,10 @@ let value_zeros = function | [v] -> mk_vector (Sail_lib.zeros (coerce_int v)) | _ -> failwith "value zeros" +let value_ones = function + | [v] -> mk_vector (Sail_lib.ones (coerce_int v)) + | _ -> failwith "value ones" + let value_shiftl = function | [v1; v2] -> mk_vector (Sail_lib.shiftl (coerce_bv v1, coerce_int v2)) | _ -> failwith "value shiftl" @@ -670,6 +674,7 @@ let primops = ("zero_extend", value_zero_extend); ("sign_extend", value_sign_extend); ("zeros", value_zeros); + ("ones", value_ones); ("shiftr", value_shiftr); ("shiftl", value_shiftl); ("shift_bits_left", value_shift_bits_left); @@ -724,6 +729,7 @@ let primops = ("undefined_unit", fun _ -> V_unit); ("undefined_bit", fun _ -> V_bit Sail_lib.B0); ("undefined_int", fun _ -> V_int Big_int.zero); + ("undefined_nat", fun _ -> V_int Big_int.zero); ("undefined_bool", fun _ -> V_bool false); ("undefined_vector", value_undefined_vector); ("undefined_string", fun _ -> V_string ""); |
