diff --git a/compiler/mips/insts.lisp b/compiler/mips/insts.lisp
index af094c65db26d6036288fc5995852b6a71290f81..9f7a75501f5b96394a7931e9a69f7a28a2c86e94 100644
--- a/compiler/mips/insts.lisp
+++ b/compiler/mips/insts.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/insts.lisp,v 1.25 1990/09/17 23:44:06 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/insts.lisp,v 1.26 1990/10/01 16:31:24 ram Exp $
 ;;;
 ;;; Description of the MIPS architecture.
 ;;;
@@ -116,6 +116,10 @@
   :function (lambda (tn)
 	      (1+ (tn-offset tn))))
 
+(define-argument-type control-register
+  :type '(unsigned-byte 5)
+  :function identity)
+
 (defun label-offset (label)
   (1- (ash (- (label-position label) *current-position*) -2)))
 
@@ -527,6 +531,19 @@
   (frob mfc1 fp-reg)
   (frob mfc1-odd odd-fp-reg))
 
+(define-instruction (cfc1)
+  (register (op :constant #b010001)
+	    (rs :constant #b00010)
+	    (rt :argument register)
+	    (rd :argument control-register)
+	    (funct :constant 0)))
+
+(define-instruction (ctc1)
+  (register (op :constant #b010001)
+	    (rs :constant #b00110)
+	    (rt :argument register)
+	    (rd :argument control-register)
+	    (funct :constant 0)))
 
 (define-instruction (float-op)
   (float (funct :argument float-operation)