Index: /branches/ia32/compiler/X86/X8632/x8632-vinsns.lisp
===================================================================
--- /branches/ia32/compiler/X86/X8632/x8632-vinsns.lisp	(revision 9583)
+++ /branches/ia32/compiler/X86/X8632/x8632-vinsns.lisp	(revision 9584)
@@ -851,5 +851,8 @@
   (sarl (:$ub x8632::fixnumshift) (:%l dest)))
 
-;;; xxx -- review this again later
+;;; An object is of type (UNSIGNED-BYTE 32) iff
+;;;  a) it's of type (UNSIGNED-BYTE 30) (e.g., an unsigned fixnum)
+;;;  b) it's a bignum of length 1 and the 0'th digit is positive
+;;;  c) it's a bignum of length 2 and the sign-digit is 0.
 (define-x8632-vinsn unbox-u32 (((dest :u32))
                                ((src :lisp)))
@@ -863,9 +866,4 @@
   (andl (:$b x8632::tagmask) (:%l dest))
   (cmpl (:$b x8632::tag-misc) (:%l dest))
-  (jne :have-tag)
-  (movb (:@ x8632::misc-subtag-offset (:%l src)) (:%b dest))
-  (andl (:$l #xff) (:%l dest))
-  :have-tag
-  (cmpl (:$b x8632::subtag-bignum) (:%l dest))
   (jne :bad)
   (movl (:@ x8632::misc-header-offset (:%l src)) (:%l dest))
@@ -885,9 +883,4 @@
   (movl (:@ x8632::misc-data-offset (:%l src)) (:%l dest))
   :done)
-
-(define-x8632-vinsn %unbox-u32 (((dest :u32))
-				((src :lisp)))
-  (movl (:%l src) (:%l dest))
-  (shrl (:$ub x8632::fixnumshift) (:%l dest)))
 
 ;;; xxx -- review this again later
