[git] CMU Common Lisp branch master updated. snapshot-2013-08-4-g650e76e

This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMU Common Lisp". The branch, master has been updated via 650e76e600ca917d38a343d3751b5743aee324bb (commit) from db374f49377d8e8c491f3ed3fffdd768f2fd2c78 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 650e76e600ca917d38a343d3751b5743aee324bb Author: Carl Shapiro <cshapiro@common-lisp.net> Date: Sat Aug 10 23:21:42 2013 -0700 compiler/x86: load byte and word values through a sap without a temporary diff --git a/src/compiler/x86/sap.lisp b/src/compiler/x86/sap.lisp index a01112e..bec24be 100644 --- a/src/compiler/x86/sap.lisp +++ b/src/compiler/x86/sap.lisp @@ -186,34 +186,24 @@ (:args (sap :scs (sap-reg)) (offset :scs (signed-reg))) (:arg-types system-area-pointer signed-num) - ,@(unless (eq size :dword) - `((:temporary (:sc ,temp-sc :from (:eval 0) :to (:eval 1)) - temp))) (:results (result :scs (,sc))) (:result-types ,type) (:generator 5 - (inst mov ,(if (eq size :dword) 'result 'temp) - (make-ea ,size :base sap :index offset)) - ,@(unless (eq size :dword) - `((inst ,(if signed 'movsx 'movzx) - result temp))))) + (inst ,(if (eq size :dword) 'mov (if signed 'movsx 'movzx)) + result + (make-ea ,size :base sap :index offset)))) (define-vop (,ref-name-c) (:translate ,ref-name) (:policy :fast-safe) (:args (sap :scs (sap-reg))) (:arg-types system-area-pointer (:constant (signed-byte 32))) (:info offset) - ,@(unless (eq size :dword) - `((:temporary (:sc ,temp-sc :from (:eval 0) :to (:eval 1)) - temp))) (:results (result :scs (,sc))) (:result-types ,type) (:generator 4 - (inst mov ,(if (eq size :dword) 'result 'temp) - (make-ea ,size :base sap :disp offset)) - ,@(unless (eq size :dword) - `((inst ,(if signed 'movsx 'movzx) - result temp))))) + (inst ,(if (eq size :dword) 'mov (if signed 'movsx 'movzx)) + result + (make-ea ,size :base sap :disp offset)))) (define-vop (,set-name) (:translate ,set-name) (:policy :fast-safe) ----------------------------------------------------------------------- Summary of changes: src/compiler/x86/sap.lisp | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) hooks/post-receive -- CMU Common Lisp
participants (1)
-
cshapiroï¼ common-lisp.net