[pypy-commit] pypy arm-backend-2: use shifted immediate and reg arguments for the operations
bivab
noreply at buildbot.pypy.org
Fri Feb 3 12:33:39 CET 2012
Author: David Schneider <david.schneider at picle.org>
Branch: arm-backend-2
Changeset: r52059:fe97ecdb2301
Date: 2012-01-26 16:29 +0100
http://bitbucket.org/pypy/pypy/changeset/fe97ecdb2301/
Log: use shifted immediate and reg arguments for the operations
diff --git a/pypy/jit/backend/arm/opassembler.py b/pypy/jit/backend/arm/opassembler.py
--- a/pypy/jit/backend/arm/opassembler.py
+++ b/pypy/jit/backend/arm/opassembler.py
@@ -591,15 +591,15 @@
tmp1 = loc_index
# store additional scratch reg
self.mc.PUSH([tmp1.value])
+ #byteofs
+ s = 3 + descr.jit_wb_card_page_shift
+ self.mc.MVN_rr(r.lr.value, tmp1.value,
+ imm=s, shifttype=shift.LSR)
# byte_index
- self.mc.LSR_ri(tmp1.value, tmp1.value,
- imm=descr.jit_wb_card_page_shift)
- #byteofs
- self.mc.LSR_ri(r.lr.value, tmp1.value, imm=3)
- self.mc.MVN_rr(r.lr.value, r.lr.value)
- #byteval
+ self.mc.MOV_ri(r.ip.value, imm=7)
+ self.mc.AND_rr(tmp1.value, r.ip.value, tmp1.value,
+ imm=descr.jit_wb_card_page_shift, shifttype=shift.LSR)
self.mc.MOV_ri(r.ip.value, imm=1)
- self.mc.AND_ri(tmp1.value, tmp1.value, imm=7)
self.mc.LSL_rr(tmp1.value, r.ip.value, tmp1.value)
# set the bit
More information about the pypy-commit
mailing list