diff --git a/assembly/sparc/support.lisp b/assembly/sparc/support.lisp
index a05c52bb4625e67582e0e1c22d8e3f6aeedba7e2..162ef42d920d02e0c5ebe6fbfabaac21f3aa1226 100644
--- a/assembly/sparc/support.lisp
+++ b/assembly/sparc/support.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/sparc/support.lisp,v 1.2 1990/11/24 19:19:27 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/sparc/support.lisp,v 1.3 1992/03/06 11:03:58 wlott Exp $
 ;;;
 ;;; This file contains the machine specific support routines needed by
 ;;; the file assembler.
@@ -20,8 +20,7 @@
      (let ((temp (make-symbol "TEMP"))
 	   (lip (make-symbol "LIP")))
        (values 
-	`((inst li ,temp (make-fixup ',name :assembly-routine))
-	  (inst jal ,lip ,temp)
+	`((inst jali ,lip ,temp (make-fixup ',name :assembly-routine))
 	  (inst nop))
 	`((:temporary (:scs (non-descriptor-reg) :from (:eval 0) :to (:eval 1))
 		      ,temp)
@@ -37,8 +36,7 @@
 	    (when cur-nfp
 	      (store-stack-tn ,nfp-save cur-nfp))
 	    (inst compute-lra-from-code ,lra code-tn lra-label ,temp)
-	    (inst li ,temp (make-fixup ',name :assembly-routine))
-	    (inst j ,temp)
+	    (inst ji ,temp (make-fixup ',name :assembly-routine))
 	    (inst nop)
 	    (emit-return-pc lra-label)
 	    (note-this-location ,vop :unknown-return)
@@ -58,8 +56,7 @@
     (:none
      (let ((temp (make-symbol "TEMP")))
        (values 
-	`((inst li ,temp (make-fixup ',name :assembly-routine))
-	  (inst j ,temp)
+	`((inst ji ,temp (make-fixup ',name :assembly-routine))
 	  (inst nop))
 	`((:temporary (:scs (non-descriptor-reg) :from (:eval 0) :to (:eval 1))
 		      ,temp)))))))