summaryrefslogtreecommitdiff
path: root/aarch64_small/mono-splices/Replicate.sail
diff options
context:
space:
mode:
authorBrian Campbell2019-06-24 17:45:21 +0100
committerBrian Campbell2019-06-24 17:45:21 +0100
commit379447a8934f6dcdd7f70b589e765e5588d4dbc6 (patch)
tree29741c6cf63fb39be72ea39f99aa1f72782ad46d /aarch64_small/mono-splices/Replicate.sail
parentf493e3f3d43b9e410b21bf9cecb04f968dff9a20 (diff)
Rules and supporting files for building aarch64_small monomorphised Isabelle
Diffstat (limited to 'aarch64_small/mono-splices/Replicate.sail')
-rw-r--r--aarch64_small/mono-splices/Replicate.sail6
1 files changed, 6 insertions, 0 deletions
diff --git a/aarch64_small/mono-splices/Replicate.sail b/aarch64_small/mono-splices/Replicate.sail
new file mode 100644
index 00000000..a3c464e5
--- /dev/null
+++ b/aarch64_small/mono-splices/Replicate.sail
@@ -0,0 +1,6 @@
+function Replicate(N, x) = {
+ assert(N % 'M == 0, "((N MOD M) == 0)");
+ let 'O = N / 'M;
+ assert(constraint('O * 'M == 'N));
+ return(replicate_bits(x, N / 'M))
+}