diff options
author | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2020-12-23 15:54:51 +0100 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2020-12-26 18:44:28 +0100 |
commit | c50680bb86564fe61db61e6140a418ccc7d36677 (patch) | |
tree | 58f8731421325939c93546df3c9046fbf96a051e /aarch64/SelectOpproof.v | |
parent | 73551e058a850297bc72924a69b39affcfa49dfa (diff) | |
download | compcert-c50680bb86564fe61db61e6140a418ccc7d36677.tar.gz compcert-c50680bb86564fe61db61e6140a418ccc7d36677.zip |
AArch64: macOS port
This commit adds support for macOS (and probably iOS) running on
AArch64 / ARM 64-bit / "Apple silicon" processors.
Diffstat (limited to 'aarch64/SelectOpproof.v')
-rw-r--r-- | aarch64/SelectOpproof.v | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/aarch64/SelectOpproof.v b/aarch64/SelectOpproof.v index b78a5ed8..625a0c14 100644 --- a/aarch64/SelectOpproof.v +++ b/aarch64/SelectOpproof.v @@ -1029,7 +1029,13 @@ Theorem eval_addressing: Proof. intros until v. unfold addressing; case (addressing_match a); intros; InvEval. - econstructor; split. EvalOp. simpl; auto. -- econstructor; split. EvalOp. simpl; auto. +- destruct (symbol_is_relocatable id). + + exists (Genv.symbol_address ge id Ptrofs.zero :: nil); split. + constructor. EvalOp. constructor. + simpl. rewrite <- Genv.shift_symbol_address_64 by auto. + rewrite Ptrofs.of_int64_to_int64, Ptrofs.add_zero_l by auto. + auto. + + econstructor; split. EvalOp. simpl; auto. - econstructor; split. EvalOp. simpl. destruct v1; try discriminate. rewrite <- H; auto. - econstructor; split. EvalOp. simpl. congruence. |