diff --git a/compiler/ppc/insts.lisp b/compiler/ppc/insts.lisp
index d4287cea556a346c6de5cb5477920ec360f3f21c..a0b099693c8ad2426b253320b2438407c10ee88a 100644
--- a/compiler/ppc/insts.lisp
+++ b/compiler/ppc/insts.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ppc/insts.lisp,v 1.14 2005/09/29 02:45:05 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ppc/insts.lisp,v 1.15 2005/09/29 03:10:14 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1473,6 +1473,7 @@ about function addresses and register values.")
   (:emitter
    (emit-x-form-inst segment 19 (valid-bo-encoding bo) (valid-bi-encoding bi) 0 528 1)))
 
+;; Really a bcctr inst
 (define-instruction bctr (segment)
   (:printer xl-bo-bi ((op 19) (xo 528) (bo #.(valid-bo-encoding :bo-u)) (bi 0) (lk 0))  '(:name))
   (:attributes branch)
@@ -1481,6 +1482,15 @@ about function addresses and register values.")
   (:emitter
    (emit-x-form-inst segment 19 #.(valid-bo-encoding :bo-u) 0 0  528 0)))
 
+;; Really a bclrl inst
+(define-instruction blrl (segment)
+  (:printer xl-bo-bi ((op 19) (xo 16) (bo #.(valid-bo-encoding :bo-u)) (bi 0) (lk 1))  '(:name))
+  (:attributes branch)
+  (:delay 1)
+  (:dependencies (reads :ccr) (reads :ctr))
+  (:emitter
+   (emit-x-form-inst segment 19 #.(valid-bo-encoding :bo-u) 0 0  16 1)))
+
 (define-instruction bctrl (segment)
   (:printer xl-bo-bi ((op 19) (xo 528) (bo #.(valid-bo-encoding :bo-u)) (bi 0) (lk 1))  '(:name))
   (:attributes branch)
@@ -2240,10 +2250,6 @@ about function addresses and register values.")
 
 |#
 
-(define-instruction-macro blrl ()
-  `(inst bclrl :bo-u 0))
-
-
 
 ;;; Some more macros