Implement the ffsll based on built-in function "__builtin_ffsll()"

ffsll will return one plus the index of the least significant 1-bit in
doublewords or if doublewords is zero, returns zero.

Signed-off-by: Rahul Singh <rahul.si...@arm.com>
---
Changes in V4:
 - This patch is introduce in this verison.
---
 xen/include/asm-arm/bitops.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/xen/include/asm-arm/bitops.h b/xen/include/asm-arm/bitops.h
index 71ae14cab3..7f83ee1828 100644
--- a/xen/include/asm-arm/bitops.h
+++ b/xen/include/asm-arm/bitops.h
@@ -170,6 +170,18 @@ static inline unsigned int find_first_set_bit(unsigned 
long word)
         return ffsl(word) - 1;
 }
 
+/**
+ * ffsll - find the first least significant set bit
+ * @doubleword: double word to search
+ *
+ * Returns one plus the index of the least significant 1-bit in @doubleword
+ * or if doubleword is zero, returns zero.
+ */
+static inline int ffsll(long long doubleword)
+{
+        return __builtin_ffsll(doubleword);
+}
+
 /**
  * hweightN - returns the hamming weight of a N-bit word
  * @x: the word to weigh
-- 
2.17.1


Reply via email to