Author: David Schneider <david.schnei...@picle.org> Branch: Changeset: r64719:c970352ba2f5 Date: 2013-06-02 15:19 -0500 http://bitbucket.org/pypy/pypy/changeset/c970352ba2f5/
Log: use larger allowed imm size for VLDR and VSTR diff --git a/rpython/jit/backend/arm/assembler.py b/rpython/jit/backend/arm/assembler.py --- a/rpython/jit/backend/arm/assembler.py +++ b/rpython/jit/backend/arm/assembler.py @@ -8,6 +8,7 @@ JITFRAME_FIXED_SIZE) from rpython.jit.backend.arm.codebuilder import InstrBuilder, OverwritingBuilder from rpython.jit.backend.arm.locations import imm, StackLocation +from rpython.jit.backend.arm.helper.regalloc import VMEM_imm_size from rpython.jit.backend.arm.opassembler import ResOpAssembler from rpython.jit.backend.arm.regalloc import (Regalloc, CoreRegisterManager, check_imm_arg, VFPRegisterManager, @@ -961,7 +962,7 @@ return self._load_core_reg(mc, target, base, ofs, cond, helper) def _load_vfp_reg(self, mc, target, base, ofs, cond=c.AL, helper=r.ip): - if check_imm_arg(ofs): + if check_imm_arg(ofs, VMEM_imm_size): mc.VLDR(target.value, base.value, imm=ofs, cond=cond) else: mc.gen_load_int(helper.value, ofs, cond=cond) @@ -982,7 +983,7 @@ return self._store_core_reg(mc, source, base, ofs, cond, helper) def _store_vfp_reg(self, mc, source, base, ofs, cond=c.AL, helper=r.ip): - if check_imm_arg(ofs): + if check_imm_arg(ofs, VMEM_imm_size): mc.VSTR(source.value, base.value, imm=ofs, cond=cond) else: mc.gen_load_int(helper.value, ofs, cond=cond) diff --git a/rpython/jit/backend/arm/helper/regalloc.py b/rpython/jit/backend/arm/helper/regalloc.py --- a/rpython/jit/backend/arm/helper/regalloc.py +++ b/rpython/jit/backend/arm/helper/regalloc.py @@ -4,7 +4,10 @@ from rpython.jit.metainterp.history import ConstInt from rpython.rlib.objectmodel import we_are_translated -def check_imm_arg(arg, size=0xFF, allow_zero=True): +VMEM_imm_size=0x3FC +default_imm_size=0xFF + +def check_imm_arg(arg, size=default_imm_size, allow_zero=True): assert not isinstance(arg, ConstInt) if not we_are_translated(): if not isinstance(arg, int): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit