[pypy-commit] pypy default: fix on 32-bit

arigo noreply at buildbot.pypy.org
Sat Nov 8 22:41:33 CET 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r74404:9fd586fe0fe5
Date: 2014-11-08 22:41 +0100
http://bitbucket.org/pypy/pypy/changeset/9fd586fe0fe5/

Log:	fix on 32-bit

diff --git a/rpython/jit/metainterp/optimizeopt/rewrite.py b/rpython/jit/metainterp/optimizeopt/rewrite.py
--- a/rpython/jit/metainterp/optimizeopt/rewrite.py
+++ b/rpython/jit/metainterp/optimizeopt/rewrite.py
@@ -1,4 +1,5 @@
 from rpython.jit.codewriter.effectinfo import EffectInfo
+from rpython.jit.codewriter import longlong
 from rpython.jit.metainterp import compile
 from rpython.jit.metainterp.history import (Const, ConstInt, BoxInt, BoxFloat,
     BoxPtr, make_hashable_int, ConstFloat)
@@ -246,8 +247,8 @@
                 reciprocal = 1.0 / divisor
                 rfraction = math.frexp(reciprocal)[0]
                 if rfraction == 0.5 or rfraction == -0.5:
-                    op = op.copy_and_change(rop.FLOAT_MUL,
-                                            args=[arg1, ConstFloat(reciprocal)])
+                    c = ConstFloat(longlong.getfloatstorage(reciprocal))
+                    op = op.copy_and_change(rop.FLOAT_MUL, args=[arg1, c])
         self.emit_operation(op)
 
     def optimize_FLOAT_NEG(self, op):


More information about the pypy-commit mailing list