[pypy-svn] r36687 - in pypy/dist/pypy/jit/codegen: i386/test llvm llvm/test test
ericvrp at codespeak.net
ericvrp at codespeak.net
Sat Jan 13 18:55:44 CET 2007
Author: ericvrp
Date: Sat Jan 13 18:55:43 2007
New Revision: 36687
Modified:
pypy/dist/pypy/jit/codegen/i386/test/test_operation.py
pypy/dist/pypy/jit/codegen/llvm/rgenop.py
pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py
pypy/dist/pypy/jit/codegen/test/rgenop_tests.py
Log:
fix two tests (cast_bool_to_int) and one annotation problem
Modified: pypy/dist/pypy/jit/codegen/i386/test/test_operation.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/i386/test/test_operation.py (original)
+++ pypy/dist/pypy/jit/codegen/i386/test/test_operation.py Sat Jan 13 18:55:43 2007
@@ -247,14 +247,14 @@
assert fp(40.0, 2.0) == fn(40.0, 2.0)
assert fp(25.125, 1.5) == fn(25.125, 1.5)
- def test_float_pow(self): #harder test for llvm
+ def test_float_pow(self): #harder test for llvm
for fn in [lambda x, y: x ** y, #not supported in llvm backend
]:
fp = self.rgen(fn, [float, float], float)
assert fp(40.0, 2.0) == fn(40.0, 2.0)
assert fp(25.125, 1.5) == fn(25.125, 1.5)
- def test_float_cast(self): #because of differnt rettype
+ def test_float_cast(self): #because of different rettype
for fn in [lambda x: bool(x),
lambda x: bool(x - 2.0),
]:
Modified: pypy/dist/pypy/jit/codegen/llvm/rgenop.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/llvm/rgenop.py (original)
+++ pypy/dist/pypy/jit/codegen/llvm/rgenop.py Sat Jan 13 18:55:43 2007
@@ -209,6 +209,7 @@
class AddrConst(GenConst):
type = pi8
signed = False
+ addr = llmemory.NULL #have 'addr' even when not instantiated
def __init__(self, addr):
self.addr = addr
@@ -905,7 +906,7 @@
funcsig = gv_fn.operand()
else:
#XXX we probably need to call an address directly if we can't resolve the funcsig
- funcsig = self.rgenop.funcsig[gv_fnptr.value]
+ funcsig = self.rgenop.funcsig[gv_fnptr.get_integer_value()]
gv_returnvar = Var(restype)
self.asm.append(' %s=call %s(%s)' % (
gv_returnvar.operand2(),
Modified: pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py (original)
+++ pypy/dist/pypy/jit/codegen/llvm/test/test_rgenop.py Sat Jan 13 18:55:43 2007
@@ -23,5 +23,3 @@
test_goto_direct = skip_too_minimal #segfault
test_goto_compile = skip_too_minimal #segfault
test_fact_direct = skip_too_minimal #segfault
-
- test_fact_compile = skip #XXX Blocked block, (addr = self.addr) in AddrConst.operand2()
Modified: pypy/dist/pypy/jit/codegen/test/rgenop_tests.py
==============================================================================
--- pypy/dist/pypy/jit/codegen/test/rgenop_tests.py (original)
+++ pypy/dist/pypy/jit/codegen/test/rgenop_tests.py Sat Jan 13 18:55:43 2007
@@ -683,14 +683,21 @@
gv_eq = builder.genop2("int_eq", gv_x, gv_y)
gv_ne = builder.genop2("int_ne", gv_x, gv_y)
- gv_gt2 = gv_gt
- gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt)
- gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge)
- gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le)
- gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq)
- gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne)
+ gv_gt1 = builder.genop1("cast_bool_to_int", gv_gt)
+ gv_lt1 = builder.genop1("cast_bool_to_int", gv_lt)
+ gv_ge1 = builder.genop1("cast_bool_to_int", gv_ge)
+ gv_le1 = builder.genop1("cast_bool_to_int", gv_le)
+ gv_eq1 = builder.genop1("cast_bool_to_int", gv_eq)
+ gv_ne1 = builder.genop1("cast_bool_to_int", gv_ne)
+
+ gv_gt2 = gv_gt1
+ gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt1)
+ gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge1)
+ gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le1)
+ gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq1)
+ gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne1)
- gv_r0 = gv_gt
+ gv_r0 = gv_gt2
gv_r1 = builder.genop2("int_add", gv_r0, gv_lt2)
gv_r2 = builder.genop2("int_add", gv_r1, gv_ge2)
gv_r3 = builder.genop2("int_add", gv_r2, gv_le2)
@@ -724,14 +731,21 @@
gv_eq = builder.genop2("int_eq", gv_one, gv_x)
gv_ne = builder.genop2("int_ne", gv_one, gv_x)
- gv_gt2 = gv_gt
- gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt)
- gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge)
- gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le)
- gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq)
- gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne)
+ gv_gt1 = builder.genop1("cast_bool_to_int", gv_gt)
+ gv_lt1 = builder.genop1("cast_bool_to_int", gv_lt)
+ gv_ge1 = builder.genop1("cast_bool_to_int", gv_ge)
+ gv_le1 = builder.genop1("cast_bool_to_int", gv_le)
+ gv_eq1 = builder.genop1("cast_bool_to_int", gv_eq)
+ gv_ne1 = builder.genop1("cast_bool_to_int", gv_ne)
+
+ gv_gt2 = gv_gt1
+ gv_lt2 = builder.genop2("int_mul", rgenop.genconst(10), gv_lt1)
+ gv_ge2 = builder.genop2("int_mul", rgenop.genconst(100), gv_ge1)
+ gv_le2 = builder.genop2("int_mul", rgenop.genconst(1000), gv_le1)
+ gv_eq2 = builder.genop2("int_mul", rgenop.genconst(10000), gv_eq1)
+ gv_ne2 = builder.genop2("int_mul", rgenop.genconst(100000), gv_ne1)
- gv_r0 = gv_gt
+ gv_r0 = gv_gt2
gv_r1 = builder.genop2("int_add", gv_r0, gv_lt2)
gv_r2 = builder.genop2("int_add", gv_r1, gv_ge2)
gv_r3 = builder.genop2("int_add", gv_r2, gv_le2)
More information about the Pypy-commit
mailing list