diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-08-21 10:21:11 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2010-08-21 10:21:11 +0000 |
commit | e99d18c442c40a14e6eaea722cbc7ef0ca6dd26a (patch) | |
tree | f0bba75f5ded45e06fdc50aad94dcd246b66d174 /backend/CastOptimproof.v | |
parent | 0438984dece5f028bea55322d80aa4f363a782cb (diff) | |
download | compcert-kvx-e99d18c442c40a14e6eaea722cbc7ef0ca6dd26a.tar.gz compcert-kvx-e99d18c442c40a14e6eaea722cbc7ef0ca6dd26a.zip |
Integers: cleaned up bitwise operations, redefined shr, zero_ext and sign_ext
as bitwise operations rather than arithmetic ones.
CastOptimproof: fixed for ARM port.
Other files: adapted to changes in Integers.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1472 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'backend/CastOptimproof.v')
-rw-r--r-- | backend/CastOptimproof.v | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/backend/CastOptimproof.v b/backend/CastOptimproof.v index 60b10c2c..d5076090 100644 --- a/backend/CastOptimproof.v +++ b/backend/CastOptimproof.v @@ -247,7 +247,7 @@ Proof. decEq. rewrite Float.singleoffloat_idem; auto. (* comparison *) simpl in H0. destruct (eval_condition c rs##args); try discriminate. - destruct b; inv H0; auto. + destruct b; inv H0; compute; auto. Qed. Lemma approx_of_chunk_correct: @@ -434,8 +434,9 @@ Proof. (* Iload *) econstructor; split. - TransfInstr; intro. eapply exec_Iload; eauto. + TransfInstr; intro. eapply exec_Iload with (a := a). eauto. rewrite <- H0. apply eval_addressing_preserved. exact symbols_preserved. + eauto. econstructor; eauto. eapply analyze_correct with (pc := pc); eauto. simpl; auto. @@ -444,8 +445,9 @@ Proof. (* Istore *) econstructor; split. - TransfInstr; intro. eapply exec_Istore; eauto. + TransfInstr; intro. eapply exec_Istore with (a := a). eauto. rewrite <- H0. apply eval_addressing_preserved. exact symbols_preserved. + eauto. econstructor; eauto. eapply analyze_correct with (pc := pc); eauto. simpl; auto. |