diff --git a/compiler/mips/char.lisp b/compiler/mips/char.lisp
index 1f78541242c1c9feaca317efc2570b86bab06e3f..dcd6ff732f1381a03a36c6ad52e3ce0846a2957f 100644
--- a/compiler/mips/char.lisp
+++ b/compiler/mips/char.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/char.lisp,v 1.8 1990/06/18 14:47:11 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/char.lisp,v 1.9 1990/07/02 09:33:10 wlott Exp $
 ;;; 
 ;;; This file contains the RT VM definition of character operations.
 ;;;
@@ -66,7 +66,7 @@
 (define-vop (move-base-character-argument)
   (:args (x :target y
 	    :scs (base-character-reg))
-	 (fp :scs (descriptor-reg)
+	 (fp :scs (any-reg)
 	     :load-if (not (sc-is y base-character-reg))))
   (:results (y))
   (:generator 0
@@ -95,14 +95,16 @@
   (:policy :fast-safe)
   (:args (ch :scs (base-character-reg) :target res))
   (:arg-types base-character)
-  (:results (res :scs (any-reg descriptor-reg)))
+  (:results (res :scs (any-reg)))
+  (:result-types positive-fixnum)
   (:generator 1
     (inst sll res ch 2)))
 
 (define-vop (code-char)
   (:translate code-char)
   (:policy :fast-safe)
-  (:args (code :scs (any-reg descriptor-reg) :target res))
+  (:args (code :scs (any-reg) :target res))
+  (:arg-types positive-fixnum)
   (:results (res :scs (base-character-reg)))
   (:result-types base-character)
   (:generator 1