Silence a printf warning for %lu on 32bits archs.
[SXSI/libbp.git] / bp-utils.h
index 6ead4fa..2397d6f 100644 (file)
@@ -18,20 +18,20 @@ extern "C" {
 #define RRR (1<<logRRR)
 
 
-
-
-
 #include <stdlib.h>
 
-
+#ifdef __GNUC__
+#define UNUSED __attribute__((unused))
+#else
+#define UNUSED
+#endif
 
 #ifdef HAS_NATIVE_POPCOUNT
-static inline unsigned int popcount(unsigned int n){
-  asm ("popcnt %1, %0" : "=r" (n) : "0" (n));
-  return n;
+static inline UNUSED unsigned int popcount(unsigned int n){
+  return __builtin_popcount(n);
 }
 
-static inline unsigned int popcount8(unsigned int n) {
+static inline UNUSED unsigned int popcount8(unsigned int n) {
   return popcount(n & 0xff);
 }
 
@@ -40,12 +40,12 @@ static inline unsigned int popcount8(unsigned int n) {
 
 extern unsigned char popCount[256];
 
-static unsigned int popcount8(unsigned int x)
+static UNUSED unsigned int popcount8(unsigned int x)
 {
   return (unsigned int) popCount[x & 0xff];
 }
 
-static unsigned int popcount(unsigned int x)
+static UNUSED unsigned int popcount(unsigned int x)
 {
   return popcount8(x) +
     popcount8((x >> 8)) +
@@ -55,7 +55,7 @@ static unsigned int popcount(unsigned int x)
 
 
 #else
-static unsigned int popcount8(unsigned int x)
+static UNUSED unsigned int popcount8(unsigned int x)
 {
   unsigned int r;
   r = x;
@@ -65,7 +65,7 @@ static unsigned int popcount8(unsigned int x)
   return r;
 }
 
-static inline unsigned int popcount(unsigned int x)
+static inline UNUSED unsigned int popcount(unsigned int x)
 {
   unsigned int m1 = 0x55555555;
   unsigned int m2 = 0xc30c30c3;
@@ -87,7 +87,7 @@ void * bp_malloc(size_t);
 
 void bp_free(void *);
 
-size_t bp_alloc_stats(void);
+size_t bp_get_alloc_stats(void);
 
 void bp_reset_alloc_states(void);