El dom 06 ene 2013 19:20:20 CLST, Theodore Ts'o escribió:
I could imagine a patch which explicitly checks the CPU type using the x86 cpuinfo instructure, and only optionally uses the popcount instruction if it exists, and uses the optimized code if it doesn't, but then again, it's not clear how much it's worth it.
The first incarnation of this patch did exactly that, too ugly didnt not send it. ;)
Better yet would be if gcc was taught how to recognize the C statements in popcount32(), since that's one of the standard, intelligent ways of implementing popcount32 (as opposed to the stupid way which is apparently used by gcc's runtime library, sigh), and inserted code which automatically did the cpuinfo check and fallback to popcount if the CPU supports it. This would be even better since then gcc could do a single cpuinfo check, and then automatically use the faster SSE[234] instructions as necessary, without having to ask application programmers to put in gcc-specific __builtin_* functions
Yeah, I asked GCC developers exactly this, was told to fill a enhancement request.
-- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html