aboutsummaryrefslogtreecommitdiffstats
path: root/arm/ConstpropOpproof.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-03-29 11:57:33 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-03-29 11:57:33 +0000
commit448cc3ff32cc60f4b9e78911404106797e109d90 (patch)
tree4dcea174d56a4984238d014c481c8d484d653007 /arm/ConstpropOpproof.v
parentbf138748416195df13f68c097c750e1d388ac0de (diff)
downloadcompcert-kvx-448cc3ff32cc60f4b9e78911404106797e109d90.tar.gz
compcert-kvx-448cc3ff32cc60f4b9e78911404106797e109d90.zip
Support for fcmpzd instruction (float compare with +0.0)
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1858 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'arm/ConstpropOpproof.v')
-rw-r--r--arm/ConstpropOpproof.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/arm/ConstpropOpproof.v b/arm/ConstpropOpproof.v
index 711bb33b..bf3b216c 100644
--- a/arm/ConstpropOpproof.v
+++ b/arm/ConstpropOpproof.v
@@ -192,6 +192,15 @@ Proof.
rewrite H. rewrite eval_static_shift_correct. auto.
rewrite H. rewrite eval_static_shift_correct. auto.
auto.
+ destruct (Float.eq_dec n1 Float.zero); simpl; auto.
+ rewrite H0; subst n1. destruct (rs#r2); simpl; auto. rewrite Float.cmp_swap. auto.
+ destruct (Float.eq_dec n2 Float.zero); simpl; auto.
+ congruence.
+ destruct (Float.eq_dec n1 Float.zero); simpl; auto.
+ rewrite H0; subst n1. destruct (rs#r2); simpl; auto. rewrite Float.cmp_swap. auto.
+ destruct (Float.eq_dec n2 Float.zero); simpl; auto.
+ congruence.
+ auto.
Qed.
Lemma make_addimm_correct: