Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F110119256
D10086.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D10086.diff
View Options
Index: head/contrib/compiler-rt/lib/builtins/README.txt
===================================================================
--- head/contrib/compiler-rt/lib/builtins/README.txt
+++ head/contrib/compiler-rt/lib/builtins/README.txt
@@ -45,6 +45,7 @@
si_int __ctzdi2(di_int a); // count trailing zeros
si_int __ctzti2(ti_int a); // count trailing zeros
+si_int __ffssi2(si_int a); // find least significant 1 bit
si_int __ffsdi2(di_int a); // find least significant 1 bit
si_int __ffsti2(ti_int a); // find least significant 1 bit
Index: head/contrib/compiler-rt/lib/builtins/ffssi2.c
===================================================================
--- head/contrib/compiler-rt/lib/builtins/ffssi2.c
+++ head/contrib/compiler-rt/lib/builtins/ffssi2.c
@@ -0,0 +1,29 @@
+/* ===-- ffssi2.c - Implement __ffssi2 -------------------------------------===
+ *
+ * The LLVM Compiler Infrastructure
+ *
+ * This file is dual licensed under the MIT and the University of Illinois Open
+ * Source Licenses. See LICENSE.TXT for details.
+ *
+ * ===----------------------------------------------------------------------===
+ *
+ * This file implements __ffssi2 for the compiler_rt library.
+ *
+ * ===----------------------------------------------------------------------===
+ */
+
+#include "int_lib.h"
+
+/* Returns: the index of the least significant 1-bit in a, or
+ * the value zero if a is zero. The least significant bit is index one.
+ */
+
+COMPILER_RT_ABI si_int
+__ffssi2(si_int a)
+{
+ if (a == 0)
+ {
+ return 0;
+ }
+ return __builtin_ctz(a) + 1;
+}
Index: head/lib/libcompiler_rt/Makefile.inc
===================================================================
--- head/lib/libcompiler_rt/Makefile.inc
+++ head/lib/libcompiler_rt/Makefile.inc
@@ -38,6 +38,7 @@
SRCF+= enable_execute_stack
SRCF+= eprintf
SRCF+= extendhfsf2
+SRCF+= ffssi2
SRCF+= ffsdi2
SRCF+= ffsti2
SRCF+= fixdfdi
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Feb 14, 9:18 PM (20 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16648070
Default Alt Text
D10086.diff (1 KB)
Attached To
Mode
D10086: Add a weak alias from ffs() to __ffssi2() to pacify modern GCC.
Attached
Detach File
Event Timeline
Log In to Comment