Author: Richard Plangger <planri...@gmail.com> Branch: ppc-vsx-support Changeset: r87039:29d7e657b3af Date: 2016-09-12 14:27 +0200 http://bitbucket.org/pypy/pypy/changeset/29d7e657b3af/
Log: resolve issues in test_schedule introduced by vec_load/store diff --git a/rpython/jit/metainterp/optimizeopt/test/test_schedule.py b/rpython/jit/metainterp/optimizeopt/test/test_schedule.py --- a/rpython/jit/metainterp/optimizeopt/test/test_schedule.py +++ b/rpython/jit/metainterp/optimizeopt/test/test_schedule.py @@ -6,6 +6,7 @@ from rpython.jit.metainterp.optimizeopt.vector import (VecScheduleState, Pack, Pair, NotAProfitableLoop, VectorizingOptimizer, X86_CostModel, PackSet) +from rpython.jit.backend.llsupport.vector_ext import VectorExt from rpython.jit.metainterp.optimizeopt.dependency import Node, DependencyGraph from rpython.jit.metainterp.optimizeopt.schedule import Scheduler from rpython.jit.metainterp.optimizeopt.test.test_util import LLtypeMixin @@ -33,6 +34,10 @@ 'char': self.chararraydescr, } + def setup_method(self, name): + self.vector_ext = VectorExt() + self.vector_ext.enable(16, True) + def pack(self, loop, l, r, input_type=None, output_type=None): return Pack(loop.graph.nodes[l:r]) @@ -92,7 +97,7 @@ ps.packs = [self.pack(loop1, 0, 3)] op1 = ps.packs[0].operations[0] op2 = ps.packs[0].operations[1] - ps.split_overloaded_packs() + ps.split_overloaded_packs(self.vector_ext) assert len(ps.packs) == 1 assert ps.packs[0].leftmost() is op1.getoperation() assert ps.packs[0].rightmost() is op2.getoperation() @@ -109,7 +114,7 @@ pack1 = self.pack(loop1, 0, 6) loop2 = self.schedule(loop1, [pack1]) loop3 = self.parse_trace(""" - v10[4xi32] = vec_raw_load_f(p0, i0, descr=float) + v10[4xi32] = vec_load_f(p0, i0, 1, 0, descr=float) f10 = raw_load_f(p0, i4, descr=float) f11 = raw_load_f(p0, i5, descr=float) """, False) @@ -129,7 +134,7 @@ pack3 = self.pack(loop1, 4, 6) loop2 = self.schedule(loop1, [pack1, pack2, pack3]) loop3 = self.parse_trace(""" - v10[2xi64] = vec_raw_load_i(p0, i0, descr=long) + v10[2xi64] = vec_load_i(p0, i0, 1, 0, descr=long) v20[2xi32] = vec_int_signext(v10[2xi64], 4) v30[2xf64] = vec_cast_int_to_float(v20[2xi32]) """, False) @@ -266,10 +271,10 @@ '_prevent_signext': void }) loop3 = self.parse_trace(""" - v10[2xf64] = vec_raw_load_f(p0, i1, descr=double) - v11[2xf64] = vec_raw_load_f(p0, i3, descr=double) - v12[2xf64] = vec_raw_load_f(p0, i5, descr=double) - v13[2xf64] = vec_raw_load_f(p0, i7, descr=double) + v10[2xf64] = vec_load_f(p0, i1, 1, 0, descr=double) + v11[2xf64] = vec_load_f(p0, i3, 1, 0, descr=double) + v12[2xf64] = vec_load_f(p0, i5, 1, 0, descr=double) + v13[2xf64] = vec_load_f(p0, i7, 1, 0, descr=double) v14[2xi32] = vec_cast_float_to_int(v10[2xf64]) v15[2xi32] = vec_cast_float_to_int(v11[2xf64]) v16[2xi32] = vec_cast_float_to_int(v12[2xf64]) @@ -279,7 +284,7 @@ v23[6xi16] = vec_pack_i(v16[2xi32], v17[2xi32], 2, 2) v20[4xi16] = vec_int_signext(v23[4xi32],2) v24[8xi16] = vec_pack_i(v18[4xi16], v20[4xi16], 4, 4) - vec_raw_store(p1, i1, v24[8xi16], descr=short) + vec_store(p1, i1, v24[8xi16], 1, 0, descr=short) """, False) self.assert_equal(loop2, loop3) @@ -305,12 +310,12 @@ pack3 = self.pack(loop1, 8, 12) loop2 = self.schedule(loop1, [pack1,pack2,pack3]) loop3 = self.parse_trace(""" - v44[2xf64] = vec_raw_load_f(p0, i1, descr=double) - v45[2xf64] = vec_raw_load_f(p0, i3, descr=double) + v44[2xf64] = vec_load_f(p0, i1, 1, 0, descr=double) + v45[2xf64] = vec_load_f(p0, i3, 1, 0, descr=double) v46[2xi32] = vec_cast_float_to_singlefloat(v44[2xf64]) v47[2xi32] = vec_cast_float_to_singlefloat(v45[2xf64]) v41[4xi32] = vec_pack_i(v46[2xi32], v47[2xi32], 2, 2) - vec_raw_store(p1, i1, v41[4xi32], descr=float) + vec_store(p1, i1, v41[4xi32], 1, 0, descr=float) """, False) self.assert_equal(loop2, loop3) @@ -331,7 +336,7 @@ loop2 = self.schedule(loop1, [pack1,pack2,pack3], prepend_invariant=True) loop3 = self.parse_trace(""" v9[2xi64] = vec_expand_i(255) - v10[2xi64] = vec_raw_load_i(p0, i1, descr=long) + v10[2xi64] = vec_load_i(p0, i1, 1, 0, descr=long) v11[2xi64] = vec_int_and(v10[2xi64], v9[2xi64]) vec_guard_true(v11[2xi64]) [] """, False) @@ -350,7 +355,7 @@ pack2 = self.pack(loop1, 4, 6) loop2 = self.schedule(loop1, [pack1,pack2], prepend_invariant=True) loop3 = self.parse_trace(""" - v1[4xi32] = vec_raw_load_i(p0, i1, descr=float) + v1[4xi32] = vec_load_i(p0, i1, 1, 0, descr=float) i10 = vec_unpack_i(v1[4xi32], 0, 1) raw_store(p0, i3, i10, descr=float) i11 = vec_unpack_i(v1[4xi32], 1, 1) @@ -426,7 +431,7 @@ """) pack = self.pack(trace, 0, 4) packs = [] - pack.split(packs, 16) + pack.split(packs, 16, self.vector_ext) packs.append(pack) assert len(packs) == 2 @@ -438,7 +443,7 @@ """) pack = self.pack(trace, 0, 2) packset = FakePackSet([pack]) - packset.split_overloaded_packs() + packset.split_overloaded_packs(self.vector_ext) assert len(packset.packs) == 1 def test_expand(self): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit