aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/PostpassSchedulingproof.v
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-02-12 16:24:56 +0100
committerCyril SIX <cyril.six@kalray.eu>2019-02-12 16:24:56 +0100
commit41109bd86942b028240ac20758ff29853b025534 (patch)
tree71e37e2c7a2733da4e637d4242bd4d54964673fc /mppa_k1c/PostpassSchedulingproof.v
parent0a56ab26bc776468e6cf462cb5136fd62d4eb44a (diff)
downloadcompcert-kvx-41109bd86942b028240ac20758ff29853b025534.tar.gz
compcert-kvx-41109bd86942b028240ac20758ff29853b025534.zip
Added Osingleofint
Diffstat (limited to 'mppa_k1c/PostpassSchedulingproof.v')
-rw-r--r--mppa_k1c/PostpassSchedulingproof.v7
1 files changed, 5 insertions, 2 deletions
diff --git a/mppa_k1c/PostpassSchedulingproof.v b/mppa_k1c/PostpassSchedulingproof.v
index d0aa89a4..ceea8de5 100644
--- a/mppa_k1c/PostpassSchedulingproof.v
+++ b/mppa_k1c/PostpassSchedulingproof.v
@@ -149,9 +149,12 @@ Lemma exec_basic_instr_pc_var:
exec_basic_instr ge i (rs # PC <- v) m = Next (rs' # PC <- v) m'.
Proof.
intros. unfold exec_basic_instr in *. destruct i.
- - unfold exec_arith_instr in *. exploreInst.
- all: try (inv H; apply next_eq; auto;
+ - unfold exec_arith_instr in *. destruct i; destruct i.
+ all: try (exploreInst; inv H; apply next_eq; auto;
apply functional_extensionality; intros; rewrite regset_double_set; auto; discriminate).
+
+ (* Some cases treated seperately because exploreInst destructs too much *)
+ inv H. apply next_eq; auto. apply functional_extensionality; intros. rewrite regset_double_set; auto. discriminate.
- exploreInst; apply exec_load_pc_var; auto.
- exploreInst; apply exec_store_pc_var; auto.
- destruct (Mem.alloc _ _ _) as (m1 & stk). repeat (rewrite Pregmap.gso; try discriminate).