diff options
| -rw-r--r-- | src/gen_lib/sail_operators_bitlists.lem | 6 | ||||
| -rw-r--r-- | src/gen_lib/sail_operators_mwords.lem | 6 | ||||
| -rw-r--r-- | src/gen_lib/sail_values.lem | 4 |
3 files changed, 12 insertions, 4 deletions
diff --git a/src/gen_lib/sail_operators_bitlists.lem b/src/gen_lib/sail_operators_bitlists.lem index 3c1afe79..18c90c66 100644 --- a/src/gen_lib/sail_operators_bitlists.lem +++ b/src/gen_lib/sail_operators_bitlists.lem @@ -29,6 +29,12 @@ let extz_vec = extz_bv val exts_vec : integer -> list bitU -> list bitU let exts_vec = exts_bv +val zero_extend : list bitU -> integer -> list bitU +let zero_extend bits len = extz_bits len bits + +val vector_truncate : list bitU -> integer -> list bitU +let vector_truncate bs len = extz_bv len bs + val vec_of_bits_maybe : list bitU -> maybe (list bitU) val vec_of_bits_fail : forall 'rv 'e. list bitU -> monad 'rv (list bitU) 'e val vec_of_bits_oracle : forall 'rv 'e. list bitU -> monad 'rv (list bitU) 'e diff --git a/src/gen_lib/sail_operators_mwords.lem b/src/gen_lib/sail_operators_mwords.lem index 79b7674e..e3e1151a 100644 --- a/src/gen_lib/sail_operators_mwords.lem +++ b/src/gen_lib/sail_operators_mwords.lem @@ -70,6 +70,12 @@ let extz_vec _ w = Machine_word.zeroExtend w val exts_vec : forall 'a 'b. Size 'a, Size 'b => integer -> mword 'a -> mword 'b let exts_vec _ w = Machine_word.signExtend w +val zero_extend : forall 'a 'b. Size 'a, Size 'b => mword 'a -> integer -> mword 'b +let zero_extend w _ = Machine_word.zeroExtend w + +val vector_truncate : forall 'a 'b. Size 'a, Size 'b => mword 'a -> integer -> mword 'b +let vector_truncate w _ = Machine_word.zeroExtend w + val concat_vec : forall 'a 'b 'c. Size 'a, Size 'b, Size 'c => mword 'a -> mword 'b -> mword 'c let concat_vec = Machine_word.word_concat diff --git a/src/gen_lib/sail_values.lem b/src/gen_lib/sail_values.lem index 2fe69211..a89456b9 100644 --- a/src/gen_lib/sail_values.lem +++ b/src/gen_lib/sail_values.lem @@ -276,8 +276,6 @@ let ext_list pad len xs = if longer < 0 then drop (nat_of_int (abs (longer))) xs else pad_list pad xs longer -let vector_truncate bs len = ext_list B0 len bs - let extz_bools len bs = ext_list false len bs let exts_bools len bs = match bs with @@ -343,8 +341,6 @@ let exts_bits len bits = | _ -> ext_list B0 len bits end -let zero_extend bits len = extz_bits len bits - let rec add_one_bit_ignore_overflow_aux bits = match bits with | [] -> [] | B0 :: bits -> B1 :: bits |
