summaryrefslogtreecommitdiff
path: root/test/smt/sail_mask_5.unsat.sail
diff options
context:
space:
mode:
authorAlasdair Armstrong2019-05-29 15:28:02 +0100
committerAlasdair Armstrong2019-05-29 15:29:29 +0100
commit9e60c03133b28dc177ef1f11c60a362a2125efa7 (patch)
treeca28c7018fa9ab34b27f5ee14aa2123447bf785a /test/smt/sail_mask_5.unsat.sail
parent6ba38222362311e708587fc2d777aeab5028237e (diff)
SMT: Make bitvector equality work between vectors of different lengths
Diffstat (limited to 'test/smt/sail_mask_5.unsat.sail')
-rw-r--r--test/smt/sail_mask_5.unsat.sail13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/smt/sail_mask_5.unsat.sail b/test/smt/sail_mask_5.unsat.sail
new file mode 100644
index 00000000..452c7f6c
--- /dev/null
+++ b/test/smt/sail_mask_5.unsat.sail
@@ -0,0 +1,13 @@
+default Order dec
+
+$include <prelude.sail>
+
+$property
+function prop forall 'n, 31 <= 'n <= 128. (n: int('n)) -> bool = {
+ let x = sail_mask(n, 0xdeadbeef);
+ if n >= 32 then
+ assert(x == sail_zero_extend(0xdeadbeef, n))
+ else
+ assert(0b1011110101011011011111011101111 == x);
+ true
+}