[PATCH] arm: Use builtins for ffs/fls

Sean Anderson sean.anderson at seco.com
Mon Jul 31 23:48:09 CEST 2023


On 7/31/23 17:27, Sean Anderson wrote:
> Since ARMv5, the clz instruction allows for efficient implementation of
> ffs/fls with builtins. Until ARMv7 (with Thumb-2), this instruction is
> only available in ARM mode. LTO makes it difficult to force specific
> functions to be in ARM mode, as it is effectively a form of very
> aggressive inlining. To work around this, fls/ffs are implemented in
> assembly for ARMv5 and ARMv6 when compiling U-Boot in Thumb mode.
> Overall, this saves around 75 bytes per call.
> 
> Signed-off-by: Sean Anderson <sean.anderson at seco.com>
> ---
> I only tested this on ARMv8. If someone has an ARMv5 or ARMv6 board,
> please test this.
>

+CC Linus since he may care about integrator.

--Sean


More information about the U-Boot mailing list