Messages in this thread | | | Date | Fri, 26 Mar 2010 11:03:09 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH 1/3] X86: Optimise fls(), ffs() and fls64() |
| |
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
| |