diff options
Diffstat (limited to 'lib/ffsti2.c')
-rw-r--r-- | lib/ffsti2.c | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/lib/ffsti2.c b/lib/ffsti2.c deleted file mode 100644 index 27e15d5810ef7..0000000000000 --- a/lib/ffsti2.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ===-- ffsti2.c - Implement __ffsti2 -------------------------------------=== - * - * 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 __ffsti2 for the compiler_rt library. - * - * ===----------------------------------------------------------------------=== - */ - -#include "int_lib.h" - -#if __x86_64 - -/* 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. - */ - -si_int -__ffsti2(ti_int a) -{ - twords x; - x.all = a; - if (x.s.low == 0) - { - if (x.s.high == 0) - return 0; - return __builtin_ctzll(x.s.high) + (1 + sizeof(di_int) * CHAR_BIT); - } - return __builtin_ctzll(x.s.low) + 1; -} - -#endif /* __x86_64 */ |