Author: Armin Rigo <ar...@tunes.org>
Branch: emit-call-x86
Changeset: r64340:757e2f4aedcf
Date: 2013-05-19 19:50 +0200
http://bitbucket.org/pypy/pypy/changeset/757e2f4aedcf/

Log:    fixes

diff --git a/rpython/jit/backend/test/runner_test.py 
b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -2599,7 +2599,8 @@
             if isinstance(b3, BoxInt):
                 r = self.cpu.get_int_value(deadframe, 0)
                 if isinstance(result, r_singlefloat):
-                    r, = struct.unpack("f", struct.pack("i", r))
+                    assert -sys.maxint-1 <= r <= 0xFFFFFFFF
+                    r, = struct.unpack("f", struct.pack("I", r & 0xFFFFFFFF))
                     result = float(result)
                 else:
                     r = rffi.cast(TP, r)
diff --git a/rpython/jit/backend/x86/callbuilder.py 
b/rpython/jit/backend/x86/callbuilder.py
--- a/rpython/jit/backend/x86/callbuilder.py
+++ b/rpython/jit/backend/x86/callbuilder.py
@@ -111,12 +111,12 @@
         if srcloc is None:
             if self.restype == FLOAT:
                 srcloc = xmm0
-            elif self.ressize == 1:
-                srcloc = eax.lowest8bits()
             else:
                 srcloc = eax
         if self.ressize >= WORD and self.resloc is srcloc:
             return      # no need for any MOV
+        if self.ressize == 1 and isinstance(srcloc, RegLoc):
+            srcloc = srcloc.lowest8bits()
         self.asm.load_from_mem(self.resloc, srcloc,
                                imm(self.ressize), imm(self.ressign))
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to