aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-09-05 13:16:05 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-09-05 13:16:05 +0200
commit339d7e5ff093a2002aa8c939aece10bafe2914d7 (patch)
tree215e81469385f4715005cc1a0b8f4f80a762732c /mppa_k1c
parent4284ab56c71cd64ebf6ce22ad13d3cd5533ac7ed (diff)
downloadcompcert-kvx-339d7e5ff093a2002aa8c939aece10bafe2914d7.tar.gz
compcert-kvx-339d7e5ff093a2002aa8c939aece10bafe2914d7.zip
more proofs
Diffstat (limited to 'mppa_k1c')
-rw-r--r--mppa_k1c/Op.v13
1 files changed, 13 insertions, 0 deletions
diff --git a/mppa_k1c/Op.v b/mppa_k1c/Op.v
index c75a1a22..7aea2929 100644
--- a/mppa_k1c/Op.v
+++ b/mppa_k1c/Op.v
@@ -1903,6 +1903,19 @@ Proof.
econstructor; eauto. rewrite Ptrofs.add_zero_l; auto.
Qed.
+Lemma eval_addressing_inject_none:
+ forall addr vl1 vl2,
+ Val.inject_list f vl1 vl2 ->
+ eval_addressing genv (Vptr sp1 Ptrofs.zero) addr vl1 = None ->
+ eval_addressing genv (Vptr sp2 Ptrofs.zero) (shift_stack_addressing delta addr) vl2 = None.
+Proof.
+ intros.
+ rewrite eval_shift_stack_addressing.
+ eapply eval_addressing_inj_none with (sp1 := Vptr sp1 Ptrofs.zero); eauto.
+ intros. apply symbol_address_inject.
+ econstructor; eauto. rewrite Ptrofs.add_zero_l; auto.
+Qed.
+
Lemma eval_operation_inject:
forall op vl1 vl2 v1 m1 m2,
Val.inject_list f vl1 vl2 ->