Am Samstag, 27. November 2010, 18:16:05 schrieb Chris Tyler:
So I've had a number of conversations with Dennis Gilmore and
other ARM disro ports about v7 support, and particularly with respect to
hardware math. (In addition, one of the Seneca students is currently
investigating v5 vs. v7 support in an attempt to figure out how much of
the Fedora universe needs to be recompiled for optimal benefit).
Regarding hardfp, though, things are quite unclear. My understanding of
soft/softfp/hardfp was initially wrong. As I understand it now:
- soft does all the math in software. Function values are passed in CPU
registers where appropriate.
- softfp enables the use of FPU instructions, but continues to pass
function arguments in CPU registers. This mode enables hardware
acceleration of math and interoperability with soft, at the cost of a
CPU->FPU register move in some cases.
- hardfp enables the use of FPU instructions, and function values are
passed in FPU registers where appropriate. This mode is incompatible
with soft and softfp, and cannot be used on CPUs that have an FPU.
... and cannot be used on CPUs that have _no_ FPU
(probably same for specialized/external FPU).
According to gcc (docs + error messages), it is also incompatible
CPUs that use a "vfp" math unit, such as OMAP3xxx CPUs (BeagleBoard) and
(I think) the CPU used in the XO1.75. I'm unclear on which hardware math
units it is compatible with.
Hmm, really ?
There are different vfp versions (vfp/vfp2/vfp3 and vfp4 upcoming).
From what I see and what was discussed
at MeeGo Conference, the least common denominator is
hardfp with vfpv3-d16. See:
In terms of hardware support, I think we definitely want to continue to
support armv5tel with software floating-point, since that's what is used
on many current Marvell CPUs, including those used in the
hardfp would break compatibility with all of the existing binary
packages, and hardfp can't be compiled by gcc for any of the CPUs I have
got my hands on so far.
Thus, I recommend that we aim at armv7l softfp to support as an arch
I still think a armv7 hardfloat little with vfpv3-d16 would be a good baseline.