linux/include/asm-generic/bitops
Borislav Petkov d61931d89b x86: Add optimized popcnt variants
Add support for the hardware version of the Hamming weight function,
popcnt, present in CPUs which advertize it under CPUID, Function
0x0000_0001_ECX[23]. On CPUs which don't support it, we fallback to the
default lib/hweight.c sw versions.

A synthetic benchmark comparing popcnt with __sw_hweight64 showed almost
a 3x speedup on a F10h machine.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
LKML-Reference: <20100318112015.GC11152@aftab>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-04-06 15:52:11 -07:00
..
__ffs.h x86, generic: mark complex bitops.h inlines as __always_inline 2009-01-13 18:56:30 +01:00
__fls.h x86, generic: mark complex bitops.h inlines as __always_inline 2009-01-13 18:56:30 +01:00
arch_hweight.h x86: Add optimized popcnt variants 2010-04-06 15:52:11 -07:00
atomic.h locking: Convert __raw_spin* functions to arch_spin* 2009-12-14 23:55:32 +01:00
const_hweight.h bitops: Optimize hweight() by making use of compile-time evaluation 2010-04-06 15:52:11 -07:00
ext2-atomic.h [PATCH] bitops: generic ext2_{set,clear}_bit_atomic() 2006-03-26 08:57:11 -08:00
ext2-non-atomic.h ext4: Add ext4_find_next_bit() 2008-01-28 23:58:27 -05:00
ffs.h
ffz.h
find.h x86, generic: optimize find_next_(zero_)bit for small constant-size bitmaps 2008-04-26 19:21:16 +02:00
fls64.h x86, generic: mark complex bitops.h inlines as __always_inline 2009-01-13 18:56:30 +01:00
fls.h x86, generic: mark complex bitops.h inlines as __always_inline 2009-01-13 18:56:30 +01:00
hweight.h bitops: Optimize hweight() by making use of compile-time evaluation 2010-04-06 15:52:11 -07:00
le.h ext4: Add ext4_find_next_bit() 2008-01-28 23:58:27 -05:00
lock.h bitops: introduce lock ops 2007-10-18 14:37:29 -07:00
minix-le.h [PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit() 2006-03-26 08:57:11 -08:00
minix.h [PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit() 2006-03-26 08:57:11 -08:00
non-atomic.h define first set of BIT* macros 2007-10-19 11:53:42 -07:00
sched.h sched: simplify sched_find_first_bit() 2007-07-09 18:52:00 +02:00