Author: Richard Plangger <r...@pasra.at> Branch: vecopt2 Changeset: r77133:af8b1ecd4d30 Date: 2015-05-05 08:46 +0200 http://bitbucket.org/pypy/pypy/changeset/af8b1ecd4d30/
Log: removed check trace count == 1, added missed changes in merge diff --git a/rpython/jit/backend/x86/rx86.py b/rpython/jit/backend/x86/rx86.py --- a/rpython/jit/backend/x86/rx86.py +++ b/rpython/jit/backend/x86/rx86.py @@ -647,6 +647,8 @@ MOVUPS_jx = xmminsn(rex_nw, '\x0F\x11', register(2, 8), abs_(1)) MOVUPS_ax = xmminsn(rex_nw, '\x0F\x11', register(2, 8), mem_reg_plus_scaled_reg_plus_const(1)) + PSRLDQ_xi = xmminsn('\x66\x0F\x73', orbyte(0xd8), mem_reg_plus_const(1)) + # SSE4.1 PEXTRDD_rxi = xmminsn('\x66', rex_nw, '\x0F\x3A\x14', register(1,8), register(2), immediate(3,'b')) # ------------------------------------------------------------ Conditions = { @@ -765,6 +767,15 @@ define_modrm_modes('MOVAPD_*x', ['\x66', rex_nw, '\x0F\x29', register(2,8)], regtype='XMM') +define_modrm_modes('MOVDQA_x*', ['\x66', rex_nw, '\x0F\x6F', register(1, 8)], + regtype='XMM') +define_modrm_modes('MOVDQA_*x', ['\x66', rex_nw, '\x0F\x7F', register(2, 8)], + regtype='XMM') +define_modrm_modes('MOVDQU_x*', ['\xF3', rex_nw, '\x0F\x6F', register(1, 8)], + regtype='XMM') +define_modrm_modes('MOVDQU_*x', ['\xF3', rex_nw, '\x0F\x7F', register(2, 8)], + regtype='XMM') + define_modrm_modes('SQRTSD_x*', ['\xF2', rex_nw, '\x0F\x51', register(1,8)], regtype='XMM') define_modrm_modes('XCHG_r*', [rex_w, '\x87', register(1, 8)]) @@ -793,6 +804,9 @@ add_insn('m', mem_reg_plus_const(2)) define_pxmm_insn('PADDQ_x*', '\xD4') +define_pxmm_insn('PADDD_x*', '\xFE') +define_pxmm_insn('PADDW_x*', '\xFD') +define_pxmm_insn('PADDB_x*', '\xFC') define_pxmm_insn('PSUBQ_x*', '\xFB') define_pxmm_insn('PAND_x*', '\xDB') define_pxmm_insn('POR_x*', '\xEB') diff --git a/rpython/jit/metainterp/optimizeopt/dependency.py b/rpython/jit/metainterp/optimizeopt/dependency.py --- a/rpython/jit/metainterp/optimizeopt/dependency.py +++ b/rpython/jit/metainterp/optimizeopt/dependency.py @@ -119,9 +119,9 @@ olddescr = tgt_op.getdescr() descr = compile.ResumeAtLoopHeaderDescr() if olddescr: - descr.rd_consts = olddescr.rd_consts - descr.rd_pendingfields = olddescr.rd_pendingfields - descr.rd_virtuals = olddescr.rd_virtuals + #descr.rd_consts = olddescr.rd_consts + #descr.rd_pendingfields = olddescr.rd_pendingfields + #descr.rd_virtuals = olddescr.rd_virtuals descr.rd_numb = olddescr.rd_numb descr.rd_count = olddescr.rd_count descr.rd_frame_info_list = olddescr.rd_frame_info_list diff --git a/rpython/jit/metainterp/optimizeopt/vectorize.py b/rpython/jit/metainterp/optimizeopt/vectorize.py --- a/rpython/jit/metainterp/optimizeopt/vectorize.py +++ b/rpython/jit/metainterp/optimizeopt/vectorize.py @@ -99,7 +99,6 @@ self.loop.operations = self.get_newoperations(); self.clear_newoperations(); - debug_print_operations(self.loop) # vectorize self.build_dependency_graph() self.find_adjacent_memory_refs() diff --git a/rpython/jit/metainterp/test/test_vectorize.py b/rpython/jit/metainterp/test/test_vectorize.py --- a/rpython/jit/metainterp/test/test_vectorize.py +++ b/rpython/jit/metainterp/test/test_vectorize.py @@ -58,8 +58,6 @@ return res res = self.meta_interp(f, [i]) assert res == f(i) - if i > 3: - self.check_trace_count(1) @py.test.mark.parametrize('i',[1,2,3,8,17,128,130,500,501,502,1300]) def test_vectorize_array_get_set(self,i): @@ -94,8 +92,6 @@ return res res = self.meta_interp(f, [i]) assert res == f(i) - #if 4 < i: - # self.check_trace_count(1) @py.test.mark.parametrize('i',[1,2,3,4,9]) def test_vector_register_too_small_vector(self, i): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit