X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fsystem.lisp;h=d65cda32e167f90ff39a0e15783a09468e32510f;hb=9b1fade83db8453b75b8c7380eb12ce41b5b889c;hp=ca691a8fbcab44320ae15b42b7dbd95cda2e5d4f;hpb=f866d5d986cc920a8823549df5045b8182e7d92d;p=sbcl.git diff --git a/src/compiler/x86/system.lisp b/src/compiler/x86/system.lisp index ca691a8..d65cda3 100644 --- a/src/compiler/x86/system.lisp +++ b/src/compiler/x86/system.lisp @@ -330,14 +330,12 @@ (:result-types unsigned-num unsigned-num) (:generator 5 (inst xor eax eax) + ;; Intel docs seem quite consistent on only using CPUID before RDTSC, + ;; not both before and after. Go figure. (inst cpuid) (inst rdtsc) - (inst push edx) - (inst push eax) - (inst xor eax eax) - (inst cpuid) - (inst pop lo) - (inst pop hi))) + (move lo eax) + (move hi edx))) (defmacro with-cycle-counter (&body body) "Returns the primary value of BODY as the primary value, and the