Index: /trunk/ccl/compiler/PPC/ppc2.lisp
===================================================================
--- /trunk/ccl/compiler/PPC/ppc2.lisp	(revision 6460)
+++ /trunk/ccl/compiler/PPC/ppc2.lisp	(revision 6461)
@@ -4076,5 +4076,5 @@
       (let* ((size (logand #xf bits))
              (long-p (eq size 4))
-             (signed (logbitp 5 bits))
+             (signed (not (logbitp 5 bits)))
              (intval (if long-p (ppc2-long-constant-p val) (acode-fixnum-form-p val)))
              (offval (acode-fixnum-form-p offset))
@@ -4092,5 +4092,7 @@
                              (:ppc32 t)
                              (:ppc64 nil)))
-                     (! getxlong)
+                     (if signed
+                       (! gets32)
+                       (! getu32))
                      (! fixnum->signed-natural ppc::imm0 ppc::arg_z)))))
           (if (and absptr offval)
@@ -8021,8 +8023,11 @@
          (protform-label (backend-get-next-label))
          (old-stack (ppc2-encode-stack))
-         (yreg ($ ppc::arg_y)))
-    (! ref-interrupt-level yreg)
-    (ppc2-dbind seg (make-acode (%nx1-operator fixnum) -1) '*interrupt-level*)
-    (! mkunwind)
+         (ilevel '*interrupt-level*))
+    (! nmkunwind)
+    (ppc2-open-undo $undointerruptlevel)
+    (ppc2-new-vstack-lcell :special-value *ppc2-target-lcell-size* 0 ilevel)
+    (ppc2-new-vstack-lcell :special *ppc2-target-lcell-size* (ash 1 $vbitspecial) ilevel)
+    (ppc2-new-vstack-lcell :special-link *ppc2-target-lcell-size* 0 ilevel)
+    (ppc2-adjust-vstack (* 3 *ppc2-target-node-size*))    
     (! non-barrier-jump (aref *backend-labels* cleanup-label))
     (-> protform-label)
@@ -8045,5 +8050,9 @@
     (ppc2-open-undo)
     (@ protform-label)
-    (ppc2-dbind seg yreg '*interrupt-level*)
+    (ppc2-new-vstack-lcell :special-value *ppc2-target-lcell-size* 0 ilevel)
+    (ppc2-new-vstack-lcell :special *ppc2-target-lcell-size* (ash 1 $vbitspecial) ilevel)
+    (ppc2-new-vstack-lcell :special-link *ppc2-target-lcell-size* 0 ilevel)
+    (ppc2-adjust-vstack (* 3 *ppc2-target-node-size*))
+
     (ppc2-undo-body seg vreg xfer protected-form old-stack)))
 
