[pypy-commit] pypy ppc-backend-2: Implement math_sqrt in prepare_call.

edelsohn noreply at buildbot.pypy.org
Thu Jun 7 16:56:16 CEST 2012


Author: edelsohn
Branch: ppc-backend-2
Changeset: r55469:cdbf6609d4a7
Date: 2012-06-07 10:56 -0400
http://bitbucket.org/pypy/pypy/changeset/cdbf6609d4a7/

Log:	Implement math_sqrt in prepare_call.

diff --git a/pypy/jit/backend/ppc/regalloc.py b/pypy/jit/backend/ppc/regalloc.py
--- a/pypy/jit/backend/ppc/regalloc.py
+++ b/pypy/jit/backend/ppc/regalloc.py
@@ -27,6 +27,7 @@
 from pypy.jit.backend.llsupport.descr import unpack_fielddescr
 from pypy.jit.backend.llsupport.descr import unpack_interiorfielddescr
 from pypy.rlib.objectmodel import we_are_translated
+from pypy.jit.codewriter.effectinfo import EffectInfo
 
 # xxx hack: set a default value for TargetToken._arm_loop_code.  If 0, we know
 # that it is a LABEL that was not compiled yet.
@@ -900,8 +901,11 @@
     def prepare_call(self, op):
         effectinfo = op.getdescr().get_extra_info()
         if effectinfo is not None:
-            # XXX TODO
-            pass
+            oopspecindex = effectinfo.oopspecindex
+            if oopspecindex == EffectInfo.OS_MATH_SQRT:
+                args = self.prepare_math_sqrt(op)
+                self.assembler.emit_math_sqrt(op, args, self)
+                return
         return self._prepare_call(op)
 
     def _prepare_call(self, op, force_store=[], save_all_regs=False):


More information about the pypy-commit mailing list