Index: /trunk/ccl/compiler/PPC/PPC32/ppc32-vinsns.lisp
===================================================================
--- /trunk/ccl/compiler/PPC/PPC32/ppc32-vinsns.lisp	(revision 5231)
+++ /trunk/ccl/compiler/PPC/PPC32/ppc32-vinsns.lisp	(revision 5232)
@@ -859,14 +859,12 @@
 (define-ppc32-vinsn require-s8 (()
                                 ((object :lisp))
-                                ((crf0 (:crf 0 ))
-                                 (crf1 :crf)
+                                ((crf :crf)
                                  (tag :u32)))
   :again
-  (clrlwi. tag object (- ppc32::nbits-in-word ppc32::nlisptagbits))
   (slwi tag object (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift)))
-  (srawi tag tag (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift)))
-  (cmpw crf1 tag object)
-  (bne- crf1 :bad)
-  (beq+ crf0 :got-it)
+  (srawi tag tag (- ppc32::nbits-in-word 8 ))
+  (slwi tag tag ppc32::fixnumshift)
+  (cmpw crf tag object)
+  (beq+ crf :got-it)
   :bad
   (uuo_intcerr arch::error-object-not-signed-byte-8 object)
@@ -889,14 +887,12 @@
 (define-ppc32-vinsn require-s16 (()
                                 ((object :lisp))
-                                ((crf0 (:crf 0 ))
-                                 (crf1 :crf)
+                                ((crf :crf)
                                  (tag :u32)))
   :again
-  (clrlwi. tag object (- ppc32::nbits-in-word ppc32::nlisptagbits))
   (slwi tag object (- ppc32::nbits-in-word (+ 16 ppc32::fixnumshift)))
-  (srawi tag tag (- ppc32::nbits-in-word (+ 16 ppc32::fixnumshift)))
-  (cmpw crf1 tag object)
-  (bne- crf1 :bad)
-  (beq+ crf0 :got-it)
+  (srawi tag tag (- ppc32::nbits-in-word 16))
+  (slwi tag tag ppc32::fixnumshift)
+  (cmpw crf tag object)
+  (beq+ crf :got-it)
   :bad
   (uuo_intcerr arch::error-object-not-signed-byte-16 object)
@@ -1149,10 +1145,8 @@
                                ((src :lisp))
                                ((crf :crf)))
-  (slwi dest src (- 16 ppc32::fixnumshift))
-  (srawi dest dest (- 16 ppc32::fixnumshift))
+  (slwi dest src (- ppc32::nbits-in-word (+ 16 ppc32::fixnumshift)))
+  (srawi dest dest (- ppc32::nbits-in-word 16))
+  (slwi dest dest ppc32::fixnumshift)
   (cmpw crf dest src)
-  (clrlwi dest src (- ppc32::nbits-in-word ppc32::nlisptagbits))
-  (bne- crf :bad)
-  (cmpwi crf dest ppc32::tag-fixnum)
   (srawi dest src ppc32::fixnumshift)
   (beq+ crf :got-it)
@@ -1183,9 +1177,7 @@
                               ((crf :crf)))
   (slwi dest src (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift)))
-  (srawi dest dest (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift)))
+  (srawi dest dest (- ppc32::nbits-in-word 8))
+  (slwi dest src ppc32::fixnumshift)
   (cmpw crf dest src)
-  (clrlwi dest src (- ppc32::nbits-in-word ppc32::nlisptagbits))
-  (bne- crf :bad)
-  (cmpwi crf dest ppc32::tag-fixnum)
   (srawi dest src ppc32::fixnumshift)
   (beq+ crf :got-it)
Index: /trunk/ccl/compiler/PPC/PPC64/ppc64-vinsns.lisp
===================================================================
--- /trunk/ccl/compiler/PPC/PPC64/ppc64-vinsns.lisp	(revision 5231)
+++ /trunk/ccl/compiler/PPC/PPC64/ppc64-vinsns.lisp	(revision 5232)
@@ -937,14 +937,12 @@
 (define-ppc64-vinsn require-s8 (()
 				((object :lisp))
-				((crf0 (:crf 0))
-                                 (crf1 :crf)
+				((crf :crf)
 				 (tag :s64)))
   :again
-  (clrldi. tag object (- ppc64::nbits-in-word ppc64::nlisptagbits))
   (sldi tag object (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift)))
-  (sradi tag tag (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift)))
-  (cmpd crf1 tag object)
-  (bne- crf1 :bad)
-  (beq+ crf0 :got-it)
+  (sradi tag tag (- ppc64::nbits-in-word 8))
+  (sldi tag tag ppc64::fixnumshift)
+  (cmpd crf tag object)
+  (beq+ crf :got-it)
   :bad
   (uuo_intcerr arch::error-object-not-signed-byte-8 object)
@@ -967,14 +965,12 @@
 (define-ppc64-vinsn require-s16 (()
                                  ((object :lisp))
-                                 ((crf0 (:crf 0))
-                                  (crf1 :crf)
+                                 ((crf :crf)
                                   (tag :s64)))
   :again
   (sldi tag object (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift)))
-  (sradi tag tag (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift)))
-  (cmpd crf1 tag object)
-  (clrldi. tag object (- ppc64::nbits-in-word ppc64::nlisptagbits))
-  (bne- crf1 :bad)
-  (beq+ crf0 :got-it)
+  (sradi tag tag (- ppc64::nbits-in-word 16))
+  (sldi tag tag ppc64::fixnumshift)
+  (cmpd crf tag object)
+  (beq+ crf :got-it)
   :bad
   (uuo_intcerr arch::error-object-not-signed-byte-16 object)
@@ -997,14 +993,12 @@
 (define-ppc64-vinsn require-s32 (()
                                  ((object :lisp))
-                                 ((crf0 (:crf 0))
-                                  (crf1 :crf)
+                                 ((crf :crf)
                                   (tag :s64)))
   :again
   (sldi tag object (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift)))
-  (sradi tag tag (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift)))
-  (cmpd crf1 tag object)
-  (clrldi. tag object (- ppc64::nbits-in-word ppc64::nlisptagbits))
-  (bne- crf1 :bad)
-  (beq+ crf0 :got-it)
+  (sradi tag tag (- ppc64::nbits-in-word 32))
+  (sldi tag tag ppc64::fixnumshift)
+  (cmpd crf tag object)
+  (beq+ crf :got-it)
   :bad
   (uuo_intcerr arch::error-object-not-signed-byte-32 object)
@@ -1185,13 +1179,11 @@
 (define-ppc64-vinsn unbox-s32 (((dest :s32))
 			       ((src :lisp))
-			       ((crfx (:crf 0))
-                                (crfy :crf)))
-  (clrldi. dest src (- ppc64::nbits-in-word ppc64::nlisptagbits))
+			       ((crf :crf)))
   (sldi dest src (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift)))
-  (sradi dest dest (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift)))
-  (cmpd crfy dest src)
-  (bne crfx :bad)
+  (sradi dest dest (- ppc64::nbits-in-word 32))
+  (sldi dest dest ppc64::fixnumshift)
+  (cmpd crf dest src)
   (sradi dest src ppc64::fixnumshift)
-  (beq crfy :got-it)
+  (beq crf :got-it)
   :bad
   (uuo_interr arch::error-object-not-signed-byte-32 src)
@@ -1214,9 +1206,7 @@
 			       ((crf :crf)))
   (sldi dest src (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift)))
-  (sradi dest dest (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift)))
+  (sradi dest dest (- ppc64::nbits-in-word 16))
+  (sldi dest dest ppc64::fixnumshift)
   (cmpd crf dest src)
-  (clrldi dest src (- ppc64::nbits-in-word ppc64::nlisptagbits))
-  (bne- crf :bad)
-  (cmpdi crf dest ppc64::tag-fixnum)
   (sradi dest src ppc64::fixnumshift)
   (beq+ crf :got-it)
@@ -1248,9 +1238,7 @@
 			      ((crf :crf)))
   (sldi dest src (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift)))
-  (sradi dest dest (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift)))
+  (sradi dest dest (- ppc64::nbits-in-word 8))
+  (sldi dest dest ppc64::fixnumshift)
   (cmpd crf dest src)
-  (clrldi dest src (- ppc64::nbits-in-word ppc64::nlisptagbits))
-  (bne- crf :bad)
-  (cmpdi crf dest ppc64::tag-fixnum)
   (sradi dest src ppc64::fixnumshift)
   (beq+ crf :got-it)
