summaryrefslogtreecommitdiff
path: root/powerpc/Asmgenproof1.v
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-02-24 15:49:19 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-02-24 15:49:19 +0000
commit91dcfe11ff321386f7924da053be83523073a50c (patch)
treedc8291da94c66665ca8dd2496cdd74e32e08ae92 /powerpc/Asmgenproof1.v
parent0e76ac320601a81a67c700759526d0f8b7a8ed7b (diff)
Improved instruction selection for "notint".
powerpc/PrintAsm.ml: fixed MacOS X problems with malloc and free git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1824 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'powerpc/Asmgenproof1.v')
-rw-r--r--powerpc/Asmgenproof1.v5
1 files changed, 5 insertions, 0 deletions
diff --git a/powerpc/Asmgenproof1.v b/powerpc/Asmgenproof1.v
index 77a19af..2af4f70 100644
--- a/powerpc/Asmgenproof1.v
+++ b/powerpc/Asmgenproof1.v
@@ -1340,6 +1340,11 @@ Opaque Val.add.
(* Oxorimm *)
destruct (xorimm_correct (ireg_of res) (ireg_of m0) i k rs m) as [rs' [A [B C]]].
exists rs'; auto with ppcgen.
+ (* Onor *)
+ replace (Val.notint (rs (ireg_of m0)))
+ with (Val.notint (Val.or (rs (ireg_of m0)) (rs (ireg_of m0)))).
+ TranslOpSimpl.
+ destruct (rs (ireg_of m0)); simpl; auto. rewrite Int.or_idem. auto.
(* Oshrximm *)
econstructor; split.
eapply exec_straight_two; simpl; reflexivity.