aboutsummaryrefslogtreecommitdiffstats
path: root/common/Globalenvs.v
diff options
context:
space:
mode:
authorXavier Leroy <xavierleroy@users.noreply.github.com>2016-08-24 11:24:59 +0200
committerGitHub <noreply@github.com>2016-08-24 11:24:59 +0200
commit0a7288fb65ebaed329e06c1fd14aef83e8defcda (patch)
treec2c7ac666c62be0f97a20c74286e0457890ddd8d /common/Globalenvs.v
parent954b01e1ac6189f4a8b5ad1b6accf6eb01261d1f (diff)
parente0f0f573a4a8fc1f564a31388afa9c23e48bb016 (diff)
downloadcompcert-0a7288fb65ebaed329e06c1fd14aef83e8defcda.tar.gz
compcert-0a7288fb65ebaed329e06c1fd14aef83e8defcda.zip
Merge pull request #118 from AbsInt/armeb
Support for ARM Big Endian
Diffstat (limited to 'common/Globalenvs.v')
-rw-r--r--common/Globalenvs.v7
1 files changed, 4 insertions, 3 deletions
diff --git a/common/Globalenvs.v b/common/Globalenvs.v
index a8d0512c..2a8d6d97 100644
--- a/common/Globalenvs.v
+++ b/common/Globalenvs.v
@@ -864,11 +864,12 @@ Proof.
with ((Byte Byte.zero :: nil) ++ list_repeat n0 (Byte Byte.zero)).
apply Mem.loadbytes_concat.
eapply Mem.loadbytes_unchanged_on with (P := fun b1 ofs1 => ofs1 = p).
- eapply store_zeros_unchanged; eauto. intros; omega.
+ eapply store_zeros_unchanged; eauto. intros; omega.
intros; omega.
- change (Byte Byte.zero :: nil) with (encode_val Mint8unsigned Vzero).
+ replace (Byte Byte.zero :: nil) with (encode_val Mint8unsigned Vzero).
change 1 with (size_chunk Mint8unsigned).
eapply Mem.loadbytes_store_same; eauto.
+ unfold encode_val; unfold encode_int; unfold rev_if_be; destruct Archi.big_endian; reflexivity.
eapply IHo; eauto. omega. omega. omega. omega.
+ eapply IHo; eauto. omega. omega.
- discriminate.
@@ -973,7 +974,7 @@ Proof.
transitivity (Some(decode_val chunk (list_repeat (size_chunk_nat chunk) (Byte Byte.zero)))).
apply Mem.loadbytes_load; auto. rewrite size_chunk_conv.
eapply store_zeros_loadbytes; eauto. rewrite <- size_chunk_conv; auto.
- f_equal. destruct chunk; reflexivity.
+ f_equal. destruct chunk; unfold decode_val; unfold decode_int; unfold rev_if_be; destruct Archi.big_endian; reflexivity.
Qed.
Fixpoint load_store_init_data (m: mem) (b: block) (p: Z) (il: list init_data) {struct il} : Prop :=