[Linaro-dev] Discussion on new ARM hard-float port on debian-arm@

Mark Mitchell mark at codesourcery.com
Fri Jul 9 18:21:23 BST 2010

Loïc Minier wrote:

>> For all v7 processors (A8, A9, etc.) the hardfp ABI will increase the
>> register bandwidth for funtion calls.  In some cases of floating-point
>> intensive code, the increase will be substantial.
>  Yes; I agree, in any case, the hard-floating point will be superior, we
>  don't know how much.

Like everyone else, I'd like to see numbers.

We can, however, to some extent scope the kind of programs that will
benefit.  To benefit, a program must have a call to a small function
that takes floating-point arguments or returns a floating-point value in
an inner loop.  (It must be a small function, since otherwise the
parameter-passing costs will be dwarfed by the function itself.)  This
is a relatively rare situation, but OpenGL or the like are probably
examples of where this could be important.  In many cases, making the
small function "inline" may be a better solution than the hardfp ABI.

Some of the examples in Dave's email can be dealt with without a
completely hardfp world.  For example, the ABI says nothing about calls
to static helper functions within a module, so there's no reason (in
principle) the compiler could not use the hardfp ABI in that situation.
 The same could be accomplished for a non-static function using a
special attribute.

Mark Mitchell
mark at codesourcery.com
(650) 331-3385 x713

More information about the Linaro-dev mailing list