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

From: Matthew Wilcox
Date: Tue Apr 06 2010 - 09:30:37 EST


On Fri, Mar 26, 2010 at 11:03:09AM -0700, Linus Torvalds wrote:
> On Fri, 26 Mar 2010, Ralf Baechle wrote:
> > "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.

I don't know whether we can get it /documented/, but the architect I
asked said "We'll never get away with reverting to the older behavior,
so in essence the architecture is set to not overwrite."

--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--
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/