From f19779c541316be83aa7b3d0608cf596b6f70b8c Mon Sep 17 00:00:00 2001 From: dtc <dtc> Date: Thu, 19 Feb 1998 19:35:10 +0000 Subject: [PATCH] Remove uses of the dword-reg SC for temporaries in VOPs in preparation for the removal of this SC. There is a current limit of 32 SCs and with new features planned they are becoming a scarce resource; the dword-reg SC is redundant as the unsigned-reg etc SCs can be used for temporaries. --- compiler/x86/alloc.lisp | 18 +++++------ compiler/x86/arith.lisp | 45 ++++++++++++++-------------- compiler/x86/array.lisp | 32 ++++++++++---------- compiler/x86/c-call.lisp | 6 ++-- compiler/x86/call.lisp | 59 ++++++++++++++++++------------------- compiler/x86/cell.lisp | 10 +++---- compiler/x86/char.lisp | 4 +-- compiler/x86/debug.lisp | 8 ++--- compiler/x86/float.lisp | 20 +++++++------ compiler/x86/move.lisp | 27 ++++++++--------- compiler/x86/nlx.lisp | 16 +++++----- compiler/x86/print.lisp | 4 +-- compiler/x86/static-fn.lisp | 10 +++---- compiler/x86/subprim.lisp | 8 ++--- compiler/x86/system.lisp | 8 ++--- compiler/x86/type-vops.lisp | 6 ++-- compiler/x86/values.lisp | 10 +++---- 17 files changed, 145 insertions(+), 146 deletions(-) diff --git a/compiler/x86/alloc.lisp b/compiler/x86/alloc.lisp index ce37fb673..0200bf97a 100644 --- a/compiler/x86/alloc.lisp +++ b/compiler/x86/alloc.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/alloc.lisp,v 1.6 1997/11/19 03:00:32 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/alloc.lisp,v 1.7 1998/02/19 19:34:35 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -26,8 +26,8 @@ (define-vop (list-or-list*) (:args (things :more t)) - (:temporary (:sc dword-reg) ptr temp) - (:temporary (:sc dword-reg :to (:result 0) :target result) res) + (:temporary (:sc unsigned-reg) ptr temp) + (:temporary (:sc unsigned-reg :to (:result 0) :target result) res) (:info num) (:results (result :scs (descriptor-reg))) (:variant-vars star) @@ -84,9 +84,9 @@ (:args (boxed-arg :scs (any-reg) :target boxed) (unboxed-arg :scs (any-reg) :target unboxed)) (:results (result :scs (descriptor-reg))) - (:temporary (:sc dword-reg :from :eval) temp) - (:temporary (:sc dword-reg :from (:argument 0)) boxed) - (:temporary (:sc dword-reg :from (:argument 1)) unboxed) + (:temporary (:sc unsigned-reg :from :eval) temp) + (:temporary (:sc unsigned-reg :from (:argument 0)) boxed) + (:temporary (:sc unsigned-reg :from (:argument 1)) unboxed) (:generator 100 (move boxed boxed-arg) (inst add boxed (fixnum (1+ code-trace-table-offset-slot))) @@ -115,8 +115,8 @@ (:args (boxed-arg :scs (any-reg) :target boxed) (unboxed-arg :scs (any-reg) :target unboxed)) (:results (result :scs (descriptor-reg) :from :eval)) - (:temporary (:sc dword-reg :from (:argument 0)) boxed) - (:temporary (:sc dword-reg :from (:argument 1)) unboxed) + (:temporary (:sc unsigned-reg :from (:argument 0)) boxed) + (:temporary (:sc unsigned-reg :from (:argument 1)) unboxed) (:node-var node) (:generator 100 (move boxed boxed-arg) @@ -233,7 +233,7 @@ (:policy :fast-safe) (:translate make-symbol) (:args (name :scs (descriptor-reg) :to :eval)) - (:temporary (:sc dword-reg :from :eval) temp) + (:temporary (:sc unsigned-reg :from :eval) temp) (:results (result :scs (descriptor-reg) :from :argument)) (:node-var node) (:generator 37 diff --git a/compiler/x86/arith.lisp b/compiler/x86/arith.lisp index a61d98024..774a98800 100644 --- a/compiler/x86/arith.lisp +++ b/compiler/x86/arith.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/arith.lisp,v 1.9 1997/12/11 17:41:30 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/arith.lisp,v 1.10 1998/02/19 19:34:38 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -391,7 +391,8 @@ (:arg-types unsigned-num unsigned-num) (:temporary (:sc unsigned-reg :offset eax-offset :target result :from (:argument 0) :to :result) eax) - (:temporary (:sc dword-reg :offset edx-offset :from :eval :to :result) edx) + (:temporary (:sc unsigned-reg :offset edx-offset + :from :eval :to :result) edx) (:ignore edx) (:results (result :scs (unsigned-reg))) (:result-types unsigned-num) @@ -409,9 +410,9 @@ (:args (x :scs (any-reg) :target eax) (y :scs (any-reg control-stack))) (:arg-types tagged-num tagged-num) - (:temporary (:sc dword-reg :offset eax-offset :target quo + (:temporary (:sc signed-reg :offset eax-offset :target quo :from (:argument 0) :to (:result 0)) eax) - (:temporary (:sc any-reg :offset edx-offset :target rem + (:temporary (:sc unsigned-reg :offset edx-offset :target rem :from (:argument 0) :to (:result 1)) edx) (:results (quo :scs (any-reg)) (rem :scs (any-reg))) @@ -438,7 +439,7 @@ (:args (x :scs (any-reg) :target eax)) (:info y) (:arg-types tagged-num (:constant (signed-byte 30))) - (:temporary (:sc dword-reg :offset eax-offset :target quo + (:temporary (:sc signed-reg :offset eax-offset :target quo :from :argument :to (:result 0)) eax) (:temporary (:sc any-reg :offset edx-offset :target rem :from :eval :to (:result 1)) edx) @@ -464,9 +465,9 @@ (:args (x :scs (unsigned-reg) :target eax) (y :scs (unsigned-reg signed-stack))) (:arg-types unsigned-num unsigned-num) - (:temporary (:sc dword-reg :offset eax-offset :target quo + (:temporary (:sc unsigned-reg :offset eax-offset :target quo :from (:argument 0) :to (:result 0)) eax) - (:temporary (:sc dword-reg :offset edx-offset :target rem + (:temporary (:sc unsigned-reg :offset edx-offset :target rem :from (:argument 0) :to (:result 1)) edx) (:results (quo :scs (unsigned-reg)) (rem :scs (unsigned-reg))) @@ -491,11 +492,11 @@ (:args (x :scs (unsigned-reg) :target eax)) (:info y) (:arg-types unsigned-num (:constant (unsigned-byte 32))) - (:temporary (:sc dword-reg :offset eax-offset :target quo + (:temporary (:sc unsigned-reg :offset eax-offset :target quo :from :argument :to (:result 0)) eax) - (:temporary (:sc dword-reg :offset edx-offset :target rem + (:temporary (:sc unsigned-reg :offset edx-offset :target rem :from :eval :to (:result 1)) edx) - (:temporary (:sc dword-reg :from :eval :to :result) y-arg) + (:temporary (:sc unsigned-reg :from :eval :to :result) y-arg) (:results (quo :scs (unsigned-reg)) (rem :scs (unsigned-reg))) (:result-types unsigned-num unsigned-num) @@ -515,9 +516,9 @@ (:args (x :scs (signed-reg) :target eax) (y :scs (signed-reg signed-stack))) (:arg-types signed-num signed-num) - (:temporary (:sc dword-reg :offset eax-offset :target quo + (:temporary (:sc signed-reg :offset eax-offset :target quo :from (:argument 0) :to (:result 0)) eax) - (:temporary (:sc dword-reg :offset edx-offset :target rem + (:temporary (:sc signed-reg :offset edx-offset :target rem :from (:argument 0) :to (:result 1)) edx) (:results (quo :scs (signed-reg)) (rem :scs (signed-reg))) @@ -542,11 +543,11 @@ (:args (x :scs (signed-reg) :target eax)) (:info y) (:arg-types signed-num (:constant (signed-byte 32))) - (:temporary (:sc dword-reg :offset eax-offset :target quo + (:temporary (:sc signed-reg :offset eax-offset :target quo :from :argument :to (:result 0)) eax) - (:temporary (:sc dword-reg :offset edx-offset :target rem + (:temporary (:sc signed-reg :offset edx-offset :target rem :from :eval :to (:result 1)) edx) - (:temporary (:sc dword-reg :from :eval :to :result) y-arg) + (:temporary (:sc signed-reg :from :eval :to :result) y-arg) (:results (quo :scs (signed-reg)) (rem :scs (signed-reg))) (:result-types signed-num signed-num) @@ -608,7 +609,7 @@ (location= number result)))) (amount :scs (unsigned-reg) :target ecx)) (:arg-types tagged-num positive-fixnum) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 1)) ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 1)) ecx) (:results (result :scs (any-reg) :from (:argument 0) :load-if (not (and (sc-is number control-stack) (sc-is result control-stack) @@ -667,7 +668,7 @@ (location= number result)))) (amount :scs (unsigned-reg) :target ecx)) (:arg-types (:or signed-num unsigned-num) positive-fixnum) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 1)) ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 1)) ecx) (:results (result :scs (signed-reg unsigned-reg) :from (:argument 0) :load-if (not (and (sc-is number signed-stack unsigned-stack) @@ -690,7 +691,7 @@ (:arg-types (:or signed-num unsigned-num) signed-num) (:results (result :scs (signed-reg unsigned-reg) :from (:argument 0))) (:result-types (:or signed-num unsigned-num)) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 1)) ecx) + (:temporary (:sc signed-reg :offset ecx-offset :from (:argument 1)) ecx) (:note "inline ASH") (:generator 5 (move result number) @@ -747,7 +748,7 @@ (:arg-types unsigned-num) (:results (result :scs (unsigned-reg))) (:result-types positive-fixnum) - (:temporary (:sc dword-reg :from (:argument 0)) temp) + (:temporary (:sc unsigned-reg :from (:argument 0)) temp) (:generator 30 (move result arg) @@ -943,7 +944,7 @@ (prev :scs (unsigned-reg) :target result) (next :scs (unsigned-reg))) (:arg-types tagged-num unsigned-num unsigned-num) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 0)) ecx) + (:temporary (:sc signed-reg :offset ecx-offset :from (:argument 0)) ecx) (:results (result :scs (unsigned-reg) :from (:argument 1))) (:result-types unsigned-num) (:policy :fast-safe) @@ -1032,7 +1033,7 @@ (:args (num :scs (unsigned-reg) :target r) (amount :scs (signed-reg) :target ecx)) (:arg-types unsigned-num tagged-num) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 1)) ecx) + (:temporary (:sc signed-reg :offset ecx-offset :from (:argument 1)) ecx) (:results (r :scs (unsigned-reg) :from (:argument 0))) (:result-types unsigned-num)) @@ -1262,7 +1263,7 @@ (:args (digit :scs (unsigned-reg unsigned-stack) :target result) (count :scs (unsigned-reg) :target ecx)) (:arg-types unsigned-num positive-fixnum) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 1)) ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 1)) ecx) (:results (result :scs (unsigned-reg) :from (:argument 0) :load-if (not (and (sc-is result unsigned-stack) (location= digit result))))) diff --git a/compiler/x86/array.lisp b/compiler/x86/array.lisp index f886bb28c..eb62338e5 100644 --- a/compiler/x86/array.lisp +++ b/compiler/x86/array.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/array.lisp,v 1.10 1998/01/17 05:47:17 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/array.lisp,v 1.11 1998/02/19 19:34:41 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -154,7 +154,7 @@ (:arg-types ,type positive-fixnum) (:results (result :scs (unsigned-reg) :from (:argument 0))) (:result-types positive-fixnum) - (:temporary (:sc dword-reg :offset ecx-offset) ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset) ecx) (:generator 20 (move ecx index) (inst shr ecx ,bit-shift) @@ -194,9 +194,9 @@ (:arg-types ,type positive-fixnum positive-fixnum) (:results (result :scs (unsigned-reg))) (:result-types positive-fixnum) - (:temporary (:sc dword-reg) word-index) - (:temporary (:sc dword-reg :from (:argument 0)) ptr old) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 1)) + (:temporary (:sc unsigned-reg) word-index) + (:temporary (:sc unsigned-reg :from (:argument 0)) ptr old) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 1)) ecx) (:generator 25 (move word-index index) @@ -236,7 +236,7 @@ (:info index) (:results (result :scs (unsigned-reg))) (:result-types positive-fixnum) - (:temporary (:sc dword-reg :to (:result 0)) old) + (:temporary (:sc unsigned-reg :to (:result 0)) old) (:generator 20 (multiple-value-bind (word extra) (floor index ,elements-per-word) (inst mov old @@ -877,7 +877,7 @@ (index :scs (unsigned-reg) :to (:eval 0)) (value :scs (unsigned-reg signed-reg) :target eax)) (:arg-types simple-array-unsigned-byte-8 positive-fixnum positive-fixnum) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc unsigned-reg :offset eax-offset :target result :from (:argument 2) :to (:result 0)) eax) (:results (result :scs (unsigned-reg signed-reg))) @@ -899,7 +899,7 @@ (:info index) (:arg-types simple-array-unsigned-byte-8 (:constant (signed-byte 30)) positive-fixnum) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc unsigned-reg :offset eax-offset :target result :from (:argument 1) :to (:result 0)) eax) (:results (result :scs (unsigned-reg signed-reg))) @@ -952,7 +952,7 @@ (index :scs (unsigned-reg) :to (:eval 0)) (value :scs (unsigned-reg signed-reg) :target eax)) (:arg-types simple-array-unsigned-byte-16 positive-fixnum positive-fixnum) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc unsigned-reg :offset eax-offset :target result :from (:argument 2) :to (:result 0)) eax) (:results (result :scs (unsigned-reg signed-reg))) @@ -974,7 +974,7 @@ (:info index) (:arg-types simple-array-unsigned-byte-16 (:constant (signed-byte 30)) positive-fixnum) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc unsigned-reg :offset eax-offset :target result :from (:argument 1) :to (:result 0)) eax) (:results (result :scs (unsigned-reg signed-reg))) @@ -997,7 +997,7 @@ (:args (object :scs (descriptor-reg)) (index :scs (unsigned-reg))) (:arg-types simple-string positive-fixnum) - (:temporary (:sc dword-reg ; byte-reg + (:temporary (:sc unsigned-reg ; byte-reg :offset eax-offset ; al-offset :target value :from (:eval 0) :to (:result 0)) @@ -1018,7 +1018,7 @@ (:args (object :scs (descriptor-reg))) (:info index) (:arg-types simple-string (:constant (signed-byte 30))) - (:temporary (:sc dword-reg :offset eax-offset :target value + (:temporary (:sc unsigned-reg :offset eax-offset :target value :from (:eval 0) :to (:result 0)) eax) (:ignore eax) @@ -1105,7 +1105,7 @@ (index :scs (unsigned-reg) :to (:eval 0)) (value :scs (signed-reg) :target eax)) (:arg-types simple-array-signed-byte-8 positive-fixnum tagged-num) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc unsigned-reg :offset eax-offset :target result :from (:argument 2) :to (:result 0)) eax) (:results (result :scs (signed-reg))) @@ -1126,7 +1126,7 @@ (:info index) (:arg-types simple-array-signed-byte-8 (:constant (signed-byte 30)) tagged-num) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc unsigned-reg :offset eax-offset :target result :from (:argument 1) :to (:result 0)) eax) (:results (result :scs (signed-reg))) @@ -1177,7 +1177,7 @@ (index :scs (unsigned-reg) :to (:eval 0)) (value :scs (signed-reg) :target eax)) (:arg-types simple-array-signed-byte-16 positive-fixnum tagged-num) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc signed-reg :offset eax-offset :target result :from (:argument 2) :to (:result 0)) eax) (:results (result :scs (signed-reg))) @@ -1197,7 +1197,7 @@ (value :scs (signed-reg) :target eax)) (:info index) (:arg-types simple-array-signed-byte-16 (:constant (signed-byte 30)) tagged-num) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc signed-reg :offset eax-offset :target result :from (:argument 1) :to (:result 0)) eax) (:results (result :scs (signed-reg))) diff --git a/compiler/x86/c-call.lisp b/compiler/x86/c-call.lisp index 68ad13f98..b5cc44194 100644 --- a/compiler/x86/c-call.lisp +++ b/compiler/x86/c-call.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/c-call.lisp,v 1.6 1997/11/25 15:29:12 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/c-call.lisp,v 1.7 1998/02/19 19:34:44 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -149,8 +149,8 @@ (args :more t)) (:results (results :more t)) ;; eax is already wired - (:temporary (:sc dword-reg :offset ecx-offset) ecx) - (:temporary (:sc dword-reg :offset edx-offset) edx) + (:temporary (:sc unsigned-reg :offset ecx-offset) ecx) + (:temporary (:sc unsigned-reg :offset edx-offset) edx) (:node-var node) (:vop-var vop) (:save-p t) diff --git a/compiler/x86/call.lisp b/compiler/x86/call.lisp index aca386076..74c588008 100644 --- a/compiler/x86/call.lisp +++ b/compiler/x86/call.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/call.lisp,v 1.13 1998/01/24 14:53:40 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/call.lisp,v 1.14 1998/02/19 19:34:47 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -702,7 +702,7 @@ (vals :more t)) (:move-args :known-return) (:info val-locs) - (:temporary (:sc dword-reg :from (:argument 1)) rpc) + (:temporary (:sc unsigned-reg :from (:argument 1)) rpc) (:ignore val-locs vals) (:vop-var vop) (:generator 6 @@ -887,7 +887,7 @@ eax) ;; We pass the number of arguments in ECX. - (:temporary (:sc dword-reg :offset ecx-offset :to :eval) ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset :to :eval) ecx) ;; With variable call, we have to load the register-args out ;; of the (new) stack frame before doing the call. Therefore, @@ -902,12 +902,11 @@ register-arg-names register-arg-offsets)) ,@(when (eq return :tail) - '((:temporary (:sc dword-reg :from (:argument 1) :to (:argument 2)) - old-fp-tmp) + '((:temporary (:sc unsigned-reg + :from (:argument 1) :to (:argument 2)) old-fp-tmp) #+x86-lra - (:temporary (:sc dword-reg :from (:argument 2) :to (:argument 3)) - ret-pc-tmp) - )) + (:temporary (:sc unsigned-reg + :from (:argument 2) :to (:argument 3)) ret-pc-tmp))) (:generator ,(+ (if named 5 0) (if variable 19 1) @@ -1079,8 +1078,8 @@ (function :scs (descriptor-reg control-stack) :target eax) (old-fp) (ret-addr)) - (:temporary (:sc dword-reg :offset esi-offset :from (:argument 0)) esi) - (:temporary (:sc dword-reg :offset eax-offset :from (:argument 1)) eax) + (:temporary (:sc unsigned-reg :offset esi-offset :from (:argument 0)) esi) + (:temporary (:sc unsigned-reg :offset eax-offset :from (:argument 1)) eax) ; (:ignore ret-addr old-fp) (:generator 75 ;; Move these into the passing locations if they are not already there. @@ -1116,8 +1115,8 @@ (:args (old-fp) (return-pc) (value)) - (:temporary (:sc dword-reg) ofp) - (:temporary (:sc dword-reg) ret) + (:temporary (:sc unsigned-reg) ofp) + (:temporary (:sc unsigned-reg) ret) (:ignore value) (:generator 6 (trace-table-entry trace-table-function-epilogue) @@ -1149,18 +1148,18 @@ ;; In the case of other than one value, we need these registers to tell ;; the caller where they are and how many there are. - (:temporary (:sc dword-reg :offset ebx-offset) ebx) - (:temporary (:sc dword-reg :offset ecx-offset) ecx) + (:temporary (:sc unsigned-reg :offset ebx-offset) ebx) + (:temporary (:sc unsigned-reg :offset ecx-offset) ecx) ;; We need to stretch the lifetime of return-pc past the argument ;; registers so that we can default the argument registers without ;; trashing return-pc. - (:temporary (:sc dword-reg :offset (first register-arg-offsets) :from :eval) - a0) - (:temporary (:sc dword-reg :offset (second register-arg-offsets) :from :eval) - a1) - (:temporary (:sc dword-reg :offset (third register-arg-offsets) :from :eval) - a2) + (:temporary (:sc unsigned-reg :offset (first register-arg-offsets) + :from :eval) a0) + (:temporary (:sc unsigned-reg :offset (second register-arg-offsets) + :from :eval) a1) + (:temporary (:sc unsigned-reg :offset (third register-arg-offsets) + :from :eval) a2) (:generator 6 (trace-table-entry trace-table-function-epilogue) @@ -1216,13 +1215,13 @@ (vals :scs (any-reg) :target esi) (nvals :scs (any-reg) :target ecx)) - (:temporary (:sc dword-reg :offset eax-offset :from (:argument 1)) eax) - (:temporary (:sc dword-reg :offset esi-offset :from (:argument 2)) esi) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 3)) ecx) - (:temporary (:sc dword-reg :offset ebx-offset :from (:eval 0)) ebx) + (:temporary (:sc unsigned-reg :offset eax-offset :from (:argument 1)) eax) + (:temporary (:sc unsigned-reg :offset esi-offset :from (:argument 2)) esi) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 3)) ecx) + (:temporary (:sc unsigned-reg :offset ebx-offset :from (:eval 0)) ebx) (:temporary (:sc descriptor-reg :offset (first register-arg-offsets) :from (:eval 0)) a0) - (:temporary (:sc dword-reg :from (:eval 1)) old-fp-temp) + (:temporary (:sc unsigned-reg :from (:eval 1)) old-fp-temp) (:node-var node) (:generator 13 @@ -1406,7 +1405,7 @@ (:args (object :scs (descriptor-reg) :to :result) (index :scs (any-reg) :target temp)) (:arg-types * tagged-num) - (:temporary (:sc dword-reg :from (:argument 1) :to :result) temp) + (:temporary (:sc unsigned-reg :from (:argument 1) :to :result) temp) (:results (value :scs (any-reg descriptor-reg))) (:result-types *) (:generator 5 @@ -1435,10 +1434,10 @@ (:args (context :scs (descriptor-reg) :target src) (count :scs (any-reg) :target ecx)) (:arg-types * tagged-num) - (:temporary (:sc dword-reg :offset esi-offset :from (:argument 0)) src) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 1)) ecx) - (:temporary (:sc dword-reg :offset eax-offset) eax) - (:temporary (:sc dword-reg) dst) + (:temporary (:sc unsigned-reg :offset esi-offset :from (:argument 0)) src) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 1)) ecx) + (:temporary (:sc unsigned-reg :offset eax-offset) eax) + (:temporary (:sc unsigned-reg) dst) (:results (result :scs (descriptor-reg))) (:node-var node) (:generator 20 diff --git a/compiler/x86/cell.lisp b/compiler/x86/cell.lisp index 2c1cef3f9..f7fa623bc 100644 --- a/compiler/x86/cell.lisp +++ b/compiler/x86/cell.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/cell.lisp,v 1.5 1997/11/04 09:11:01 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/cell.lisp,v 1.6 1998/02/19 19:34:50 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -161,7 +161,7 @@ (:translate (setf fdefn-function)) (:args (function :scs (descriptor-reg) :target result) (fdefn :scs (descriptor-reg))) - (:temporary (:sc dword-reg) raw) + (:temporary (:sc unsigned-reg) raw) (:temporary (:sc byte-reg) type) (:results (result :scs (descriptor-reg))) (:generator 38 @@ -200,7 +200,7 @@ (define-vop (bind) (:args (val :scs (any-reg descriptor-reg)) (symbol :scs (descriptor-reg))) - (:temporary (:sc dword-reg) temp bsp) + (:temporary (:sc unsigned-reg) temp bsp) (:generator 5 (load-symbol-value bsp *binding-stack-pointer*) (loadw temp symbol symbol-value-slot other-pointer-type) @@ -211,7 +211,7 @@ (storew val symbol symbol-value-slot other-pointer-type))) (define-vop (unbind) - (:temporary (:sc dword-reg) symbol value bsp) + (:temporary (:sc unsigned-reg) symbol value bsp) (:generator 0 (load-symbol-value bsp *binding-stack-pointer*) (loadw symbol bsp (- binding-symbol-slot binding-size)) @@ -224,7 +224,7 @@ (define-vop (unbind-to-here) (:args (where :scs (descriptor-reg any-reg))) - (:temporary (:sc dword-reg) symbol value bsp) + (:temporary (:sc unsigned-reg) symbol value bsp) (:generator 0 (load-symbol-value bsp *binding-stack-pointer*) (inst cmp where bsp) diff --git a/compiler/x86/char.lisp b/compiler/x86/char.lisp index 4225739c5..804434bb4 100644 --- a/compiler/x86/char.lisp +++ b/compiler/x86/char.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/char.lisp,v 1.3 1997/11/18 10:53:21 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/char.lisp,v 1.4 1998/02/19 19:34:52 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -131,7 +131,7 @@ (:policy :fast-safe) (:args (code :scs (unsigned-reg unsigned-stack) :target eax)) (:arg-types positive-fixnum) - (:temporary (:sc dword-reg :offset eax-offset :target res + (:temporary (:sc unsigned-reg :offset eax-offset :target res :from (:argument 0) :to (:result 0)) eax) (:results (res :scs (base-char-reg))) diff --git a/compiler/x86/debug.lisp b/compiler/x86/debug.lisp index 60ef8dac7..19c6b6179 100644 --- a/compiler/x86/debug.lisp +++ b/compiler/x86/debug.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/debug.lisp,v 1.3 1997/11/18 10:53:22 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/debug.lisp,v 1.4 1998/02/19 19:34:54 dtc Rel $") ;;; ;;; ********************************************************************** ;;; @@ -45,7 +45,7 @@ (:args (sap :scs (sap-reg) :to :eval) (offset :scs (any-reg) :target temp)) (:arg-types system-area-pointer positive-fixnum) - (:temporary (:sc dword-reg :from (:argument 1)) temp) + (:temporary (:sc unsigned-reg :from (:argument 1)) temp) (:results (result :scs (descriptor-reg))) (:result-types *) (:generator 9 @@ -73,7 +73,7 @@ (offset :scs (any-reg) :target temp) (value :scs (descriptor-reg) :to :result :target result)) (:arg-types system-area-pointer positive-fixnum *) - (:temporary (:sc dword-reg :from (:argument 1) :to :result) temp) + (:temporary (:sc unsigned-reg :from (:argument 1) :to :result) temp) (:results (result :scs (descriptor-reg))) (:result-types *) (:generator 9 @@ -102,7 +102,7 @@ (:policy :fast-safe) (:args (thing :scs (descriptor-reg))) (:results (code :scs (descriptor-reg))) - (:temporary (:sc dword-reg) temp) + (:temporary (:sc unsigned-reg) temp) (:variant-vars lowtag) (:generator 5 (let ((bogus (gen-label)) diff --git a/compiler/x86/float.lisp b/compiler/x86/float.lisp index f12426917..af9b32ca1 100644 --- a/compiler/x86/float.lisp +++ b/compiler/x86/float.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/float.lisp,v 1.20 1998/01/17 05:47:15 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/float.lisp,v 1.21 1998/02/19 19:34:56 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1584,7 +1584,8 @@ (:result-types unsigned-num) (:translate floating-point-modes) (:policy :fast-safe) - (:temporary (:sc dword-reg :offset eax-offset :target res :to :result) eax) + (:temporary (:sc unsigned-reg :offset eax-offset :target res + :to :result) eax) (:generator 8 (inst sub esp-tn npx-env-size) ; make space on stack (inst wait) ; Catch any pending FPE exceptions @@ -1605,7 +1606,8 @@ (:result-types unsigned-num) (:translate (setf floating-point-modes)) (:policy :fast-safe) - (:temporary (:sc dword-reg :offset eax-offset :from :eval :to :result) eax) + (:temporary (:sc unsigned-reg :offset eax-offset + :from :eval :to :result) eax) (:generator 3 (inst sub esp-tn npx-env-size) ; make space on stack (inst wait) ; Catch any pending FPE exceptions @@ -1708,11 +1710,11 @@ `(define-vop (,func) (:translate ,trans) (:args (x :scs (double-reg) :target fr0)) - (:temporary (:sc dword-reg :offset eax-offset + (:temporary (:sc unsigned-reg :offset eax-offset :from :eval :to :result) eax) - (:temporary (:sc double-reg :offset fr0-offset + (:temporary (:sc unsigned-reg :offset fr0-offset :from :argument :to :result) fr0) - (:temporary (:sc double-reg :offset fr1-offset + (:temporary (:sc unsigned-reg :offset fr1-offset :from :argument :to :result) fr1) (:results (y :scs (double-reg))) (:arg-types double-float) @@ -1753,7 +1755,7 @@ (define-vop (ftan) (:translate %tan) (:args (x :scs (double-reg) :target fr0)) - (:temporary (:sc dword-reg :offset eax-offset + (:temporary (:sc unsigned-reg :offset eax-offset :from :argument :to :result) eax) (:temporary (:sc double-reg :offset fr0-offset :from :argument :to :result) fr0) @@ -1814,7 +1816,7 @@ (:args (x :scs (double-reg) :target fr0)) (:temporary (:sc double-reg :offset fr0-offset :from :argument :to :result) fr0) - (:temporary (:sc dword-reg :offset eax-offset + (:temporary (:sc unsigned-reg :offset eax-offset :from :argument :to :result) eax) (:results (y :scs (double-reg))) (:arg-types double-float) @@ -1850,7 +1852,7 @@ :from :argument :to :result) fr0) (:temporary (:sc double-reg :offset fr1-offset :from :argument :to :result) fr1) - (:temporary (:sc dword-reg :offset eax-offset + (:temporary (:sc unsigned-reg :offset eax-offset :from :argument :to :result) eax) (:results (y :scs (double-reg))) (:arg-types double-float) diff --git a/compiler/x86/move.lisp b/compiler/x86/move.lisp index 1b8de8433..15196c38d 100644 --- a/compiler/x86/move.lisp +++ b/compiler/x86/move.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/move.lisp,v 1.6 1997/11/19 03:00:38 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/move.lisp,v 1.7 1998/02/19 19:34:59 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -234,9 +234,8 @@ (:args (x :scs (descriptor-reg) :target eax)) (:results (y :scs (signed-reg unsigned-reg))) (:note "integer to untagged word coercion") - (:temporary (:sc dword-reg :offset eax-offset - :from (:argument 0) - :to (:result 0) :target y) eax) + (:temporary (:sc unsigned-reg :offset eax-offset + :from (:argument 0) :to (:result 0) :target y) eax) (:generator 4 (move eax x) (inst test al-tn 3) @@ -281,12 +280,11 @@ #+nil (define-vop (move-from-signed) (:args (x :scs (signed-reg unsigned-reg) :target eax)) - (:temporary (:sc dword-reg :offset eax-offset :from (:argument 0)) eax) - (:temporary (:sc dword-reg :offset ebx-offset :to (:result 0) :target y) + (:temporary (:sc unsigned-reg :offset eax-offset :from (:argument 0)) eax) + (:temporary (:sc unsigned-reg :offset ebx-offset :to (:result 0) :target y) ebx) - (:temporary (:sc dword-reg :offset ecx-offset - :from (:argument 0) :to (:result 0)) - ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset + :from (:argument 0) :to (:result 0)) ecx) (:ignore ecx) (:results (y :scs (any-reg descriptor-reg))) (:note "signed word to integer coercion") @@ -329,12 +327,11 @@ #+nil (define-vop (move-from-unsigned) (:args (x :scs (signed-reg unsigned-reg) :target eax)) - (:temporary (:sc dword-reg :offset eax-offset :from (:argument 0)) eax) - (:temporary (:sc dword-reg :offset ebx-offset :to (:result 0) :target y) + (:temporary (:sc unsigned-reg :offset eax-offset :from (:argument 0)) eax) + (:temporary (:sc unsigned-reg :offset ebx-offset :to (:result 0) :target y) ebx) - (:temporary (:sc dword-reg :offset ecx-offset - :from (:argument 0) :to (:result 0)) - ecx) + (:temporary (:sc unsigned-reg :offset ecx-offset + :from (:argument 0) :to (:result 0)) ecx) (:ignore ecx) (:results (y :scs (any-reg descriptor-reg))) (:note "unsigned word to integer coercion") @@ -346,7 +343,7 @@ ;;; Faster inline version. (define-vop (move-from-unsigned) (:args (x :scs (signed-reg unsigned-reg) :to :save)) - (:temporary (:sc dword-reg) alloc) + (:temporary (:sc unsigned-reg) alloc) (:results (y :scs (any-reg descriptor-reg))) (:node-var node) (:note "unsigned word to integer coercion") diff --git a/compiler/x86/nlx.lisp b/compiler/x86/nlx.lisp index 552b067a2..369539965 100644 --- a/compiler/x86/nlx.lisp +++ b/compiler/x86/nlx.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/nlx.lisp,v 1.10 1998/01/17 05:56:38 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/nlx.lisp,v 1.11 1998/02/19 19:35:01 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -100,7 +100,7 @@ (define-vop (make-unwind-block) (:args (tn)) (:info entry-label) - (:temporary (:sc dword-reg) temp) + (:temporary (:sc unsigned-reg) temp) (:results (block :scs (any-reg))) (:generator 22 (inst lea block (catch-block-ea tn)) @@ -137,13 +137,13 @@ ;;; (define-vop (set-unwind-protect) (:args (tn)) - (:temporary (:sc dword-reg) new-uwp) + (:temporary (:sc unsigned-reg) new-uwp) (:generator 7 (inst lea new-uwp (catch-block-ea tn)) (store-symbol-value new-uwp lisp::*current-unwind-protect-block*))) (define-vop (unlink-catch-block) - (:temporary (:sc dword-reg) block) + (:temporary (:sc unsigned-reg) block) (:policy :fast-safe) (:translate %catch-breakup) (:generator 17 @@ -152,7 +152,7 @@ (store-symbol-value block lisp::*current-catch-block*))) (define-vop (unlink-unwind-protect) - (:temporary (:sc dword-reg) block) + (:temporary (:sc unsigned-reg) block) (:policy :fast-safe) (:translate %unwind-protect-breakup) (:generator 17 @@ -216,9 +216,9 @@ ;; Again, no SC restrictions for the args, 'cause the loading would ;; happen before the entry label. (:info label) - (:temporary (:sc dword-reg :offset ecx-offset :from (:argument 2)) ecx) - (:temporary (:sc dword-reg :offset esi-offset) esi) - (:temporary (:sc dword-reg :offset edi-offset) edi) + (:temporary (:sc unsigned-reg :offset ecx-offset :from (:argument 2)) ecx) + (:temporary (:sc unsigned-reg :offset esi-offset) esi) + (:temporary (:sc unsigned-reg :offset edi-offset) edi) (:results (result :scs (any-reg) :from (:argument 0)) (num :scs (any-reg control-stack))) (:save-p :force-to-stack) diff --git a/compiler/x86/print.lisp b/compiler/x86/print.lisp index db111aaf6..35a9266d3 100644 --- a/compiler/x86/print.lisp +++ b/compiler/x86/print.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/print.lisp,v 1.2 1997/11/04 09:11:15 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/print.lisp,v 1.3 1998/02/19 19:35:03 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -21,7 +21,7 @@ (define-vop (print) (:args (object :scs (descriptor-reg any-reg))) - (:temporary (:sc dword-reg :offset eax-offset :target result + (:temporary (:sc unsigned-reg :offset eax-offset :target result :from :eval :to (:result 0)) eax) (:results (result :scs (descriptor-reg))) diff --git a/compiler/x86/static-fn.lisp b/compiler/x86/static-fn.lisp index 618887650..c05d1855f 100644 --- a/compiler/x86/static-fn.lisp +++ b/compiler/x86/static-fn.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/static-fn.lisp,v 1.3 1997/12/05 06:55:32 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/static-fn.lisp,v 1.4 1998/02/19 19:35:04 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -28,10 +28,10 @@ (:variant-vars function) (:vop-var vop) (:node-var node) - (:temporary (:sc dword-reg :offset ebx-offset :from (:eval 0) :to (:eval 2)) - ebx) - (:temporary (:sc dword-reg :offset ecx-offset :from (:eval 0) :to (:eval 2)) - ecx)) + (:temporary (:sc unsigned-reg :offset ebx-offset + :from (:eval 0) :to (:eval 2)) ebx) + (:temporary (:sc unsigned-reg :offset ecx-offset + :from (:eval 0) :to (:eval 2)) ecx)) (eval-when (compile load eval) diff --git a/compiler/x86/subprim.lisp b/compiler/x86/subprim.lisp index d042c0f50..bf91e318c 100644 --- a/compiler/x86/subprim.lisp +++ b/compiler/x86/subprim.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/subprim.lisp,v 1.2 1997/11/18 10:53:25 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/subprim.lisp,v 1.3 1998/02/19 19:35:05 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -27,8 +27,8 @@ (:translate length) (:args (object :scs (descriptor-reg control-stack) :target ptr)) (:arg-types list) - (:temporary (:sc dword-reg :offset eax-offset) eax) - (:temporary (:sc dword-reg :from (:argument 0)) ptr) + (:temporary (:sc unsigned-reg :offset eax-offset) eax) + (:temporary (:sc unsigned-reg :from (:argument 0)) ptr) (:results (count :scs (any-reg))) (:result-types positive-fixnum) (:policy :fast-safe) @@ -65,7 +65,7 @@ (:translate length) (:args (object :scs (descriptor-reg control-stack) :target ptr)) (:arg-types list) - (:temporary (:sc dword-reg :from (:argument 0)) ptr) + (:temporary (:sc unsigned-reg :from (:argument 0)) ptr) (:results (count :scs (any-reg))) (:result-types positive-fixnum) (:policy :fast) diff --git a/compiler/x86/system.lisp b/compiler/x86/system.lisp index 732da8551..0eaf2690f 100644 --- a/compiler/x86/system.lisp +++ b/compiler/x86/system.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/system.lisp,v 1.8 1998/01/29 07:15:45 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/system.lisp,v 1.9 1998/02/19 19:35:07 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -39,7 +39,7 @@ (:translate get-type) (:policy :fast-safe) (:args (object :scs (descriptor-reg))) - (:temporary (:sc dword-reg :offset eax-offset :to (:result 0)) eax) + (:temporary (:sc unsigned-reg :offset eax-offset :to (:result 0)) eax) (:results (result :scs (unsigned-reg))) (:result-types positive-fixnum) (:generator 6 @@ -89,7 +89,7 @@ (:args (type :scs (unsigned-reg) :target eax) (function :scs (descriptor-reg))) (:arg-types positive-fixnum *) - (:temporary (:sc dword-reg :offset eax-offset :from (:argument 0) + (:temporary (:sc unsigned-reg :offset eax-offset :from (:argument 0) :to (:result 0) :target result) eax) (:results (result :scs (unsigned-reg))) @@ -128,7 +128,7 @@ (data :scs (any-reg) :target eax)) (:arg-types * positive-fixnum) (:results (res :scs (descriptor-reg))) - (:temporary (:sc dword-reg :offset eax-offset + (:temporary (:sc unsigned-reg :offset eax-offset :from (:argument 1) :to (:result 0)) eax) (:generator 6 (move eax data) diff --git a/compiler/x86/type-vops.lisp b/compiler/x86/type-vops.lisp index 80f01f892..2458b653f 100644 --- a/compiler/x86/type-vops.lisp +++ b/compiler/x86/type-vops.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/type-vops.lisp,v 1.9 1998/01/17 05:47:18 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/type-vops.lisp,v 1.10 1998/02/19 19:35:08 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -260,14 +260,14 @@ (define-vop (check-type) (:args (value :target result :scs (any-reg descriptor-reg))) (:results (result :scs (any-reg descriptor-reg))) - (:temporary (:sc dword-reg :offset eax-offset :to (:result 0)) eax) + (:temporary (:sc unsigned-reg :offset eax-offset :to (:result 0)) eax) (:ignore eax) (:vop-var vop) (:save-p :compute-only)) (define-vop (type-predicate) (:args (value :scs (any-reg descriptor-reg))) - (:temporary (:sc dword-reg :offset eax-offset) eax) + (:temporary (:sc unsigned-reg :offset eax-offset) eax) (:ignore eax) (:conditional) (:info target not-p) diff --git a/compiler/x86/values.lisp b/compiler/x86/values.lisp index 765b09d78..bf19cab39 100644 --- a/compiler/x86/values.lisp +++ b/compiler/x86/values.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/values.lisp,v 1.3 1997/11/04 09:11:17 dtc Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/values.lisp,v 1.4 1998/02/19 19:35:10 dtc Exp $") ;;; ;;; ********************************************************************** ;;; @@ -36,7 +36,7 @@ ;;; (define-vop (push-values) (:args (vals :more t)) - (:temporary (:sc dword-reg :to (:result 0) :target start) temp) + (:temporary (:sc unsigned-reg :to (:result 0) :target start) temp) (:results (start) (count)) (:info nvals) (:generator 20 @@ -57,8 +57,8 @@ (:results (start :scs (any-reg)) (count :scs (any-reg))) (:temporary (:sc descriptor-reg :from (:argument 0) :to (:result 1)) list) - (:temporary (:sc dword-reg :to (:result 1)) nil-temp) - (:temporary (:sc dword-reg :offset eax-offset :to (:result 1)) eax) + (:temporary (:sc descriptor-reg :to (:result 1)) nil-temp) + (:temporary (:sc unsigned-reg :offset eax-offset :to (:result 1)) eax) (:vop-var vop) (:save-p :compute-only) (:generator 0 @@ -98,7 +98,7 @@ (:arg-types * positive-fixnum positive-fixnum) (:temporary (:sc any-reg :offset esi-offset :from (:argument 0)) src) (:temporary (:sc descriptor-reg :offset eax-offset) temp) - (:temporary (:sc dword-reg :offset ecx-offset) temp1) + (:temporary (:sc unsigned-reg :offset ecx-offset) temp1) (:results (start :scs (any-reg)) (count :scs (any-reg))) (:generator 20 -- GitLab