aboutsummaryrefslogtreecommitdiffstats
path: root/cparser
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2019-08-08 11:18:38 +0200
committerXavier Leroy <xavier.leroy@college-de-france.fr>2019-08-08 11:18:38 +0200
commit7cdd676d002e33015b496f609538a9e86d77c543 (patch)
treef4d105bce152445334613e857d4a672976a56f3e /cparser
parenteb85803875c5a4e90be60d870f01fac380ca18b0 (diff)
downloadcompcert-kvx-7cdd676d002e33015b496f609538a9e86d77c543.tar.gz
compcert-kvx-7cdd676d002e33015b496f609538a9e86d77c543.zip
AArch64 port
This commit adds a back-end for the AArch64 architecture, namely ARMv8 in 64-bit mode.
Diffstat (limited to 'cparser')
-rw-r--r--cparser/Machine.ml5
-rw-r--r--cparser/Machine.mli1
2 files changed, 6 insertions, 0 deletions
diff --git a/cparser/Machine.ml b/cparser/Machine.ml
index 089f2483..97bedb3b 100644
--- a/cparser/Machine.ml
+++ b/cparser/Machine.ml
@@ -237,6 +237,11 @@ let rv64 =
struct_passing_style = SP_ref_callee; (* Wrong *)
struct_return_style = SR_ref } (* to check *)
+let aarch64 =
+ { i32lpll64 with name = "aarch64";
+ struct_passing_style = SP_ref_callee; (* Wrong *)
+ struct_return_style = SR_ref } (* Wrong *)
+
(* Add GCC extensions re: sizeof and alignof *)
let gcc_extensions c =
diff --git a/cparser/Machine.mli b/cparser/Machine.mli
index 8971e2a3..ca7de17b 100644
--- a/cparser/Machine.mli
+++ b/cparser/Machine.mli
@@ -86,6 +86,7 @@ val arm_littleendian : t
val arm_bigendian : t
val rv32 : t
val rv64 : t
+val aarch64 : t
val gcc_extensions : t -> t
val compcert_interpreter : t -> t