[pypy-svn] r67541 - in pypy/trunk/pypy/jit: backend/llgraph metainterp metainterp/test

arigo at codespeak.net arigo at codespeak.net
Sun Sep 6 00:31:47 CEST 2009


Author: arigo
Date: Sun Sep  6 00:31:47 2009
New Revision: 67541

Modified:
   pypy/trunk/pypy/jit/backend/llgraph/llimpl.py
   pypy/trunk/pypy/jit/metainterp/pyjitpl.py
   pypy/trunk/pypy/jit/metainterp/resoperation.py
   pypy/trunk/pypy/jit/metainterp/test/test_executor.py
Log:
(pedronis, arigo)
FLOAT_IS_TRUE.


Modified: pypy/trunk/pypy/jit/backend/llgraph/llimpl.py
==============================================================================
--- pypy/trunk/pypy/jit/backend/llgraph/llimpl.py	(original)
+++ pypy/trunk/pypy/jit/backend/llgraph/llimpl.py	Sun Sep  6 00:31:47 2009
@@ -87,14 +87,15 @@
     'float_sub'       : (('float', 'float'), 'float'),
     'float_mul'       : (('float', 'float'), 'float'),
     'float_truediv'   : (('float', 'float'), 'float'),
-    'float_lt'        : (('float', 'float'), 'int'),
-    'float_le'        : (('float', 'float'), 'int'),
-    'float_eq'        : (('float', 'float'), 'int'),
-    'float_ne'        : (('float', 'float'), 'int'),
-    'float_gt'        : (('float', 'float'), 'int'),
-    'float_ge'        : (('float', 'float'), 'int'),
+    'float_lt'        : (('float', 'float'), 'bool'),
+    'float_le'        : (('float', 'float'), 'bool'),
+    'float_eq'        : (('float', 'float'), 'bool'),
+    'float_ne'        : (('float', 'float'), 'bool'),
+    'float_gt'        : (('float', 'float'), 'bool'),
+    'float_ge'        : (('float', 'float'), 'bool'),
     'float_neg'       : (('float',), 'float'),
     'float_abs'       : (('float',), 'float'),
+    'float_is_true'   : (('float',), 'bool'),
     'cast_float_to_int':(('float',), 'int'),
     'cast_int_to_float':(('int',), 'float'),
     'same_as'         : (('int',), 'int'),      # could also be ptr=>ptr

Modified: pypy/trunk/pypy/jit/metainterp/pyjitpl.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/pyjitpl.py	(original)
+++ pypy/trunk/pypy/jit/metainterp/pyjitpl.py	Sun Sep  6 00:31:47 2009
@@ -248,6 +248,7 @@
     for _opimpl in ['int_is_true', 'int_neg', 'int_invert', 'bool_not',
                     'cast_ptr_to_int', 'cast_float_to_int',
                     'cast_int_to_float', 'float_neg', 'float_abs',
+                    'float_is_true',
                     ]:
         exec py.code.Source('''
             @arguments("box")

Modified: pypy/trunk/pypy/jit/metainterp/resoperation.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/resoperation.py	(original)
+++ pypy/trunk/pypy/jit/metainterp/resoperation.py	Sun Sep  6 00:31:47 2009
@@ -144,6 +144,7 @@
     'FLOAT_TRUEDIV',
     'FLOAT_NEG',
     'FLOAT_ABS',
+    'FLOAT_IS_TRUE',
     'CAST_FLOAT_TO_INT',
     'CAST_INT_TO_FLOAT',
     #

Modified: pypy/trunk/pypy/jit/metainterp/test/test_executor.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/test/test_executor.py	(original)
+++ pypy/trunk/pypy/jit/metainterp/test/test_executor.py	Sun Sep  6 00:31:47 2009
@@ -39,6 +39,8 @@
     yield (rop.FLOAT_NEG, [15.9], 'float', -15.9)
     yield (rop.FLOAT_ABS, [-5.9], 'float', 5.9)
     yield (rop.FLOAT_ABS, [15.9], 'float', 15.9)
+    yield (rop.FLOAT_IS_TRUE, [-5.9], 'int', 1)
+    yield (rop.FLOAT_IS_TRUE, [0.0], 'int', 0)
     yield (rop.CAST_FLOAT_TO_INT, [-5.9], 'int', -5)
     yield (rop.CAST_FLOAT_TO_INT, [5.9], 'int', 5)
     yield (rop.CAST_INT_TO_FLOAT, [123], 'float', 123.0)



More information about the Pypy-commit mailing list