diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-07-23 15:01:54 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-07-23 15:01:54 +0000 |
commit | 4297fcb821c3188449b64184af73e41491a6118f (patch) | |
tree | 3f31e0bd4bcfa107a345c1670e65290e785ee091 /arm/Asmgenproof.v | |
parent | 7c9500e438384c6c0ce478c8c73b3887137ac924 (diff) |
- Revised non-overflow constraints on memory injections so that
injections compose (Values, Memdata, Memory)
- Memory chunks: Mfloat64 now has alignment 8; introduced Mfloat64al32
that works like old Mfloat64 (i.e. has alignment 4); simplified
handling of memcpy builtin accordingly.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1983 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'arm/Asmgenproof.v')
-rw-r--r-- | arm/Asmgenproof.v | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arm/Asmgenproof.v b/arm/Asmgenproof.v index a888aae..8ee9c2e 100644 --- a/arm/Asmgenproof.v +++ b/arm/Asmgenproof.v @@ -816,6 +816,7 @@ Proof. left; eapply exec_straight_steps; eauto with coqlib. exists m'; split; auto. destruct chunk; simpl; simpl in H6; + try (generalize (Mem.loadv_float64al32 _ _ _ H0); intros); (eapply transl_load_int_correct || eapply transl_load_float_correct); eauto; intros; reflexivity. Qed. @@ -843,6 +844,7 @@ Proof. destruct chunk; simpl; simpl in H6; try (rewrite storev_8_signed_unsigned in H0); try (rewrite storev_16_signed_unsigned in H0); + try (generalize (Mem.storev_float64al32 _ _ _ _ H0); intros); simpl; (eapply transl_store_int_correct || eapply transl_store_float_correct); eauto; intros; simpl; auto. |