Re: [PATCH 1/3] X86: Optimise fls(), ffs() and fls64()

From: Linus Torvalds
Date: Fri Mar 26 2010 - 14:08:40 EST




On Fri, 26 Mar 2010, Ralf Baechle wrote:
>
> My trusty old 486 book [1] in the remarks about the BSF instruction:
>
> "The documentation on the 80386 and 80486 states that op1 is undefined if
> op2 is 0. In reality the 80386 will leave the value in op1 unchanged.
> The first versions of the 80486 will change op1 to an undefined value.
> Later version again will leave it unchanged."
>
> [1] Die Intel Familie in German language, by Robert Hummel, 1992

Ok, that explains my memory of us having tried this, at least.

But I do wonder if any of the people working for Intel could ask the CPU
architects whether we could depend on the "don't write" for 64-bit mode.
If AMD already documents the don't-touch semantics, and if Intel were to
be ok with documenting it for their 64-bit capable CPU's, we wouldn't then
need to rely on undefined behavior.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/