On 02/14/2010 03:24 AM, Borislav Petkov wrote: > > __const_hweightN - for at compile time known constants as arguments > __arch_hweightN - arch possibly has an optimized hweight version > __sw_hweightN - fall back when nothing else is there, aka the functions in > lib/hweight.c > > Now, in the x86 case, when the compiler can't know that the argument is > a constant, we call the __arch_hweightN versions. The alternative does > call the __sw_hweightN version in case the CPU doesn't support popcnt. > In this case, we need to build __sw_hweightN with -fcall-saved* for gcc > to be able to take care of the regs clobbered ny __sw_hweightN. > > So, if I understand you correctly, your suggestion might work, we > simply need to rename the lib/hweight.c versions to __sw_hweightN > and have <asm-generic/bitops/arch_hweight.h> have __arch_hweightN -> > __sw_hweightN wrappers in the default case, all arches which have an > optimized version will provide it in their respective bitops header... > I'm not entirely sure what you're asking; if what you're asking what to name an x86-specific fallback function, it presumably should be __arch_sw_hweightN (i.e. __arch prefix with a modifier.) -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html