On 2010-07-06 21:55, Loïc Minier wrote: [...]
I would be a bit scared that this has a chance of getting out of date, or be confusing because other ports might be v7 as well, or also because this only reflects a subset of the ports' requirement (VFP level for instance isn't reflected, such as vfpv2, vfpv3).
ARMv7 (which I think is VFPv3) has 64 quads-worth of floating point registers (64 singles or 32 doubles). Earlier versions have 32 (32 singles or 16 doubles). The calling convention doesn't change --- d0-d7 (s0-s15) are used for parameter passing, and everything else are callee-saves scratch registers.
This means that code built for ARMv7 will mostly work on ARMv6 and before, but if it happens to use more than a certain number of registers it'll fail in really odd ways.
-- ┌─── dg@cowlark.com ───── http://www.cowlark.com ───── │ │ life←{ ↑1 ⍵∨.^3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵ } │ --- Conway's Game Of Life, in one line of APL