summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlasdair Armstrong2019-07-18 17:57:42 +0100
committerAlasdair Armstrong2019-07-18 18:00:14 +0100
commitdf325dfefda5d7ffbfd3870c2af0378cb3862e07 (patch)
tree2f7f6d0b356d02e99db5d4be3a42fd22cd0316f1
parenta5a6913a110746463e5ca3e5322460617e2eb113 (diff)
Add a feature flag for barrier type change
Fix SMT mem_builtin test case
-rw-r--r--aarch64_small/prelude.sail1
-rw-r--r--lib/regfp.sail2
-rw-r--r--src/process_file.ml1
-rw-r--r--test/smt/mem_builtins.unsat.sail2
4 files changed, 3 insertions, 3 deletions
diff --git a/aarch64_small/prelude.sail b/aarch64_small/prelude.sail
index b938d7bb..d2faa97b 100644
--- a/aarch64_small/prelude.sail
+++ b/aarch64_small/prelude.sail
@@ -21,7 +21,6 @@ $include <arith.sail>
$include <option.sail>
$include <vector_dec.sail>
-$define AARCH64_SMALL
$include <regfp.sail>
infix 7 >>
diff --git a/lib/regfp.sail b/lib/regfp.sail
index e9c85ba8..a4af8ef7 100644
--- a/lib/regfp.sail
+++ b/lib/regfp.sail
@@ -73,7 +73,7 @@ enum a64_barrier_type = {
A64_barrier_ST
}
-$ifdef AARCH64_SMALL
+$ifdef FEATURE_UNION_BARRIER
union barrier_kind = {
Barrier_Sync : unit,
Barrier_LwSync : unit,
diff --git a/src/process_file.ml b/src/process_file.ml
index b988895c..170a544a 100644
--- a/src/process_file.ml
+++ b/src/process_file.ml
@@ -94,6 +94,7 @@ let default_symbols =
List.fold_left (fun set str -> StringSet.add str set) StringSet.empty
[ "FEATURE_IMPLICITS";
"FEATURE_CONSTANT_TYPES";
+ "FEATURE_UNION_BARRIER";
]
let symbols = ref default_symbols
diff --git a/test/smt/mem_builtins.unsat.sail b/test/smt/mem_builtins.unsat.sail
index 28e44658..eb003891 100644
--- a/test/smt/mem_builtins.unsat.sail
+++ b/test/smt/mem_builtins.unsat.sail
@@ -5,7 +5,7 @@ $include <regfp.sail>
$property
function prop() -> bool = {
- __barrier(Barrier_DSB);
+ __barrier(Barrier_DSB(A64_FullShare, A64_barrier_all));
let _ = __excl_res();
__write_mem_ea(Write_exclusive_release, 32, 0xFFFF_FFFF, 8);
true