[pypy-commit] pypy vecopt-merge: assembler, missing return to not enter the non vector guarding instruction

plan_rich noreply at buildbot.pypy.org
Thu Oct 8 11:27:41 CEST 2015


Author: Richard Plangger <planrichi at gmail.com>
Branch: vecopt-merge
Changeset: r80039:a01cf8fd40d6
Date: 2015-10-08 11:27 +0200
http://bitbucket.org/pypy/pypy/changeset/a01cf8fd40d6/

Log:	assembler, missing return to not enter the non vector guarding
	instruction

diff --git a/rpython/jit/backend/x86/regalloc.py b/rpython/jit/backend/x86/regalloc.py
--- a/rpython/jit/backend/x86/regalloc.py
+++ b/rpython/jit/backend/x86/regalloc.py
@@ -409,15 +409,16 @@
 
 
     def _consider_guard_cc(true):
-        def function(self, op):
+        def consider_guard_cc(self, op):
             arg = op.getarg(0)
             if arg.is_vector():
                 loc = self.loc(arg)
                 self.assembler.guard_vector(op, self.loc(arg), true)
+                return
             else:
                 self.load_condition_into_cc(arg)
             self.perform_guard(op, [], None)
-        return function
+        return consider_guard_cc
 
     consider_guard_true = _consider_guard_cc(True)
     consider_guard_false = _consider_guard_cc(False)
diff --git a/rpython/jit/backend/x86/vector_ext.py b/rpython/jit/backend/x86/vector_ext.py
--- a/rpython/jit/backend/x86/vector_ext.py
+++ b/rpython/jit/backend/x86/vector_ext.py
@@ -599,7 +599,6 @@
         args = op.getarglist()
         rhsloc = self.make_sure_var_in_reg(op.getarg(1), args)
         lhsloc = self.xrm.force_result_in_reg(op, op.getarg(0), args)
-        #resloc = self.force_allocate_reg_or_cc(op)
         self.perform(op, [lhsloc, rhsloc, imm(lhs.bytesize)], lhsloc)
 
     consider_vec_float_ne = consider_vec_float_eq


More information about the pypy-commit mailing list