x86: explicitly use edx in const delay function.
authorGlauber Costa <gcosta@redhat.com>
Tue, 24 Jun 2008 13:21:25 +0000 (10:21 -0300)
committerIngo Molnar <mingo@elte.hu>
Wed, 9 Jul 2008 06:52:04 +0000 (08:52 +0200)
commit7e58818d32c18197602d1869b22cfda99efd05fe
tree2ecdee4abda69dad3aefb25c04a81d43081ba01b
parenta76febe975997b933b7285b6e20bb0a21c09d453
x86: explicitly use edx in const delay function.

For x86_64, we can't just use %0, as it would
generate a mul against rdx, which is not really what we
want (note the ">> 32" in x86_64 version).

Using a u64 variable with a shift in i386 generates bad code,
so the solution is to explicitly use %%edx in inline assembly
for both.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/lib/delay_32.c
arch/x86/lib/delay_64.c