projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.33.20: MORE CONSTANTIFICATION
[sbcl.git]
/
src
/
compiler
/
x86-64
/
system.lisp
diff --git
a/src/compiler/x86-64/system.lisp
b/src/compiler/x86-64/system.lisp
index
88f9997
..
46eedb5
100644
(file)
--- a/
src/compiler/x86-64/system.lisp
+++ b/
src/compiler/x86-64/system.lisp
@@
-44,7
+44,7
@@
(inst jmp :ne DONE)
;; Pick off fixnums.
(inst jmp :ne DONE)
;; Pick off fixnums.
- (inst and al-tn 7)
+ (inst and al-tn fixnum-tag-mask)
(inst jmp :e DONE)
;; must be an other immediate
(inst jmp :e DONE)
;; must be an other immediate
@@
-336,14
+336,12
@@
(:result-types unsigned-num unsigned-num)
(:generator 5
(zeroize eax)
(: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 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
(defmacro with-cycle-counter (&body body)
"Returns the primary value of BODY as the primary value, and the