Author: Richard Plangger <[email protected]>
Branch: vecopt-merge
Changeset: r80136:f1dec3e408e6
Date: 2015-10-12 15:57 +0200
http://bitbucket.org/pypy/pypy/changeset/f1dec3e408e6/
Log: removed debugging code and enhanced the test to check pack_load for
guards
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py
b/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_vecopt.py
@@ -263,6 +263,9 @@
Node(ResOperation(rop.GUARD_TRUE, [vec]), 4),
Node(ResOperation(rop.GUARD_TRUE, [vec]), 5),
])
+ assert pack.pack_load(16) == 24-16
+ assert pack.pack_load(8) == 24-8
+ assert pack.pack_load(32) == 24-32
assert pack.opcount_filling_vector_register(16) == 4
ops, newops = pack.slice_operations(16)
assert len(ops) == 4
@@ -1339,23 +1342,6 @@
'guard_true(i100) [p0, i0]',
], trace)
- def test_pack_too_much(self):
- trace = self.parse_loop("""
- [p0, p1, i2, i3, i4, i5]
- i6 = raw_load_i(i4, i3, descr=int16arraydescr)
- guard_not_invalidated() [p0, i6, i3, i2, p1]
- i7 = int_is_true(i6)
- guard_true(i7) [p0, i6, i3, i2, p1]
- i10 = getarrayitem_raw_i(139832330560762, 2, descr=chararraydescr)
- guard_value(i10, 1) [p0, i6, i3, i2, p1]
- i16 = int_add(i2, 1)
- i18 = int_add(i3, 2)
- i19 = int_ge(i16, i5)
- guard_false(i19) [p0, i6, i3, i2, p1]
- jump(p0, p1, i16, i18, i4, i5)""")
- self.vectorize(trace)
- self.debug_print_operations(trace)
-
class TestLLtype(BaseTestVectorize, LLtypeMixin):
pass
diff --git a/rpython/jit/metainterp/optimizeopt/vector.py
b/rpython/jit/metainterp/optimizeopt/vector.py
--- a/rpython/jit/metainterp/optimizeopt/vector.py
+++ b/rpython/jit/metainterp/optimizeopt/vector.py
@@ -794,8 +794,6 @@
def split_overloaded_packs(self):
newpacks = []
for i,pack in enumerate(self.packs):
- if pack.operations[0].op.is_guard():
- import pdb; pdb.set_trace()
load = pack.pack_load(self.vec_reg_size)
if load > Pack.FULL:
pack.split(newpacks, self.vec_reg_size)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit