On Wed 30 Apr 03 15:17, Falk Hueffner wrote:
> Daniel Phillips <dphillips@sistina.com> writes:
> > It's somewhat annoying that __builtin_clz leaves the all-ones case
> > dangling instead of returning -1.
>
> I assume you mean all-zero...
:-)
> Well, the semantics of the corresponding
> instructions simply differ too much. clz(0) is 31 on some, 32 on some
> others, and undefined on some more architectures. So nailing it down
> would incur some performance penalty.
It would only penalize stupidly broken architectures; it would help the ones
that got it right. It's hard to imagine how a sane person could think the
result of clz((u32)0) should be other than 32.
Sigh.
Regards,
Daniel
-
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 : Wed Apr 30 2003 - 22:00:35 EST