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