[pypy-commit] pypy s390x-backend: test drag along, found one bug (did not copy compare long instr bytes from manual)

plan_rich noreply at buildbot.pypy.org
Tue Nov 3 10:04:53 EST 2015


Author: Richard Plangger <planrichi at gmail.com>
Branch: s390x-backend
Changeset: r80515:4baab7a89095
Date: 2015-11-03 16:04 +0100
http://bitbucket.org/pypy/pypy/changeset/4baab7a89095/

Log:	test drag along, found one bug (did not copy compare long instr
	bytes from manual)

diff --git a/rpython/jit/backend/zarch/codebuilder.py b/rpython/jit/backend/zarch/codebuilder.py
--- a/rpython/jit/backend/zarch/codebuilder.py
+++ b/rpython/jit/backend/zarch/codebuilder.py
@@ -155,4 +155,5 @@
 
 # Used to build the MachineCodeBlockWrapper
 all_instructions = sorted([name for cls in _classes for name in cls.__dict__ \
-                          if name.split('_')[0].isupper() and '_' in name])
+                          if name.split('_')[0].isupper() and '_' in name and \
+                             not name.endswith('_byte_count')])
diff --git a/rpython/jit/backend/zarch/instructions.py b/rpython/jit/backend/zarch/instructions.py
--- a/rpython/jit/backend/zarch/instructions.py
+++ b/rpython/jit/backend/zarch/instructions.py
@@ -27,7 +27,7 @@
     'CGR':     ('rre',    ['\xB9','\x20']),
     'CG':      ('rxy',    ['\xE3','\x20']),
     'CLGR':    ('rre',    ['\xB9','\x21']),
-    'CLG':     ('rxy',    ['\xE3','\x20']),
+    'CLG':     ('rxy',    ['\xE3','\x21']),
     'CGHI':    ('ri',     ['\xA7','\x0F']),
 }
 
diff --git a/rpython/jit/backend/zarch/test/test_assembler.py b/rpython/jit/backend/zarch/test/test_assembler.py
--- a/rpython/jit/backend/zarch/test/test_assembler.py
+++ b/rpython/jit/backend/zarch/test/test_assembler.py
@@ -25,9 +25,6 @@
 
 CPU = getcpuclass()
 
-def byte_count(func):
-    return func._byte_count
-
 def BFL(value, short=False):
     if short:
         return struct.pack('f', value)
@@ -114,8 +111,8 @@
             is AssemblerZARCH.emit_int_add.im_func
 
     def test_byte_count_instr(self):
-        byte_count(self.mc.BRC) == 4
-        byte_count(self.mc.LG) == 6
+        assert self.mc.BRC_byte_count == 4
+        assert self.mc.LG_byte_count == 6
 
     def test_load_small_int_to_reg(self):
         self.a.mc.LGHI(reg.r2, loc.imm(123))
@@ -178,7 +175,7 @@
 
     def test_literal_pool(self):
         self.a.gen_func_prolog()
-        self.a.mc.BRAS(reg.r13, loc.imm(8 + byte_count(self.mc.BRAS)))
+        self.a.mc.BRAS(reg.r13, loc.imm(8 + self.mc.BRAS_byte_count))
         self.a.mc.write('\x08\x07\x06\x05\x04\x03\x02\x01')
         self.a.mc.LG(reg.r2, loc.addr(0, reg.r13))
         self.a.gen_func_epilog()


More information about the pypy-commit mailing list