Index: /branches/ia32/level-1/l1-clos-boot.lisp
===================================================================
--- /branches/ia32/level-1/l1-clos-boot.lisp	(revision 7760)
+++ /branches/ia32/level-1/l1-clos-boot.lisp	(revision 7761)
@@ -1697,5 +1697,5 @@
   (defstatic *fixnum-class* (make-built-in-class 'fixnum (find-class 'integer)))
 
-  #+x8664-target
+  #+x86-target
   (defstatic *tagged-return-address-class* (make-built-in-class 'tagged-return-address))
   (make-built-in-class 'bignum (find-class 'integer))
@@ -1849,4 +1849,19 @@
             *t-class*
             *t-class*))
+
+  #+x8632-target
+  (defparameter *ivector-vector-classes*
+    (vector (find-class 'short-float-vector)
+            (find-class 'unsigned-long-vector)
+            (find-class 'long-vector)
+            (find-class 'fixnum-vector)
+            (find-class 'base-string)
+            (find-class 'unsigned-byte-vector)
+            (find-class 'byte-vector)
+            *t-class*                   ; old base-string
+            (find-class 'unsigned-word-vector)
+            (find-class 'word-vector)
+            (find-class 'double-float-vector)
+            (find-class 'bit-vector)))
 
   #+x8664-target
@@ -2083,4 +2098,13 @@
                 (%svref v (+ slice ppc64::fulltag-imm-2)) *immediate-class*
                 (%svref v (+ slice ppc64::fulltag-imm-3)) *immediate-class*))
+        #+x8632-target
+        (do* ((slice 0 (+ 8 slice)))
+             ((= slice 256))
+          (declare (type (unsigned-byte 8) slice))
+          (setf (%svref v (+ slice x8632::fulltag-even-fixnum)) *fixnum-class*
+                (%svref v (+ slice x8632::fulltag-odd-fixnum))  *fixnum-class*
+                (%svref v (+ slice x8632::fulltag-cons)) *cons-class*
+                (%svref v (+ slice x8632::fulltag-nil)) *tagged-return-address-class*
+                (%svref v (+ slice x8632::fulltag-imm)) *immediate-class*))
         #+x8664-target
         (do* ((slice 0 (+ 16 slice)))
@@ -2102,5 +2126,5 @@
           (map-subtag target::subtag-single-float short-float)
           (map-subtag target::subtag-dead-macptr ivector)
-          #-x8664-target
+          #-x86-target
           (map-subtag target::subtag-code-vector code-vector)
           #+ppc32-target
@@ -2175,5 +2199,6 @@
         (setf (%svref v
                       #+ppc-target target::subtag-function
-                      #+x86-target target::tag-function) 
+                      #+x8632-target target::subtag-function
+                      #+x8664-target target::tag-function) 
               class-of-function-function)
         (setf (%svref v target::subtag-vectorH)
@@ -2189,5 +2214,8 @@
                                    (- ppc32::ntagbits))
                               #+ppc64-target
-                              (ash (the fixnum (logand subtype #x7f)) (- ppc64::nlowtagbits)))
+                              (ash (the fixnum (logand subtype #x7f)) (- ppc64::nlowtagbits))
+			      #+x8632-target
+			      (ash (the fixnum (- subtype x8632::min-cl-ivector-subtag))
+				   (- x8632::ntagbits)))
                       #+x8664-target
                       (let* ((class (logand x8664::fulltagmask subtype))
Index: /branches/ia32/level-1/l1-streams.lisp
===================================================================
--- /branches/ia32/level-1/l1-streams.lisp	(revision 7760)
+++ /branches/ia32/level-1/l1-streams.lisp	(revision 7761)
@@ -25,4 +25,6 @@
   #+darwinppc-target
   (require "DARWINPPC-SYSCALLS")
+  #+darwinx8632-target
+  (require "DARWINX8632-SYSCALLS")
   #+darwinx8664-target
   (require "DARWINX8664-SYSCALLS")
@@ -225,4 +227,7 @@
         (= (logand subtag ppc64::lowtagmask)
            ppc64::lowtag-immheader)
+        #+x8632-target
+        (= (logand subtag x8632::fulltagmask)
+               x8632::fulltag-immheader)
         #+x8664-target
         (logbitp (the (mod 16) (logand subtag x8664::fulltagmask))
