From 62316a8e94d8cdcbf9e7aeadd1caf8e29507e6b0 Mon Sep 17 00:00:00 2001 From: xleroy Date: Fri, 24 Feb 2012 16:43:38 +0000 Subject: Take advantage of Cmaskzero and Cmasknotzero. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1825 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- arm/SelectOpproof.v | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'arm/SelectOpproof.v') diff --git a/arm/SelectOpproof.v b/arm/SelectOpproof.v index 0a5ee645..1a2f5606 100644 --- a/arm/SelectOpproof.v +++ b/arm/SelectOpproof.v @@ -769,4 +769,19 @@ Proof. exists (v :: nil); split. eauto with evalexpr. subst. simpl. rewrite Int.add_zero; auto. Qed. +Theorem eval_cond_of_expr: + forall le a v b, + eval_expr ge sp e m le a v -> + Val.bool_of_val v b -> + match cond_of_expr a with (cond, args) => + exists vl, + eval_exprlist ge sp e m le args vl /\ + eval_condition cond vl m = Some b + end. +Proof. + intros. unfold cond_of_expr; simpl. + exists (v :: nil); split; auto with evalexpr. + simpl. inversion H0; simpl. rewrite Int.eq_false; auto. auto. auto. +Qed. + End CMCONSTR. -- cgit