[pypy-commit] pypy arm-backend-2: fix for get/set arrayitem

bivab noreply at buildbot.pypy.org
Sun Aug 19 13:27:58 CEST 2012


Author: David Schneider <david.schneider at picle.org>
Branch: arm-backend-2
Changeset: r56754:7b42a32154a4
Date: 2012-08-18 10:48 +0200
http://bitbucket.org/pypy/pypy/changeset/7b42a32154a4/

Log:	fix for get/set arrayitem

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
@@ -849,8 +849,8 @@
         value_loc, base_loc, ofs_loc, scale, ofs = arglocs
         assert ofs_loc.is_reg()
         if scale.value > 0:
+            self.mc.LSL_ri(r.ip.value, ofs_loc.value, scale.value)
             ofs_loc = r.ip
-            self.mc.LSL_ri(r.ip.value, ofs_loc.value, scale.value)
 
         # add the base offset
         if ofs.value > 0:
@@ -892,8 +892,8 @@
 
         # scale the offset as required
         if scale.value > 0:
+            self.mc.LSL_ri(r.ip.value, ofs_loc.value, scale.value)
             ofs_loc = r.ip
-            self.mc.LSL_ri(r.ip.value, ofs_loc.value, scale.value)
         # add the base offset
         if ofs.value > 0:
             self.mc.ADD_ri(r.ip.value, ofs_loc.value, imm=ofs.value)


More information about the pypy-commit mailing list