Followup to: <Pine.LNX.4.33.0201281744070.9796-100000@localhost.localdomain>
By author: Ingo Molnar <mingo@elte.hu>
In newsgroup: linux.dev.kernel
>
> +static __inline__ unsigned long __ffs(unsigned long word)
> +{
> + __asm__("bsfl %1,%0"
> + :"=r" (word)
> + :"r" (word));
> return word;
> }
>
Should typically be:
static __inline__ unsigned long __ffs(unsigned long word)
{
__asm__("bsfl %1,%0"
:"=r" (word)
:"rm" (word));
return word;
}
There is no reason to force the compiler to put the operand in a
register.
-hpa
-- <hpa@transmeta.com> at work, <hpa@zytor.com> in private! "Unix gives you enough rope to shoot yourself in the foot." http://www.zytor.com/~hpa/puzzle.txt <amsp@zytor.com> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Jan 31 2002 - 21:00:50 EST