diff options
author | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-03-26 12:49:02 +0100 |
---|---|---|
committer | Léo Gourdin <leo.gourdin@univ-grenoble-alpes.fr> | 2021-03-26 12:49:02 +0100 |
commit | 95205e72ca536907fa89c7c884f0e22fc605063d (patch) | |
tree | 4179d9ad8d7abdc7f40e6d35c30836393a07d253 /riscV/Asmgenproof1.v | |
parent | ca78138a8a81af44a36e339ad1ecf86ca3862e50 (diff) | |
download | compcert-kvx-95205e72ca536907fa89c7c884f0e22fc605063d.tar.gz compcert-kvx-95205e72ca536907fa89c7c884f0e22fc605063d.zip |
Adding more expansions, improving miniCSE, and tuning prepass
Diffstat (limited to 'riscV/Asmgenproof1.v')
-rw-r--r-- | riscV/Asmgenproof1.v | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/riscV/Asmgenproof1.v b/riscV/Asmgenproof1.v index 0be56e47..639c9a64 100644 --- a/riscV/Asmgenproof1.v +++ b/riscV/Asmgenproof1.v @@ -1258,11 +1258,15 @@ 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,14: + 7,8,9,10,17,18,19,20: econstructor; split; try apply exec_straight_one; simpl; eauto; - split; intros; Simpl; simpl; - try rewrite Int.add_commut; try rewrite Int64.add_commut; - auto. + split; intros; Simpl; try destruct (rs x0); + try rewrite Int64.add_commut; + try rewrite Int.add_commut; auto; + try rewrite Int64.and_commut; + try rewrite Int.and_commut; auto; + try rewrite Int64.or_commut; + try rewrite Int.or_commut; auto. 1-12: destruct optR0 as [[]|]; unfold apply_bin_r0_r0r0, apply_bin_r0; econstructor; split; try apply exec_straight_one; simpl; eauto; |