[pypy-svn] pypy arm-backed-float: return condition

bivab commits-noreply at bitbucket.org
Wed Feb 2 13:49:48 CET 2011


Author: David Schneider <david.schneider at picle.org>
Branch: arm-backed-float
Changeset: r41545:b966311db125
Date: 2011-01-18 18:26 +0100
http://bitbucket.org/pypy/pypy/changeset/b966311db125/

Log:	return condition

diff --git a/pypy/jit/backend/arm/assembler.py b/pypy/jit/backend/arm/assembler.py
--- a/pypy/jit/backend/arm/assembler.py
+++ b/pypy/jit/backend/arm/assembler.py
@@ -181,7 +181,8 @@
                 j += 1
                 res = enc[j]
 
-            assert res in [self.INT_TYPE, self.REF_TYPE], 'location type is not supported'
+            assert res in [self.FLOAT_TYPE, self.INT_TYPE, self.REF_TYPE], 'location type is not supported'
+            res_type = res
             j += 1
             res = enc[j]
             if res == self.IMM_LOC:
@@ -192,7 +193,10 @@
                 loc = regalloc.frame_manager.frame_pos(stack_loc, INT)
                 j += 4
             else: # REG_LOC
-                loc = r.all_regs[ord(res)]
+                if res_type == self.FLOAT_TYPE:
+                    loc = r.all_vfp_regs[ord(res)]
+                else:
+                    loc = r.all_regs[ord(res)]
             j += 1
             locs.append(loc)
         return locs

diff --git a/pypy/jit/backend/arm/opassembler.py b/pypy/jit/backend/arm/opassembler.py
--- a/pypy/jit/backend/arm/opassembler.py
+++ b/pypy/jit/backend/arm/opassembler.py
@@ -797,12 +797,14 @@
         self.mc.VPUSH([temp.value])
         # res is lower register than r.ip
         self.mc.POP([res.value, r.ip.value])
+        return fcond
 
     def emit_op_cast_int_to_float(self, op, arglocs, regalloc, fcond):
         arg, temp, res = arglocs
         self.mc.PUSH([arg.value, r.ip.value])
         self.mc.VPOP([temp.value])
         self.mc.VCVT_int_to_float(res.value, temp.value)
+        return fcond
 
 class ResOpAssembler(GuardOpAssembler, IntOpAsslember,
                     OpAssembler, UnaryIntOpAssembler,


More information about the Pypy-commit mailing list