From 5909a0340ad0fe871dede1eaead855fb4b68fb0e Mon Sep 17 00:00:00 2001 From: xleroy Date: Mon, 8 Aug 2011 06:31:10 +0000 Subject: IA32 port: more faithful treatment of pseudoregister ST0. Related general change: support for destroyed_at_moves. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1700 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- ia32/Asmgenproof.v | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'ia32/Asmgenproof.v') diff --git a/ia32/Asmgenproof.v b/ia32/Asmgenproof.v index 45ac48d..6c68b37 100644 --- a/ia32/Asmgenproof.v +++ b/ia32/Asmgenproof.v @@ -758,7 +758,7 @@ Lemma exec_Msetstack_prop: (ms : mreg -> val) (m m' : mem), store_stack m sp ty ofs (ms src) = Some m' -> exec_instr_prop (Machsem.State s fb sp (Msetstack src ofs ty :: c) ms m) E0 - (Machsem.State s fb sp c ms m'). + (Machsem.State s fb sp c (undef_setstack ms) m'). Proof. intros; red; intros; inv MS. unfold store_stack in H. @@ -768,7 +768,7 @@ Proof. left; eapply exec_straight_steps; eauto. intros. simpl in H1. exploit storeind_correct; eauto. intros [rs' [P Q]]. exists rs'; split. eauto. - split. eapply agree_exten; eauto. + split. unfold undef_setstack. eapply agree_undef_move; eauto. simpl; intros. rewrite Q; auto with ppcgen. Qed. @@ -834,7 +834,7 @@ Proof. split. rewrite <- Q in B. unfold undef_op. destruct op; try (eapply agree_set_undef_mreg; eauto). - eapply agree_set_mreg; eauto. + eapply agree_set_undef_move_mreg; eauto. simpl; congruence. Qed. -- cgit v1.2.3