optimize legacy ffs function
authorRich Felker <dalias@aerifal.cx>
Thu, 23 Aug 2012 18:38:34 +0000 (14:38 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 23 Aug 2012 18:38:34 +0000 (14:38 -0400)
src/misc/ffs.c

index 2f7cb32..673ce5a 100644 (file)
@@ -1,9 +1,7 @@
 #include <strings.h>
 #include <strings.h>
+#include "atomic.h"
 
 int ffs(int i)
 {
 
 int ffs(int i)
 {
-       unsigned int j = i;
-       for (i=1; j && !(j&1); j>>=1, i++);
-       if (j) return i;
-       return 0;
+       return i ? a_ctz_l(i)+1 : 0;
 }
 }