u-boot/include/asm-generic
Sean Anderson 726a802fda arm: Use builtins for ffs/fls
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.

This code is synced with v5.15 of the Linux kernel.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2023-08-17 16:39:20 -04:00
..
bitops arm: Use builtins for ffs/fls 2023-08-17 16:39:20 -04:00
atomic-long.h atomic-long: Fix warnings on arm64 2018-01-28 09:39:05 -05:00
atomic.h Add include/asm-generic/atomic.h 2018-09-25 21:49:18 -04:00
bitsperlong.h linux/bitops.h: GENMASK copy from linux 2015-10-21 09:14:07 -04:00
global_data.h bdinfo: Show the malloc base with the bdinfo command 2023-07-17 17:12:21 +08:00
gpio.h gpio: Use separate bitfield array to indicate GPIO is claimed 2023-08-14 17:55:53 -04:00
int-ll64.h arch: types.h: factor out fixed width typedefs to int-ll64.h 2018-09-10 20:48:16 -04:00
io.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ioctl.h x86: Fix support for booting bzImage 2010-05-06 00:17:01 +02:00
pe.h efi_loader: defines for PE-COFF section flags 2023-01-04 13:17:42 +01:00
sections.h treewide: rework linker symbol declarations in sections header 2023-08-09 09:21:42 -04:00
signal.h asm-generic/signal.h: import from linux 2010-01-17 20:36:05 -05:00
u-boot.h common/board_r.c: drop legacy and unused bi_enetaddr 2022-06-06 18:01:21 -04:00
unaligned.h asm-generic: simplify unaligned.h 2023-05-31 14:05:34 -04:00