aboutsummaryrefslogtreecommitdiffstats
path: root/riscV/Asmgenproof1.v
diff options
context:
space:
mode:
authorLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-03-30 11:25:28 +0200
committerLéo Gourdin <leo.gourdin@univ-grenoble-alpes.fr>2021-03-30 11:25:28 +0200
commit83b556a101b7ed490acf9e127c5b4b9db40e1019 (patch)
tree87752eb10d6e3842e1ae5ca141c7147d4933af5e /riscV/Asmgenproof1.v
parent0d98d7fec937d3a9a2324f1731b041cfbf16dcbe (diff)
downloadcompcert-kvx-83b556a101b7ed490acf9e127c5b4b9db40e1019.tar.gz
compcert-kvx-83b556a101b7ed490acf9e127c5b4b9db40e1019.zip
Now a more general way to perform imm operations
Diffstat (limited to 'riscV/Asmgenproof1.v')
-rw-r--r--riscV/Asmgenproof1.v7
1 files changed, 6 insertions, 1 deletions
diff --git a/riscV/Asmgenproof1.v b/riscV/Asmgenproof1.v
index 639c9a64..6e5cc531 100644
--- a/riscV/Asmgenproof1.v
+++ b/riscV/Asmgenproof1.v
@@ -1258,7 +1258,12 @@ Opaque Int.eq.
{ exploit transl_cond_op_correct; eauto. intros (rs' & A & B & C).
exists rs'; split. eexact A. eauto with asmgen. }
(* Expanded instructions from RTL *)
- 7,8,9,10,17,18,19,20:
+ { unfold get_opimmR0; destruct opi; simpl;
+ econstructor; split; try apply exec_straight_one; simpl; eauto;
+ split; intros; Simpl.
+ try rewrite Int.add_commut; auto.
+ try rewrite Int64.add_commut; auto. }
+ 7,8,9,16,17,18:
econstructor; split; try apply exec_straight_one; simpl; eauto;
split; intros; Simpl; try destruct (rs x0);
try rewrite Int64.add_commut;