[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: armelfp: new architecture name for an armel variant



> >   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).

There are several variants of VFPv3. Some have the additional registers 
(typically the implementations that also have NEON), some do not. VFPv3 also 
introduces some new instructions, so even the variants with the restricted 
register file will not work on VFPv2 hardware (e.g. arm11).

There are also variants that only implement single precision operations, 
though I don't think those are currently being used in core capable of running 
regular Linux.

> 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.

You mean VFPv3 v.s. VFPv2? Saying ARMv7 when you actually mean a particular 
FPU is extremely unhelpful. In the same way that saying "ARMv7" when you 
actually mean "Cortex-A8" (or vice-versa) is likely to get you the wrong 
response.

Either way, I'd expect the typical result to be SIGILL.

Paul


Reply to: