From 00ca0aa4dce0abdcba574ce907e9a8a62d9d2255 Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Thu, 15 Feb 2018 19:54:55 +0000 Subject: Can now compile aarch64/duopod to C Goes through the C compiler without any errors, but as we still don't have all the requisite builtins it won't actually produce an executable. There are still a few things that don't work properly, such as vectors of non-bit types - but once those are fixed and the Sail library is implemented fully it should work. --- aarch64/prelude.sail | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'aarch64') diff --git a/aarch64/prelude.sail b/aarch64/prelude.sail index ba5a3db7..55caddbb 100644 --- a/aarch64/prelude.sail +++ b/aarch64/prelude.sail @@ -105,7 +105,12 @@ function or_vec (xs, ys) = builtin_or_vec(xs, ys) overload operator | = {or_bool, or_vec} -val UInt = "uint" : forall 'n. bits('n) -> range(0, 2 ^ 'n - 1) +val UInt = { + ocaml: "uint", + lem: "uint", + interpreter: "uint", + c: "sail_uint" +} : forall 'n. bits('n) -> range(0, 2 ^ 'n - 1) val SInt = "sint" : forall 'n. bits('n) -> range(- (2 ^ ('n - 1)), 2 ^ ('n - 1) - 1) -- cgit v1.2.3