diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-07-03 11:20:51 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-07-03 11:20:51 +0000 |
commit | d566064714fcf048cbec5f3a1cbe89885c9bc293 (patch) | |
tree | 734bac97f2f87a79113fdd461740a05eba1bcb27 /ia32 | |
parent | c677d5021a9a6e057b15cf9df8ca9ce7c0f5ae30 (diff) |
Update CombineOp for arm and ia32.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1950 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'ia32')
-rw-r--r-- | ia32/CombineOpproof.v | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ia32/CombineOpproof.v b/ia32/CombineOpproof.v index 4e07bf5..cd10698 100644 --- a/ia32/CombineOpproof.v +++ b/ia32/CombineOpproof.v @@ -84,11 +84,11 @@ Lemma combine_compimm_ne_1_sound: eval_condition cond (map valu args) m = Val.cmp_bool Cne (valu x) (Vint Int.one) /\ eval_condition cond (map valu args) m = Val.cmpu_bool (Mem.valid_pointer m) Cne (valu x) (Vint Int.one). Proof. - intros until args. functional induction (combine_compimm_eq_1 get x); intros EQ; inv EQ. + intros until args. functional induction (combine_compimm_ne_1 get x); intros EQ; inv EQ. (* of cmp *) exploit get_sound; eauto. unfold equation_holds. simpl. intro EQ; inv EQ. rewrite eval_negate_condition. - destruct (eval_condition cond (map valu args) m); simpl; auto. destruct b; auto. + destruct (eval_condition c (map valu args) m); simpl; auto. destruct b; auto. Qed. Theorem combine_cond_sound: @@ -99,12 +99,16 @@ Proof. intros. functional inversion H; subst. (* compimm ne zero *) simpl; eapply combine_compimm_ne_0_sound; eauto. + (* compimm ne one *) + simpl; eapply combine_compimm_ne_1_sound; eauto. (* compimm eq zero *) simpl; eapply combine_compimm_eq_0_sound; eauto. (* compimm eq one *) simpl; eapply combine_compimm_eq_1_sound; eauto. (* compuimm ne zero *) simpl; eapply combine_compimm_ne_0_sound; eauto. + (* compuimm ne one *) + simpl; eapply combine_compimm_ne_1_sound; eauto. (* compuimm eq zero *) simpl; eapply combine_compimm_eq_0_sound; eauto. (* compuimm eq one *) |