diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-28 11:06:37 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-28 11:06:37 +0200 |
commit | f0448bf49ee21ff327c98808a02824bd1536a1ee (patch) | |
tree | f9aae84268d9ecea3b25dbbe66b3969694952443 /mppa_k1c/SelectOpproof.v | |
parent | 19908e4a6813dc54d72d142a93a77fe41eed95a2 (diff) | |
download | compcert-kvx-f0448bf49ee21ff327c98808a02824bd1536a1ee.tar.gz compcert-kvx-f0448bf49ee21ff327c98808a02824bd1536a1ee.zip |
selection for insf
Diffstat (limited to 'mppa_k1c/SelectOpproof.v')
-rw-r--r-- | mppa_k1c/SelectOpproof.v | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/mppa_k1c/SelectOpproof.v b/mppa_k1c/SelectOpproof.v index 313786c8..8bfcf1b2 100644 --- a/mppa_k1c/SelectOpproof.v +++ b/mppa_k1c/SelectOpproof.v @@ -701,8 +701,26 @@ Proof. rewrite Int.or_commut. rewrite Int.or_zero. reflexivity. - - destruct (is_bitfield _ _). - + destruct (and_dec _ _); apply DEFAULT. + - set (zstop := (int_highest_bit mask)). + set (zstart := (Int.unsigned start)). + destruct (is_bitfield _ _) eqn:Risbitfield. + + destruct (and_dec _ _) as [[Rmask Rnmask] | ]. + * simpl in H6. + injection H6. + clear H6. + intro. subst y. subst x. + TrivialExists. simpl. f_equal. + unfold insf. + rewrite Risbitfield. + rewrite Rmask. + rewrite Rnmask. + simpl. + unfold bitfield_mask. + subst v0. + subst zstart. + rewrite Int.repr_unsigned. + reflexivity. + * apply DEFAULT. + apply DEFAULT. - apply DEFAULT. Qed. |