aboutsummaryrefslogtreecommitdiffstats
path: root/riscV
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-02-23 18:10:29 +0100
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-02-23 18:10:29 +0100
commit4192b5f46ff5dbe7a6ccc0929e2d339aaa0e7b71 (patch)
tree9ee80cf9ce0f3dc974f994d3aadb847f1636f302 /riscV
parent9cddf9110be0f088a62334e6eff74667110c5db8 (diff)
downloadcompcert-kvx-4192b5f46ff5dbe7a6ccc0929e2d339aaa0e7b71.tar.gz
compcert-kvx-4192b5f46ff5dbe7a6ccc0929e2d339aaa0e7b71.zip
Separate target_op_simplify for riscV
Diffstat (limited to 'riscV')
-rw-r--r--riscV/RTLpathSE_simplify.v19
1 files changed, 19 insertions, 0 deletions
diff --git a/riscV/RTLpathSE_simplify.v b/riscV/RTLpathSE_simplify.v
new file mode 100644
index 00000000..4fadcfdc
--- /dev/null
+++ b/riscV/RTLpathSE_simplify.v
@@ -0,0 +1,19 @@
+Require Import Op Registers.
+Require Import RTLpathSE_theory.
+Require Import RTLpathSE_simu_specs.
+
+Definition target_op_simplify (op: operation) (lr: list reg) (hst: hsistate_local): option hsval :=
+ None. (* default implementation *)
+
+Lemma target_op_simplify_correct op lr hst fsv ge sp rs0 m0 st args m: forall
+ (H: target_op_simplify op lr hst = Some fsv)
+ (REF: hsilocal_refines ge sp rs0 m0 hst st)
+ (OK0: hsok_local ge sp rs0 m0 hst)
+ (OK1: seval_list_sval ge sp (list_sval_inj (map (si_sreg st) lr)) rs0 m0 = Some args)
+ (OK2: seval_smem ge sp (si_smem st) rs0 m0 = Some m),
+ seval_sval ge sp (hsval_proj fsv) rs0 m0 = eval_operation ge sp op args m.
+Proof.
+ unfold target_op_simplify; simpl. congruence.
+Qed.
+Global Opaque target_op_simplify.
+