[Mesa-dev] [PATCH 02/14] util: added ffsll() function
Brian Paul
brianp at vmware.com
Fri Aug 28 14:31:21 PDT 2015
v2: fix errant _GNU_SOURCE test, per Matt Turner.
---
src/gallium/auxiliary/util/u_math.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
index 56bd185..c551974 100644
--- a/src/gallium/auxiliary/util/u_math.h
+++ b/src/gallium/auxiliary/util/u_math.h
@@ -389,6 +389,26 @@ unsigned ffs( unsigned u )
#define ffs __builtin_ffs
#endif
+#ifdef HAVE___BUILTIN_FFSLL
+#define ffsll __builtin_ffsll
+#else
+static inline int
+ffsll(long long int val)
+{
+ int bit;
+
+ bit = ffs((unsigned) (val & 0xffffffff));
+ if (bit != 0)
+ return bit;
+
+ bit = ffs((unsigned) (val >> 32));
+ if (bit != 0)
+ return 32 + bit;
+
+ return 0;
+}
+#endif
+
#endif /* FFS_DEFINED */
/**
--
1.9.1
More information about the mesa-dev
mailing list