[pypy-commit] pypy ppc-backend-2: Fix float address subtraction in regalloc_mov.

edelsohn noreply at buildbot.pypy.org
Tue Apr 24 04:47:47 CEST 2012


Author: edelsohn
Branch: ppc-backend-2
Changeset: r54713:c320246747e0
Date: 2012-04-23 22:46 -0400
http://bitbucket.org/pypy/pypy/changeset/c320246747e0/

Log:	Fix float address subtraction in regalloc_mov.

diff --git a/pypy/jit/backend/ppc/ppc_assembler.py b/pypy/jit/backend/ppc/ppc_assembler.py
--- a/pypy/jit/backend/ppc/ppc_assembler.py
+++ b/pypy/jit/backend/ppc/ppc_assembler.py
@@ -918,7 +918,7 @@
                         pos = ~pos
                     n = self.CODE_FROMSTACK // 4 + pos
                 else:
-                    assert loc.is_reg() or loc.is_vfp_reg()
+                    assert loc.is_reg() or loc.is_fp_reg()
                     n = loc.value
                 n = kind + 4 * n
                 while n > 0x7F:
@@ -1222,9 +1222,9 @@
                     offset = loc.value
                     if not _check_imm_arg(offset):
                         self.mc.load_imm(r.SCRATCH, offset)
-                        self.mc.sub(r.SCRATCH.value, r.SPP.value, offset)
+                        self.mc.sub(r.SCRATCH.value, r.SPP.value, r.SCRATCH.value)
                     else:
-                        self.mc.sub(r.SCRATCH.value, r.SPP.value, r.SCRATCH.value)
+                        self.mc.subi(r.SCRATCH.value, r.SPP.value, offset)
                     self.mc.stfdx(prev_loc.value, 0, r.SCRATCH.value)
                 return
             assert 0, "not supported location"


More information about the pypy-commit mailing list