]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
mips: Use builtins for ffs and ffsll
authorJunxian Zhu <zhujunxian@oss.cipunited.com>
Tue, 6 Feb 2024 08:34:56 +0000 (16:34 +0800)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 14 Feb 2024 15:20:49 +0000 (12:20 -0300)
__builtin_ffs{,ll} basically on __builtin_ctz{,ll} in MIPS GCC compiler.
The hardware ctz instructions were available after MIPS{32,64} Release1. By using builtin ctz. It can also reduce code size of ffs/ffsll.

Checked on mips o32. mips64.

Signed-off-by: Junxian Zhu <zhujunxian@oss.cipunited.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
sysdeps/mips/math-use-builtins-ffs.h [new file with mode: 0644]

diff --git a/sysdeps/mips/math-use-builtins-ffs.h b/sysdeps/mips/math-use-builtins-ffs.h
new file mode 100644 (file)
index 0000000..2ab6a03
--- /dev/null
@@ -0,0 +1,3 @@
+#include <sysdep.h>
+#define USE_FFS_BUILTIN (__mips_isa_rev >= 1)
+#define USE_FFSLL_BUILTIN (__mips_isa_rev >= 1)