aboutsummaryrefslogtreecommitdiffstats
path: root/arm/CombineOpproof.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-07-03 11:20:51 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-07-03 11:20:51 +0000
commitd566064714fcf048cbec5f3a1cbe89885c9bc293 (patch)
tree734bac97f2f87a79113fdd461740a05eba1bcb27 /arm/CombineOpproof.v
parentc677d5021a9a6e057b15cf9df8ca9ce7c0f5ae30 (diff)
downloadcompcert-kvx-d566064714fcf048cbec5f3a1cbe89885c9bc293.tar.gz
compcert-kvx-d566064714fcf048cbec5f3a1cbe89885c9bc293.zip
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 'arm/CombineOpproof.v')
-rw-r--r--arm/CombineOpproof.v8
1 files changed, 6 insertions, 2 deletions
diff --git a/arm/CombineOpproof.v b/arm/CombineOpproof.v
index 0d2e6dd1..e7080f44 100644
--- a/arm/CombineOpproof.v
+++ b/arm/CombineOpproof.v
@@ -76,11 +76,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:
@@ -91,12 +91,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 *)