aboutsummaryrefslogtreecommitdiffstats
path: root/ia32/Asmgenproof.v
diff options
context:
space:
mode:
Diffstat (limited to 'ia32/Asmgenproof.v')
-rw-r--r--ia32/Asmgenproof.v8
1 files changed, 5 insertions, 3 deletions
diff --git a/ia32/Asmgenproof.v b/ia32/Asmgenproof.v
index 79602e52..e56dc429 100644
--- a/ia32/Asmgenproof.v
+++ b/ia32/Asmgenproof.v
@@ -779,16 +779,18 @@ Opaque loadind.
inv AT. monadInv H6.
exploit functions_transl; eauto. intro FN.
generalize (transf_function_no_overflow _ _ H5); intro NOOV.
- exploit find_label_goto_label; eauto.
+ set (rs1 := rs0 #RAX <- Vundef #RDX <- Vundef).
+ exploit (find_label_goto_label f tf lbl rs1); eauto.
intros [tc' [rs' [A [B C]]]].
exploit ireg_val; eauto. rewrite H. intros LD; inv LD.
left; econstructor; split.
apply plus_one. econstructor; eauto.
eapply find_instr_tail; eauto.
- simpl. rewrite <- H9. unfold Mach.label in H0; unfold label; rewrite H0. eauto.
+ simpl. rewrite <- H9. unfold Mach.label in H0; unfold label; rewrite H0. eexact A.
econstructor; eauto.
Transparent destroyed_by_jumptable.
- simpl. eapply agree_exten; eauto. intros. rewrite C; auto with asmgen.
+ apply agree_undef_regs with rs0; auto.
+ simpl; intros. destruct H8. rewrite C by auto with asmgen. unfold rs1; Simplifs.
congruence.
- (* Mreturn *)