aboutsummaryrefslogtreecommitdiffstats
path: root/kvx/SelectOpproof.v
diff options
context:
space:
mode:
authorDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2022-02-11 11:12:45 +0100
committerDavid Monniaux <David.Monniaux@univ-grenoble-alpes.fr>2022-02-11 11:12:45 +0100
commit54dea0fc061f5daee5976450ec84ddb7e15c5db9 (patch)
treea670c4fe3ff59743c713eb9853960b2beb3fe54e /kvx/SelectOpproof.v
parentf8d32a19caf88733a9bbeee976f5c2fc549d4f92 (diff)
downloadcompcert-kvx-54dea0fc061f5daee5976450ec84ddb7e15c5db9.tar.gz
compcert-kvx-54dea0fc061f5daee5976450ec84ddb7e15c5db9.zip
remove singleoflongu (does not exist)
Diffstat (limited to 'kvx/SelectOpproof.v')
-rw-r--r--kvx/SelectOpproof.v22
1 files changed, 22 insertions, 0 deletions
diff --git a/kvx/SelectOpproof.v b/kvx/SelectOpproof.v
index 658bf0b3..e6cce0fa 100644
--- a/kvx/SelectOpproof.v
+++ b/kvx/SelectOpproof.v
@@ -1929,6 +1929,28 @@ Proof.
}
inv EVAL.
constructor.
+ - cbn in *.
+ intro EVAL.
+ inv EVAL. discriminate.
+ inv H0. discriminate.
+ inv H2. 2: discriminate.
+ inv Heval.
+ intro EVAL.
+ destruct v1; try discriminate.
+ destruct v0; try discriminate.
+ unfold Int64.eq in EVAL.
+ change (Int64.unsigned Int64.zero) with 0 in EVAL.
+ unfold zeq in EVAL.
+ destruct (Z.eq_dec (Int64.unsigned i0) 0) as [EQ | NEQ].
+ { discriminate. }
+ exists (Vlong (Int64.divu i i0)). split.
+ {
+ apply FPDivision64.fp_divu64_correct; auto.
+ pose proof (Int64.unsigned_range i0).
+ lia.
+ }
+ inv EVAL.
+ constructor.
Qed.
End CMCONSTR.