X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86-64%2Fsystem.lisp;h=ce91fb436651e8b64d1b5d1c72465e0b72093632;hb=45bc305be4e269d2e1a477c8e0ae9a64df1ccd1c;hp=88f999779c6b004f154d5943ec3306ff2b126d3b;hpb=f866d5d986cc920a8823549df5045b8182e7d92d;p=sbcl.git diff --git a/src/compiler/x86-64/system.lisp b/src/compiler/x86-64/system.lisp index 88f9997..ce91fb4 100644 --- a/src/compiler/x86-64/system.lisp +++ b/src/compiler/x86-64/system.lisp @@ -336,14 +336,12 @@ (:result-types unsigned-num unsigned-num) (:generator 5 (zeroize 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) - (zeroize 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