Author: Armin Rigo <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit