summaryrefslogtreecommitdiff
path: root/test/regress/regress2
diff options
context:
space:
mode:
authoryoni206 <yoni206@users.noreply.github.com>2020-02-24 19:58:01 -0800
committerGitHub <noreply@github.com>2020-02-24 19:58:01 -0800
commit6e17dd6d5e3ec043e5edd097ac6a736f6a41c753 (patch)
tree5faac828524e121bcba8cd2d4f1c09bb46cadcfe /test/regress/regress2
parenta3b9a99404ee00bde5db42aab63ab08df3712ba3 (diff)
bv_to_int preprocessing pass
Introduces a preprocessing pass that translates bv problems to integer problems.
Diffstat (limited to 'test/regress/regress2')
-rw-r--r--test/regress/regress2/bv_to_int_ashr.smt29
-rw-r--r--test/regress/regress2/bv_to_int_shifts.smt217
2 files changed, 26 insertions, 0 deletions
diff --git a/test/regress/regress2/bv_to_int_ashr.smt2 b/test/regress/regress2/bv_to_int_ashr.smt2
new file mode 100644
index 000000000..e3fcb1790
--- /dev/null
+++ b/test/regress/regress2/bv_to_int_ashr.smt2
@@ -0,0 +1,9 @@
+; COMMAND-LINE: --solve-bv-as-int=1 --no-check-models --no-check-unsat-cores --no-check-proofs
+; COMMAND-LINE: --solve-bv-as-int=8 --no-check-models --no-check-unsat-cores --no-check-proofs
+; EXPECT: unsat
+(set-logic QF_BV)
+(declare-fun a () (_ BitVec 8))
+(declare-fun b () (_ BitVec 8))
+(assert (bvult (bvashr a b) (bvlshr a b)))
+
+(check-sat)
diff --git a/test/regress/regress2/bv_to_int_shifts.smt2 b/test/regress/regress2/bv_to_int_shifts.smt2
new file mode 100644
index 000000000..39dace123
--- /dev/null
+++ b/test/regress/regress2/bv_to_int_shifts.smt2
@@ -0,0 +1,17 @@
+; COMMAND-LINE: --solve-bv-as-int=1 --no-check-models --no-check-unsat-cores
+; EXPECT: sat
+(set-logic QF_BV)
+(declare-fun s () (_ BitVec 64))
+(declare-fun t () (_ BitVec 64))
+(declare-fun splust () (_ BitVec 64))
+(declare-fun shift1 () (_ BitVec 64))
+(declare-fun shift2 () (_ BitVec 64))
+(declare-fun negshift1 () (_ BitVec 64))
+
+(assert (= shift1 (bvlshr s splust)))
+(assert (= shift2 (bvlshr t splust)))
+(assert (= negshift1 (bvneg shift1)))
+(assert (= splust (bvadd s t)))
+(assert (distinct negshift1 shift2))
+
+(check-sat)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback