diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-04-29 17:11:47 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2013-04-29 17:11:47 +0000 |
commit | 5c84fd4adbcd8a63cc29fb0286cb46f18abde55c (patch) | |
tree | 39c5c7057d4a7da0b674d8427a9e8910927859f7 /cfrontend/Cshmgenproof.v | |
parent | 540bc673fd0e924c20521bb011de56f11c91c493 (diff) | |
download | compcert-5c84fd4adbcd8a63cc29fb0286cb46f18abde55c.tar.gz compcert-5c84fd4adbcd8a63cc29fb0286cb46f18abde55c.zip |
Expand 64-bit integer comparisons into 32-bit integer comparisons.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2218 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'cfrontend/Cshmgenproof.v')
-rw-r--r-- | cfrontend/Cshmgenproof.v | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cfrontend/Cshmgenproof.v b/cfrontend/Cshmgenproof.v index 00ed1f64..de3b8df0 100644 --- a/cfrontend/Cshmgenproof.v +++ b/cfrontend/Cshmgenproof.v @@ -220,6 +220,12 @@ Proof. simpl in H6. inv H6. unfold Val.cmp in H0. eauto. inv H. econstructor; eauto. rewrite H6. decEq. decEq. simpl in H6. inv H6. unfold Val.cmp in H0. eauto. + inv H. econstructor; eauto. rewrite H6. decEq. decEq. + simpl in H6. unfold Val.cmpl in H6. + destruct (Val.cmpl_bool c v1 v2) as [[]|]; inv H6; reflexivity. + inv H. econstructor; eauto. rewrite H6. decEq. decEq. + simpl in H6. unfold Val.cmplu in H6. + destruct (Val.cmplu_bool c v1 v2) as [[]|]; inv H6; reflexivity. Qed. Lemma make_cast_int_correct: @@ -300,8 +306,7 @@ Proof. destruct (Int.eq i Int.zero); simpl; constructor. exists Vtrue; split. econstructor; eauto with cshm. constructor. (* long *) - econstructor; split. econstructor; eauto with cshm. simpl. eauto. - unfold Val.cmpl, Val.cmpl_bool. simpl. + econstructor; split. econstructor; eauto with cshm. simpl. unfold Val.cmpl. simpl. eauto. destruct (Int64.eq i Int64.zero); simpl; constructor. Qed. |