Author: edelsohn
Branch: ppc-backend-2
Changeset: r55269:38e312eb8e46
Date: 2012-06-01 17:49 -0400
http://bitbucket.org/pypy/pypy/changeset/38e312eb8e46/

Log:    Store FP call arguments on the stack with FP operations.

diff --git a/pypy/jit/backend/ppc/opassembler.py 
b/pypy/jit/backend/ppc/opassembler.py
--- a/pypy/jit/backend/ppc/opassembler.py
+++ b/pypy/jit/backend/ppc/opassembler.py
@@ -493,8 +493,12 @@
             for i, arg in enumerate(stack_args):
                 offset = param_offset + i * WORD
                 if arg is not None:
-                    self.regalloc_mov(arg, r.SCRATCH)
-                self.mc.store(r.SCRATCH.value, r.SP.value, offset)
+                    if arg.type == FLOAT:
+                        self.regalloc_mov(arg, r.f0)
+                        self.mc.stfd(r.f0.value, r.SP.value, offset)
+                    else:
+                        self.regalloc_mov(arg, r.SCRATCH)
+                        self.mc.store(r.SCRATCH.value, r.SP.value, offset)
 
         # collect variables that need to go in registers
         # and the registers they will be stored in 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to