* H. Peter Anvin <hpa@xxxxxxxxx> wrote: > On 03/27/2011 01:45 AM, Maksym Planeta wrote: > > For x86 architecture get_order function can be optimized due to > > assembler instruction bsr. > > > > This is second version of patch where for constants gcc precompute the > > result. > > > > Signed-off-by: Maksym Planeta <mcsim.planeta@xxxxxxxxx> > > gcc 4.x has an intrinsic, __builtin_clz(), which does the opposite of > the bsr instruction; specifically: > > __builtin_clz(x) ^ 31 > > ... generates a bsrl instruction if x is variable. This tends to > generate much better code than any assembly hacks. Indeed, that should work better and should be tried - and it can probably propagate the flags result sensibly (which GCC's asm() cannot, unfortunately). Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html