Skip to content
Snippets Groups Projects
Commit 86d21664 authored by wlott's avatar wlott
Browse files

Fixed define-indexer to only use LIP as an interior register.

parent 69137d9e
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman (FAHLMAN@CMUC). ;;; Scott Fahlman (FAHLMAN@CMUC).
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/memory.lisp,v 1.4 1990/03/22 18:44:33 wlott Exp $ ;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/memory.lisp,v 1.5 1990/03/29 16:34:03 wlott Exp $
;;; ;;;
;;; This file contains the MIPS definitions of some general purpose memory ;;; This file contains the MIPS definitions of some general purpose memory
;;; reference VOPs inherited by basic memory reference operations. ;;; reference VOPs inherited by basic memory reference operations.
...@@ -112,6 +112,8 @@ ...@@ -112,6 +112,8 @@
,@(when write-p ,@(when write-p
'((value :scs (any-reg descriptor-reg) :target result)))) '((value :scs (any-reg descriptor-reg) :target result))))
(:temporary (:scs (interior-reg) :type interior) lip) (:temporary (:scs (interior-reg) :type interior) lip)
,@(unless (zerop shift)
`((:temporary (:scs (non-descriptor-reg) :type random) offset)))
(:results (,(if write-p 'result 'value) (:results (,(if write-p 'result 'value)
:scs (any-reg descriptor-reg))) :scs (any-reg descriptor-reg)))
(:variant-vars offset lowtag) (:variant-vars offset lowtag)
...@@ -129,8 +131,8 @@ ...@@ -129,8 +131,8 @@
(t (t
,@(if (zerop shift) ,@(if (zerop shift)
`((inst add lip object index)) `((inst add lip object index))
`((inst srl lip index ,shift) `((inst srl offset index ,shift)
(inst add lip lip object))) (inst add lip offset object)))
(inst ,op value lip (- (ash offset word-shift) lowtag)) (inst ,op value lip (- (ash offset word-shift) lowtag))
,(if write-p ,(if write-p
'(move result value) '(move result value)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment