• Borislav Petkov's avatar
    x86: Add optimized popcnt variants · d61931d8
    Borislav Petkov authored
    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: default avatarBorislav Petkov <borislav.petkov@amd.com>
    LKML-Reference: <20100318112015.GC11152@aftab>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    d61931d8
bitops.h 11.6 KB