Skip to content
Snippets Groups Projects
Commit 4ac1973c authored by dtc's avatar dtc
Browse files

Add transforms for the sap-ref-64 operations.

parent 58121a6e
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/sap.lisp,v 1.9 1998/03/21 08:05:24 dtc Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/sap.lisp,v 1.10 2000/08/12 07:33:42 dtc Rel $")
;;;
;;; **********************************************************************
;;;
......@@ -296,3 +296,24 @@
(inst add sap vector
(- (* vector-data-offset word-bytes) other-pointer-type))))
;;; Transforms for 64-bit SAP accessors.
(deftransform sap-ref-64 ((sap offset) (* *))
'(logior (ash (sap-ref-32 sap offset) 32)
(sap-ref-32 sap (+ offset 4))))
(deftransform signed-sap-ref-64 ((sap offset) (* *))
'(logior (ash (signed-sap-ref-32 sap offset) 32)
(sap-ref-32 sap (+ 4 offset))))
(deftransform %set-sap-ref-64 ((sap offset value) (* * *))
'(progn
(%set-sap-ref-32 sap offset (ash value -32))
(%set-sap-ref-32 sap (+ offset 4) (logand value #xffffffff))))
(deftransform %set-signed-sap-ref-64 ((sap offset value) (* * *))
'(progn
(%set-signed-sap-ref-32 sap offset (ash value -32))
(%set-sap-ref-32 sap (+ 4 offset) (logand value #xffffffff))))
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