Author: Armin Rigo <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit