summaryrefslogtreecommitdiff
path: root/src/test/power.sail
diff options
context:
space:
mode:
authorGabriel Kerneis2014-06-11 17:46:41 +0100
committerGabriel Kerneis2014-06-11 17:46:41 +0100
commitf2fa48b95a789fdeca777ea1cb932a3657faeed3 (patch)
tree0fd7558d1f3865814c5fec4b5f05e21948bab67c /src/test/power.sail
parent6883558e6b8352f77cb1ff342789af0280dc32c1 (diff)
power.sail: store mode64bit in a bool register
This is now possible because we handle coercions better.
Diffstat (limited to 'src/test/power.sail')
-rw-r--r--src/test/power.sail5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/test/power.sail b/src/test/power.sail
index 6fe84602..a9e56c7f 100644
--- a/src/test/power.sail
+++ b/src/test/power.sail
@@ -1,5 +1,3 @@
-(* XXX sign extension --- note that this produces a signed integer,
- the constraints on the range of the result is TODO *)
val extern forall Nat 'n. bit['n] -> bit[64] effect pure exts
(* XXX binary coded decimal *)
function forall Type 'a . 'a dec_to_bcd ( x ) = x
@@ -99,8 +97,7 @@ val extern forall Nat 'n. ( nat , [|'n|] ) -> (bit[8 * 'n]) effect { wmem , rmem
(* XXX effect for trap? *)
val extern unit -> unit effect pure trap
-(* XXX should be register<bool>, this is a workaround for limitations in coercions *)
-let (bit) mode64bit = bitone
+register (bool) mode64bit
scattered function unit execute
scattered typedef ast = const union