aboutsummaryrefslogtreecommitdiffstats
path: root/riscV/Asmgenproof1.v
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-03-01 09:27:39 +0100
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-03-01 09:27:39 +0100
commit80db8e4b9a2321f0b102e97b70181fe368a077b4 (patch)
treef3b7482705c5c0ad1225459938b8589dd408e11f /riscV/Asmgenproof1.v
parent8fb2a5a165ecd48b2df76b9beff7a83cc14b5e6c (diff)
downloadcompcert-kvx-80db8e4b9a2321f0b102e97b70181fe368a077b4.tar.gz
compcert-kvx-80db8e4b9a2321f0b102e97b70181fe368a077b4.zip
Proof of fsval condition cmp ok
Diffstat (limited to 'riscV/Asmgenproof1.v')
-rw-r--r--riscV/Asmgenproof1.v9
1 files changed, 5 insertions, 4 deletions
diff --git a/riscV/Asmgenproof1.v b/riscV/Asmgenproof1.v
index 35c5b9d6..a826455e 100644
--- a/riscV/Asmgenproof1.v
+++ b/riscV/Asmgenproof1.v
@@ -1258,10 +1258,11 @@ Opaque Int.eq.
{ exploit transl_cond_op_correct; eauto. intros (rs' & A & B & C).
exists rs'; split. eexact A. eauto with asmgen. }
(* Expanded instructions from RTL *)
- 7: econstructor; split; try apply exec_straight_one; simpl; eauto;
- split; intros; Simpl; rewrite Int.add_commut; auto.
- 13: econstructor; split; try apply exec_straight_one; simpl; eauto;
- split; intros; Simpl; rewrite Int64.add_commut; auto.
+ 7,8,15,16:
+ econstructor; split; try apply exec_straight_one; simpl; eauto;
+ split; intros; Simpl; unfold may_undef_int; try destruct is_long; simpl;
+ try rewrite Int.add_commut; try rewrite Int64.add_commut;
+ destruct (rs (preg_of m0)); try discriminate; eauto.
all: destruct optR0 as [[]|]; unfold apply_bin_r0_r0r0, apply_bin_r0;
econstructor; split; try apply exec_straight_one; simpl; eauto;
split; intros; Simpl.