[fedora-arm] Support for ARMv7, hardware math
Jan-Simon Möller
dl9pf at gmx.de
Sat Nov 27 17:49:15 UTC 2010
Am Samstag, 27. November 2010, 18:16:05 schrieb Chris Tyler:
> So I've had a number of conversations with Dennis Gilmore and folks from
> 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 with
> 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:
* http://lists.meego.com/pipermail/meego-sdk/2010-November/000449.html
* http://wiki.debian.org/ArmHardFloatPort
* https://wiki.linaro.org/Linaro-arm-hardfloat
>
> 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
> SheevaPlug/GuruPlug/OpenRD.
>
> 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
> alongside armv5tel.
I still think a armv7 hardfloat little with vfpv3-d16 would be a good baseline.
Best,
Jan-Simon
More information about the arm
mailing list