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

Carl S. Shapiro cshapiro at common-lisp.net
Sun Aug 11 06:53:37 UTC 2013


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 at 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



More information about the cmucl-cvs mailing list