diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-02-24 15:49:19 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-02-24 15:49:19 +0000 |
commit | 91dcfe11ff321386f7924da053be83523073a50c (patch) | |
tree | dc8291da94c66665ca8dd2496cdd74e32e08ae92 /powerpc/Asmgenproof1.v | |
parent | 0e76ac320601a81a67c700759526d0f8b7a8ed7b (diff) | |
download | compcert-91dcfe11ff321386f7924da053be83523073a50c.tar.gz compcert-91dcfe11ff321386f7924da053be83523073a50c.zip |
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.v | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/powerpc/Asmgenproof1.v b/powerpc/Asmgenproof1.v index 77a19aff..2af4f700 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. |