Author: Richard Plangger <[email protected]>
Branch: 
Changeset: r88143:703d32a5fde7
Date: 2016-11-04 21:37 +0100
http://bitbucket.org/pypy/pypy/changeset/703d32a5fde7/

Log:    set right sizes for float to int cast in on x86 cpus

diff --git a/rpython/jit/backend/ppc/vector_ext.py 
b/rpython/jit/backend/ppc/vector_ext.py
--- a/rpython/jit/backend/ppc/vector_ext.py
+++ b/rpython/jit/backend/ppc/vector_ext.py
@@ -159,13 +159,10 @@
         resloc, loc0, loc1, size_loc = arglocs
         size = size_loc.value
         if size == 1:
-            # TODO verify if unsigned subtract is the wanted feature
             self.mc.vsububm(resloc.value, loc0.value, loc1.value)
         elif size == 2:
-            # TODO verify if unsigned subtract is the wanted feature
             self.mc.vsubuhm(resloc.value, loc0.value, loc1.value)
         elif size == 4:
-            # TODO verify if unsigned subtract is the wanted feature
             self.mc.vsubuwm(resloc.value, loc0.value, loc1.value)
         elif size == 8:
             self.mc.vsubudm(resloc.value, loc0.value, loc1.value)
diff --git a/rpython/jit/metainterp/resoperation.py 
b/rpython/jit/metainterp/resoperation.py
--- a/rpython/jit/metainterp/resoperation.py
+++ b/rpython/jit/metainterp/resoperation.py
@@ -1185,6 +1185,12 @@
     'VEC_INT_SIGNEXT': ('i', 0, 'i', 0, 0),
 }
 
+import platform
+if not platform.machine().startswith('x86'):
+    # Uh, that should be moved to vector_ext really!
+    _cast_ops['CAST_FLOAT_TO_INT'] = ('f', 8, 'i', 8, 2)
+    _cast_ops['VEC_CAST_FLOAT_TO_INT'] = ('f', 8, 'i', 8, 2)
+
 # ____________________________________________________________
 
 class rop(object):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to