Skip to content
Snippets Groups Projects
Commit 249a3ce8 authored by ram's avatar ram
Browse files

In move-to-word/integer, always do arithmetic shift on fixnums, since

semantically they are always signed.  If for some reason we are moving a
negative fixnum to an unsigned reg, we presumably know what we are doing.
parent 66d8f7c2
Branches
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/move.lisp,v 1.5 1994/10/31 04:46:41 ram Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/move.lisp,v 1.6 1995/12/14 18:11:28 ram Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/move.lisp,v 1.5 1994/10/31 04:46:41 ram Exp $ ;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/move.lisp,v 1.6 1995/12/14 18:11:28 ram Exp $
;;; ;;;
;;; This file contains the SPARC VM definition of operand loading/saving and ;;; This file contains the SPARC VM definition of operand loading/saving and
;;; the Move VOP. ;;; the Move VOP.
...@@ -182,11 +182,7 @@ ...@@ -182,11 +182,7 @@
(let ((done (gen-label))) (let ((done (gen-label)))
(inst andcc temp x 3) (inst andcc temp x 3)
(inst b :eq done) (inst b :eq done)
(sc-case y (inst sra y x 2)
(signed-reg
(inst sra y x 2))
(unsigned-reg
(inst srl y x 2)))
(loadw y x bignum-digits-offset other-pointer-type) (loadw y x bignum-digits-offset other-pointer-type)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment