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