aboutsummaryrefslogtreecommitdiffstats
path: root/arm/Asmgenproof1.v
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-07-29 12:10:11 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2013-07-29 12:10:11 +0000
commit41b7ecb127b93b1aecc29a298ec21dc94603e6fa (patch)
tree287ce1cbf88caf973534715c7816d57b9089b265 /arm/Asmgenproof1.v
parent4bf8b331372388dc9cb39154c986c918df9e071c (diff)
downloadcompcert-kvx-41b7ecb127b93b1aecc29a298ec21dc94603e6fa.tar.gz
compcert-kvx-41b7ecb127b93b1aecc29a298ec21dc94603e6fa.zip
Optimize integer divisions by positive constants, turning them into
multiply-high and shifts. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2300 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'arm/Asmgenproof1.v')
-rw-r--r--arm/Asmgenproof1.v7
1 files changed, 4 insertions, 3 deletions
diff --git a/arm/Asmgenproof1.v b/arm/Asmgenproof1.v
index d77006ad..21d2b73c 100644
--- a/arm/Asmgenproof1.v
+++ b/arm/Asmgenproof1.v
@@ -942,11 +942,12 @@ Proof.
eapply exec_straight_two. simpl; eauto. simpl; eauto. auto. auto.
intuition Simpl.
(* divs *)
- econstructor. split. apply exec_straight_one. simpl. rewrite H0. reflexivity. auto.
- intuition Simpl.
+Local Transparent destroyed_by_op.
+ econstructor. split. apply exec_straight_one. simpl. rewrite H0. reflexivity. auto.
+ split. Simpl. simpl; intros. intuition Simpl.
(* divu *)
econstructor. split. apply exec_straight_one. simpl. rewrite H0. reflexivity. auto.
- intuition Simpl.
+ split. Simpl. simpl; intros. intuition Simpl.
(* Oandimm *)
generalize (andimm_correct x x0 i k rs m).
intros [rs' [A [B C]]].