Skip to content
Snippets Groups Projects
Commit 129d57aa authored by toy's avatar toy
Browse files

Use ldn/stn in loadw/storew.

parent 1a05a248
No related branches found
No related tags found
No related merge requests found
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
;;; Carnegie Mellon University, and has been placed in the public domain. ;;; Carnegie Mellon University, and has been placed in the public domain.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.27 2003/10/16 16:25:19 toy Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.28 2003/10/27 16:59:31 toy Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.27 2003/10/16 16:25:19 toy Exp $ ;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/macros.lisp,v 1.28 2003/10/27 16:59:31 toy Exp $
;;; ;;;
;;; This file contains various useful macros for generating SPARC code. ;;; This file contains various useful macros for generating SPARC code.
;;; ;;;
...@@ -56,10 +56,10 @@ ...@@ -56,10 +56,10 @@
(inst li ,temp ,offs) (inst li ,temp ,offs)
(inst ,',inst ,object ,base ,temp))))) (inst ,',inst ,object ,base ,temp)))))
`(inst ,',inst ,object ,base (- (ash ,offset ,',shift) ,lowtag)))))) `(inst ,',inst ,object ,base (- (ash ,offset ,',shift) ,lowtag))))))
(frob loadw ld word-shift) (frob loadw ldn word-shift)
#+(and sparc-v9 sparc-v8plus) #+(and sparc-v9 sparc-v8plus)
(frob loadsw ldsw word-shift) (frob loadsw ldsw word-shift)
(frob storew st word-shift)) (frob storew stn word-shift))
#+(and sparc-v9 sparc-v8plus) #+(and sparc-v9 sparc-v8plus)
(macrolet (macrolet
...@@ -95,12 +95,12 @@ ...@@ -95,12 +95,12 @@
(find-package "VM")))) (find-package "VM"))))
`(progn `(progn
(defmacro ,loader (reg symbol) (defmacro ,loader (reg symbol)
`(inst ld ,reg null-tn `(inst ldn ,reg null-tn
(+ (static-symbol-offset ',symbol) (+ (static-symbol-offset ',symbol)
(ash ,',offset word-shift) (ash ,',offset word-shift)
(- other-pointer-type)))) (- other-pointer-type))))
(defmacro ,storer (reg symbol) (defmacro ,storer (reg symbol)
`(inst st ,reg null-tn `(inst stn ,reg null-tn
(+ (static-symbol-offset ',symbol) (+ (static-symbol-offset ',symbol)
(ash ,',offset word-shift) (ash ,',offset word-shift)
(- other-pointer-type)))))))) (- other-pointer-type))))))))
......
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