From: lisphacker Date: Sun, 18 Mar 2007 23:46:07 +0000 (+0000) Subject: 1.0.3.46: De-pessimized x86 sub-byte DATA-VECTOR-SET/* VOPs. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=fb76e3acd8b8a53cdadaa65bce1d090d99e004a0;p=sbcl.git 1.0.3.46: De-pessimized x86 sub-byte DATA-VECTOR-SET/* VOPs. Reduced register usage requirements by one (much needed) register. --- diff --git a/src/compiler/x86/array.lisp b/src/compiler/x86/array.lisp index 3ddeadb..9f60029 100644 --- a/src/compiler/x86/array.lisp +++ b/src/compiler/x86/array.lisp @@ -206,7 +206,7 @@ (:note "inline array store") (:translate data-vector-set) (:policy :fast-safe) - (:args (object :scs (descriptor-reg)) + (:args (object :scs (descriptor-reg) :to (:argument 2)) (index :scs (unsigned-reg) :target ecx) (value :scs (unsigned-reg immediate) :target result)) (:arg-types ,type positive-fixnum positive-fixnum) @@ -214,7 +214,7 @@ (:result-types positive-fixnum) (:temporary (:sc unsigned-reg) word-index) (:temporary (:sc unsigned-reg) old) - (:temporary (:sc unsigned-reg :offset ecx-offset) ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 1)) ecx) (:generator 25 (move word-index index) (inst shr word-index ,bit-shift) diff --git a/version.lisp-expr b/version.lisp-expr index 60c34a1..6460028 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.3.45" +"1.0.3.46"