aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-12 12:38:48 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-12 12:38:48 +0200
commitaf3bf7d993ebccd93577bc0986a6ab45729fdc1d (patch)
tree798e66dd365b6b08a3da4fb5cae01039efca3f66
parent56249c0fa5aa96767ce3fd9be76b8a9e7bef0231 (diff)
downloadcompcert-kvx-af3bf7d993ebccd93577bc0986a6ab45729fdc1d.tar.gz
compcert-kvx-af3bf7d993ebccd93577bc0986a6ab45729fdc1d.zip
some more simplification
-rw-r--r--mppa_k1c/SelectOp.vp1
-rw-r--r--mppa_k1c/SelectOpproof.v6
2 files changed, 7 insertions, 0 deletions
diff --git a/mppa_k1c/SelectOp.vp b/mppa_k1c/SelectOp.vp
index 019de37d..da0049fe 100644
--- a/mppa_k1c/SelectOp.vp
+++ b/mppa_k1c/SelectOp.vp
@@ -365,6 +365,7 @@ Nondetfunction notint (e: expr) :=
| Eop Onxor (e1:::e2:::Enil) => Eop Oxor (e1:::e2:::Enil)
| Eop (Onxorimm n) (e1:::Enil) => Eop (Oxorimm n) (e1:::Enil)
| Eop Oandn (e1:::e2:::Enil) => Eop Oorn (e2:::e1:::Enil)
+ | Eop Oorn (e1:::e2:::Enil) => Eop Oandn (e2:::e1:::Enil)
| Eop Onot (e1:::Enil) => e1
| Eop (Ointconst k) Enil => Eop (Ointconst (Int.not k)) Enil
| _ => Eop Onot (e:::Enil)
diff --git a/mppa_k1c/SelectOpproof.v b/mppa_k1c/SelectOpproof.v
index 76cfdafe..49980c51 100644
--- a/mppa_k1c/SelectOpproof.v
+++ b/mppa_k1c/SelectOpproof.v
@@ -704,6 +704,12 @@ Proof.
rewrite Int.not_and_or_not.
rewrite Int.not_involutive.
apply Int.or_commut.
+ - subst x. TrivialExists. simpl.
+ destruct v0; destruct v1; simpl; trivial.
+ f_equal. f_equal.
+ rewrite Int.not_or_and_not.
+ rewrite Int.not_involutive.
+ apply Int.and_commut.
- subst x. exists v1; split; trivial.
- TrivialExists.
- TrivialExists.