Author: Armin Rigo <ar...@tunes.org> Branch: arm-longlong Changeset: r73252:31554946e159 Date: 2014-08-31 23:30 +0300 http://bitbucket.org/pypy/pypy/changeset/31554946e159/
Log: Test and fix diff --git a/rpython/jit/backend/arm/callbuilder.py b/rpython/jit/backend/arm/callbuilder.py --- a/rpython/jit/backend/arm/callbuilder.py +++ b/rpython/jit/backend/arm/callbuilder.py @@ -280,6 +280,7 @@ # 64bit double i = max(self.next_arg_vfp, (self.next_arg_svfp + 1) >> 1) if i >= len(r.vfp_argument_regs): + self.next_arg_svfp = 1000 # stop that sequence too return None self.next_arg_vfp = i + 1 return r.vfp_argument_regs[i] diff --git a/rpython/jit/backend/arm/test/test_callbuilder.py b/rpython/jit/backend/arm/test/test_callbuilder.py --- a/rpython/jit/backend/arm/test/test_callbuilder.py +++ b/rpython/jit/backend/arm/test/test_callbuilder.py @@ -32,3 +32,16 @@ r.s12, r.d7, r.s13, None, None, None] + +def test_hf_vfp_registers_mixture_2(): + hf = HardFloatCallBuilder.__new__(HardFloatCallBuilder) + got = [hf.get_next_vfp('f'), hf.get_next_vfp('f'), + hf.get_next_vfp('f'), hf.get_next_vfp('f'), + hf.get_next_vfp('f'), hf.get_next_vfp('f'), + hf.get_next_vfp('f'), hf.get_next_vfp('S'), + hf.get_next_vfp('f'), hf.get_next_vfp('S')] + assert got == [r.d0, r.d1, + r.d2, r.d3, + r.d4, r.d5, + r.d6, r.s14, + None, None] # <- and not r.s15 for the last item _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit