aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/SelectOpproof.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-04 16:27:52 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-04 16:27:52 +0200
commit7171888446d3d4b47765cc21d982eb2045cd00cd (patch)
treebc3d7c2141ee4e6ff8d92104a035aa8368e580c7 /mppa_k1c/SelectOpproof.v
parentb7ded97f34c5f0c670f43f2b15e77eb8874a764e (diff)
downloadcompcert-kvx-7171888446d3d4b47765cc21d982eb2045cd00cd.tar.gz
compcert-kvx-7171888446d3d4b47765cc21d982eb2045cd00cd.zip
some more progress on select
Diffstat (limited to 'mppa_k1c/SelectOpproof.v')
-rw-r--r--mppa_k1c/SelectOpproof.v53
1 files changed, 27 insertions, 26 deletions
diff --git a/mppa_k1c/SelectOpproof.v b/mppa_k1c/SelectOpproof.v
index 20ba74a1..4af5ccfa 100644
--- a/mppa_k1c/SelectOpproof.v
+++ b/mppa_k1c/SelectOpproof.v
@@ -582,22 +582,22 @@ Proof.
inv H2. inv H5.
replace v8 with v4 in * by congruence.
rename v4 into vselect.
- destruct vselect; simpl; trivial.
- rewrite (Val.and_commut _ v5).
- destruct v5; simpl; trivial.
- rewrite (Val.and_commut _ v9).
- rewrite Val.or_commut.
- destruct v9; simpl; trivial.
- rewrite int_eq_commut.
- destruct (Int.eq i1 Int.zero); simpl.
- + rewrite Int.and_zero.
- rewrite Int.or_commut.
- rewrite Int.or_zero.
+ destruct vselect; simpl; trivial;
+ destruct v5; simpl; trivial; destruct v9; simpl; trivial;
+ destruct (Int.eq i1 Int.zero); simpl; trivial.
+ + rewrite Int.neg_zero.
+ rewrite Int.and_commut.
rewrite Int.and_mone.
+ rewrite Int.and_commut.
+ rewrite Int.and_zero.
+ rewrite Int.or_zero.
reflexivity.
- + rewrite Int.and_mone.
- rewrite Int.neg_zero.
+ + rewrite Int.neg_zero.
+ rewrite Int.and_commut.
rewrite Int.and_zero.
+ rewrite Int.and_commut.
+ rewrite Int.and_mone.
+ rewrite Int.or_commut.
rewrite Int.or_zero.
reflexivity.
- (* select unsigned *)
@@ -620,22 +620,23 @@ Proof.
inv H2. inv H5.
replace v8 with v4 in * by congruence.
rename v4 into vselect.
- destruct vselect; simpl; trivial.
- rewrite (Val.and_commut _ v5).
- destruct v5; simpl; trivial.
- rewrite (Val.and_commut _ v9).
- rewrite Val.or_commut.
- destruct v9; simpl; trivial.
- rewrite int_eq_commut.
- destruct (Int.eq i1 Int.zero); simpl.
- + rewrite Int.and_zero.
- rewrite Int.or_commut.
- rewrite Int.or_zero.
+ destruct vselect; simpl; trivial;
+ destruct v5; simpl; trivial;
+ destruct v9; simpl; trivial;
+ destruct (Int.eq i1 Int.zero); simpl; trivial.
+ + rewrite Int.neg_zero.
+ rewrite Int.and_commut.
rewrite Int.and_mone.
+ rewrite Int.and_commut.
+ rewrite Int.and_zero.
+ rewrite Int.or_zero.
reflexivity.
- + rewrite Int.and_mone.
- rewrite Int.neg_zero.
+ + rewrite Int.neg_zero.
+ rewrite Int.and_commut.
rewrite Int.and_zero.
+ rewrite Int.and_commut.
+ rewrite Int.and_mone.
+ rewrite Int.or_commut.
rewrite Int.or_zero.
reflexivity.
- apply DEFAULT.