lkml.org 
[lkml]   [2010]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/5] bitops: compile time optimization for hweight_long(CONSTANT)
    On 02/14/2010 12:28 PM, Borislav Petkov wrote:
    >
    > Hmm, basically, what PeterZ suggested is that I drop one indirection
    > under __arch_hweightN, which would make x86-specific fallback functions
    > superfluous.
    >
    > IOW, what we have so far is:
    >
    > #define hweightN(w) (__builtin_constant_p(w) ? __const_hweightN(w) : __arch_hweightN(w))
    >
    > and have <asm-generic/bitops/arch_hweight.h> provide __arch_hweightN()
    > -> __sw_hweightN wrappers per default, where the __sw_hweightN are the
    > lib/hweight.c generic versions.
    >
    > On architectures/CPUs which provide popcnt in
    > hardware, we create __arch_hweightN implementations in
    > <arch/[:ARCH_NAME:]/include/asm/bitops.h> overriding the
    > <asm-generic/bitops/arch_hweight.h> versions by simply not including
    > that last header.
    >
    > Is that agreeable?
    >

    That makes sense... after all, that's a pretty typical use of asm-generic.

    -hpa

    --
    H. Peter Anvin, Intel Open Source Technology Center
    I work for Intel. I don't speak on their behalf.



    \
     
     \ /
      Last update: 2010-02-14 23:19    [W:0.020 / U:1.028 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site