Author: Richard Plangger <planri...@gmail.com> Branch: s390x-backend Changeset: r82148:8ca0c94c91ac Date: 2016-02-10 13:21 +0100 http://bitbucket.org/pypy/pypy/changeset/8ca0c94c91ac/
Log: translation issue diff --git a/rpython/jit/backend/zarch/assembler.py b/rpython/jit/backend/zarch/assembler.py --- a/rpython/jit/backend/zarch/assembler.py +++ b/rpython/jit/backend/zarch/assembler.py @@ -1016,10 +1016,11 @@ # f8 through f15 are saved registers (= non volatile) # TODO it would be good to detect if any float is used in the loop # and to skip this push/pop whenever no float operation occurs - for i,reg in enumerate(range(8,16)): + for i,reg in enumerate([r.f8, r.f9, r.f10, r.f11, + r.f12, r.f13, r.f14, r.f15]): off = -fpoff + STD_FRAME_SIZE_IN_BYTES assert off > 0 - self.mc.STD_rx(reg, l.addr(off + i*8, r.SP)) + self.mc.STD(reg, l.addr(off + i*8, r.SP)) # save r3, the second argument, to the thread local position self.mc.STG(r.r3, l.addr(-fpoff+THREADLOCAL_ON_ENTER_JIT, r.SP)) @@ -1074,8 +1075,9 @@ # f8 through f15 are saved registers (= non volatile) # TODO it would be good to detect if any float is used in the loop # and to skip this push/pop whenever no float operation occurs - for i,reg in enumerate(range(8,16)): - self.mc.LD_rx(reg, l.addr(size + size + i*8, r.SP)) + for i,reg in enumerate([r.f8, r.f9, r.f10, r.f11, + r.f12, r.f13, r.f14, r.f15]): + self.mc.LD(reg, l.addr(size + size + i*8, r.SP)) # restore registers r6-r15 self.mc.LMG(r.r6, r.r15, l.addr(size+6*WORD, r.SP)) self.jmpto(r.r14) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit