[pypy-commit] pypy s390x-backend: implemented int_force_ge_zero using a jump over load zero if it is greater equal to zero

plan_rich noreply at buildbot.pypy.org
Wed Nov 18 10:22:35 EST 2015


Author: Richard Plangger <planrichi at gmail.com>
Branch: s390x-backend
Changeset: r80758:2197df425dc5
Date: 2015-11-18 16:22 +0100
http://bitbucket.org/pypy/pypy/changeset/2197df425dc5/

Log:	implemented int_force_ge_zero using a jump over load zero if it is
	greater equal to zero

diff --git a/rpython/jit/backend/zarch/opassembler.py b/rpython/jit/backend/zarch/opassembler.py
--- a/rpython/jit/backend/zarch/opassembler.py
+++ b/rpython/jit/backend/zarch/opassembler.py
@@ -134,6 +134,12 @@
         else:
             raise AssertionError(extend_from)
 
+    def emit_int_force_ge_zero(self, op, arglocs, resloc):
+        l0, = arglocs
+        off = self.mc.CGIJ_byte_count + self.mc.LGHI_byte_count
+        self.mc.CGIJ(l0, l.imm(0), c.GE, l.imm(off))
+        self.mc.LGHI(l0, l.imm(0))
+
     def emit_int_is_zero(self, op, arglocs, regalloc):
         l0, res = arglocs
         self.mc.CGHI(l0, l.imm(0))


More information about the pypy-commit mailing list