[pypy-commit] pypy ppc-jit-backend: Add PPC64 ovf operations

edelsohn noreply at buildbot.pypy.org
Fri Nov 11 16:36:32 CET 2011


Author: edelsohn
Branch: ppc-jit-backend
Changeset: r49320:a876a6857b55
Date: 2011-11-11 10:36 -0500
http://bitbucket.org/pypy/pypy/changeset/a876a6857b55/

Log:	Add PPC64 ovf operations

diff --git a/pypy/jit/backend/ppc/ppcgen/opassembler.py b/pypy/jit/backend/ppc/ppcgen/opassembler.py
--- a/pypy/jit/backend/ppc/ppcgen/opassembler.py
+++ b/pypy/jit/backend/ppc/ppcgen/opassembler.py
@@ -56,15 +56,17 @@
 
     def emit_int_mul(self, op, arglocs, regalloc):
         reg1, reg2, res = arglocs
-        self.mc.mullw(res.value, reg1.value, reg2.value)
-
-    def emit_int_mul_ovf(self, op, arglocs, regalloc):
-        reg1, reg2, res = arglocs
-        self.mc.mullwo(res.value, reg1.value, reg2.value)
+        if IS_PPC_32:
+            self.mc.mullw(res.value, reg1.value, reg2.value)
+        else:
+            self.mc.mulld(res.value, reg1.value, reg2.value)
 
     def emit_int_mul_ovf(self, op, arglocs, regalloc):
         l0, l1, res = arglocs
-        self.mc.mullwo(res.value, l0.value, l1.value)
+        if IS_PPC_32:
+            self.mc.mullwo(res.value, l0.value, l1.value)
+        else:
+            self.mc.mulldo(res.value, l0.value, l1.value)
 
     def emit_int_floordiv(self, op, arglocs, regalloc):
         l0, l1, res = arglocs


More information about the pypy-commit mailing list