[pypy-commit] pypy s390x-backend: rie extended version of rsi

plan_rich noreply at buildbot.pypy.org
Fri Oct 16 11:35:50 EDT 2015


Author: Richard Plangger <planrichi at gmail.com>
Branch: s390x-backend
Changeset: r80281:656f0a91ab03
Date: 2015-10-16 17:36 +0200
http://bitbucket.org/pypy/pypy/changeset/656f0a91ab03/

Log:	rie extended version of rsi

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
@@ -253,6 +253,17 @@
         self.write_i16(imm16 >> 1 & BIT_MASK_16)
     return encode_ri
 
+def build_rie(mnemonic, (opcode1,opcode2)):
+    @builder.arguments('r,r,i16')
+    def encode_ri(self, reg1, reg2, imm16):
+        self.writechar(opcode1)
+        byte = (reg1 & BIT_MASK_4) << 4 | (reg2 & BIT_MASK_4)
+        self.writechar(chr(byte))
+        self.write_i16(imm16 >> 1 & BIT_MASK_16)
+        self.writechar(chr(0x0))
+        self.writechar(opcode2)
+    return encode_ri
+
 _mnemonic_codes = {
     'AR':      (build_rr,    ['\x1A']),
     'AGR':     (build_rre,   ['\xB9\x08']),
@@ -274,6 +285,7 @@
     'BXH':     (build_rs,    ['\x86']),
     'BXHG':    (build_rsy,   ['\xEB','\x44']),
     'BRXH':    (build_rsi,   ['\x84']),
+    'BRXLG':   (build_rie,   ['\xEC','\x45']),
 }
 
 def build_instr_codes(clazz):


More information about the pypy-commit mailing list