Author: edelsohn Branch: ppc-jit-backend Changeset: r50957:e2765d568453 Date: 2011-12-30 10:14 -0500 http://bitbucket.org/pypy/pypy/changeset/e2765d568453/
Log: Use encode64/decode64 for IMM on PPC64. diff --git a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py --- a/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py +++ b/pypy/jit/backend/ppc/ppcgen/ppc_assembler.py @@ -15,8 +15,8 @@ FPR_SAVE_AREA, FLOAT_INT_CONVERSION, FORCE_INDEX) from pypy.jit.backend.ppc.ppcgen.helper.assembler import (gen_emit_cmp_op, - encode32, decode32, - decode64, + encode32, encode64, + decode32, decode64, count_reg_args, Saved_Volatiles) import pypy.jit.backend.ppc.ppcgen.register as r @@ -199,8 +199,12 @@ if res == self.IMM_LOC: # imm value if group == self.INT_TYPE or group == self.REF_TYPE: - value = decode32(enc, i+1) - i += 4 + if IS_PPC_32: + value = decode32(enc, i+1) + i += 4 + else: + value = decode64(enc, i+1) + i += 8 else: assert 0, "not implemented yet" elif res == self.STACK_LOC: @@ -620,8 +624,12 @@ assert (arg.type == INT or arg.type == REF or arg.type == FLOAT) mem[j] = self.IMM_LOC - encode32(mem, j+1, loc.getint()) - j += 5 + if IS_PPC_32: + encode32(mem, j+1, loc.getint()) + j += 5 + else: + encode64(mem, j+1, loc.getint()) + j += 9 else: mem[j] = self.STACK_LOC encode32(mem, j+1, loc.position) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit