projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.11.31: misc win32 improvements
[sbcl.git]
/
src
/
compiler
/
x86-64
/
macros.lisp
diff --git
a/src/compiler/x86-64/macros.lisp
b/src/compiler/x86-64/macros.lisp
index
8e9f735
..
eeb35c1
100644
(file)
--- a/
src/compiler/x86-64/macros.lisp
+++ b/
src/compiler/x86-64/macros.lisp
@@
-19,7
+19,13
@@
(once-only ((n-dst dst)
(n-src src))
`(unless (location= ,n-dst ,n-src)
(once-only ((n-dst dst)
(n-src src))
`(unless (location= ,n-dst ,n-src)
- (inst mov ,n-dst ,n-src))))
+ (sc-case ,n-dst
+ (single-reg
+ (inst movss ,n-dst ,n-src))
+ (double-reg
+ (inst movsd ,n-dst ,n-src))
+ (t
+ (inst mov ,n-dst ,n-src))))))
(defmacro make-ea-for-object-slot (ptr slot lowtag)
`(make-ea :qword :base ,ptr :disp (- (* ,slot n-word-bytes) ,lowtag)))
(defmacro make-ea-for-object-slot (ptr slot lowtag)
`(make-ea :qword :base ,ptr :disp (- (* ,slot n-word-bytes) ,lowtag)))