Author: David Schneider <david.schnei...@picle.org>
Branch: arm-backend-2
Changeset: r56766:35669087ed0b
Date: 2012-08-20 14:25 +0000
http://bitbucket.org/pypy/pypy/changeset/35669087ed0b/

Log:    modify longlong storage for arm hard-float to manage floats as
        floats

diff --git a/pypy/jit/codewriter/longlong.py b/pypy/jit/codewriter/longlong.py
--- a/pypy/jit/codewriter/longlong.py
+++ b/pypy/jit/codewriter/longlong.py
@@ -9,13 +9,14 @@
 import sys
 from pypy.rpython.lltypesystem import lltype, rffi
 from pypy.rlib import rarithmetic, longlong2float
+from pypy.jit.backend.arm.detect import detect_hardfloat
+from pypy.rlib.objectmodel import compute_hash
 
 
 if sys.maxint > 2147483647:
     # ---------- 64-bit platform ----------
     # the type FloatStorage is just a float
 
-    from pypy.rlib.objectmodel import compute_hash
 
     is_64_bit = True
     supports_longlong = False
@@ -28,6 +29,22 @@
     is_longlong     = lambda TYPE: False
 
     # -------------------------------------
+elif detect_hardfloat():
+    # ---------- ARM 32-bit platform ----------
+    # the type FloatStorage is float
+
+    is_64_bit = False
+    supports_longlong = False
+    r_float_storage = float
+    FLOATSTORAGE = lltype.Float
+
+    getfloatstorage = lambda x: x
+    getrealfloat    = lambda x: x
+    gethash         = compute_hash
+    is_longlong     = lambda TYPE: False
+
+    # -------------------------------------
+
 else:
     # ---------- 32-bit platform ----------
     # the type FloatStorage is r_longlong, and conversion is needed
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to