projects
/
sbcl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3cd0a9a
)
x86-64: micro-optimize LEA DWORD-REG,EA
author
Nathan Froyd
<froydnj@gmail.com>
Sat, 6 Oct 2012 04:04:25 +0000
(
00:04
-0400)
committer
Nathan Froyd
<froydnj@gmail.com>
Sat, 6 Oct 2012 04:04:25 +0000
(
00:04
-0400)
If we are loading a DWORD EA into a DWORD register, we may not need the
REX prefix. Unlikely to occur in current SBCL code, but does come up
when you're writing your own VOPs for 32-bit operations.
src/compiler/x86-64/insts.lisp
patch
|
blob
|
history
diff --git
a/src/compiler/x86-64/insts.lisp
b/src/compiler/x86-64/insts.lisp
index
a23f5f6
..
15efc7d
100644
(file)
--- a/
src/compiler/x86-64/insts.lisp
+++ b/
src/compiler/x86-64/insts.lisp
@@
-1799,7
+1799,7
@@
(:emitter
(aver (or (dword-reg-p dst) (qword-reg-p dst)))
(maybe-emit-rex-for-ea segment src dst
- :operand-size :qword)
+ :operand-size (if (dword-reg-p dst) :dword :qword))
(emit-byte segment #b10001101)
(emit-ea segment src (reg-tn-encoding dst))))