summaryrefslogtreecommitdiff
path: root/lib/prelude.sail
diff options
context:
space:
mode:
authorAlasdair Armstrong2017-07-17 16:18:24 +0100
committerAlasdair Armstrong2017-07-17 16:19:22 +0100
commit6c75d9386a9c179969c22baf1231f1bd7b9a60a3 (patch)
tree1280878478152fd7cb67756703063b54ec8177ac /lib/prelude.sail
parentc83a57f1abd967c0b808ee9b3108445954ccfd65 (diff)
Fixed multiply for MIPS in prelude so it correctly doubles bitvector
length, and removed redundant calls to extension functions.
Diffstat (limited to 'lib/prelude.sail')
-rw-r--r--lib/prelude.sail4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/prelude.sail b/lib/prelude.sail
index 48160749..bb19aa8d 100644
--- a/lib/prelude.sail
+++ b/lib/prelude.sail
@@ -150,7 +150,7 @@ val bool -> bit effect pure bool_to_bit
val (int, int) -> int effect pure mul_int
val forall Num 'n, Num 'o, Order 'ord.
- (vector<'o, 'n, 'ord, bit>, vector<'o, 'n, 'ord, bit>) -> vector<'o, 'n, 'ord, bit> effect pure mul_vec
+ (vector<'o, 'n, 'ord, bit>, vector<'o, 'n, 'ord, bit>) -> vector<2 * 'n - 1, 2 * 'n, 'ord, bit> effect pure mul_vec
overload (deinfix * ) [
mul_vec;
@@ -158,7 +158,7 @@ overload (deinfix * ) [
]
val forall Num 'n, Num 'o, Order 'ord.
- (vector<'o, 'n, 'ord, bit>, vector<'o, 'n, 'ord, bit>) -> vector<'o, 'n, 'ord, bit> effect pure mul_svec
+ (vector<'o, 'n, 'ord, bit>, vector<'o, 'n, 'ord, bit>) -> vector<2 * 'n - 1, 2 * 'n, 'ord, bit> effect pure mul_svec
overload (deinfix *_s) [
mul_svec