1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00
Files
glibc/sysdeps/riscv/math-use-builtins-ffs.h
Julian Zhu 4c966c0780 RISC-V: Use builtin for ffs and ffsll while supported extension available
Hardware ctz instructions are available in the RISC-V Zbb and XTheadBb extension. With special `-march` flags defined, we can generate more simplified code compared to the generic implementation of `ffs`/`ffsll`.

Signed-off-by: Julian Zhu <julian.oerv@isrc.iscas.ac.cn>
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2025-04-28 09:51:59 -03:00

11 lines
292 B
C

#if __GNUC_PREREQ (12, 0) && defined __riscv_zbb
# define USE_FFS_BUILTIN 1
# define USE_FFSLL_BUILTIN 1
#elif __GNUC_PREREQ (13, 0) && defined __riscv_xtheadbb
# define USE_FFS_BUILTIN 0
# define USE_FFSLL_BUILTIN 1
#else
# define USE_FFS_BUILTIN 0
# define USE_FFSLL_BUILTIN 0
#endif