diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-02-15 02:15:32 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-02-15 02:15:32 +0000 |
commit | 86464aed71025541805e7b1515541aee89879e33 (patch) | |
tree | e01a457a4912a8553bc65524aa3125d51f29f810 /include/asm-ppc/bitops.h | |
parent | 88f99939ecc6a95a79614574cb7d95ffccfc3466 (diff) |
Merge with Linux 2.2.1.
Diffstat (limited to 'include/asm-ppc/bitops.h')
-rw-r--r-- | include/asm-ppc/bitops.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/asm-ppc/bitops.h b/include/asm-ppc/bitops.h index 9e0614ae2..95b59cafc 100644 --- a/include/asm-ppc/bitops.h +++ b/include/asm-ppc/bitops.h @@ -1,5 +1,5 @@ /* - * $Id: bitops.h,v 1.10 1998/08/16 21:56:53 geert Exp $ + * $Id: bitops.h,v 1.11 1999/01/03 20:16:48 cort Exp $ * bitops.h: Bit string operations on the ppc */ @@ -16,6 +16,16 @@ extern int test_and_set_bit(int nr, volatile void *addr); extern int test_and_clear_bit(int nr, volatile void *addr); extern int test_and_change_bit(int nr, volatile void *addr); + +/* Returns the number of 0's to the left of the most significant 1 bit */ +extern __inline__ int cntlzw(int bits) +{ + int lz; + + asm ("cntlzw %0,%1" : "=r" (lz) : "r" (bits)); + return lz; +} + /* * These are if'd out here because using : "cc" as a constraint * results in errors from gcc. -- Cort |