Index: /trunk/source/compiler/ARM/arm2.lisp
===================================================================
--- /trunk/source/compiler/ARM/arm2.lisp	(revision 14694)
+++ /trunk/source/compiler/ARM/arm2.lisp	(revision 14695)
@@ -5417,6 +5417,6 @@
          (fix2 (acode-fixnum-form-p form2)))
     (if (and fix1 fix2)
-      (arm2-use-operator (%nx1-operator fixnum) seg vreg xfer (logior fix1 fix2)))
-    (let* ((fixval (or fix1 fix2))
+      (arm2-use-operator (%nx1-operator fixnum) seg vreg xfer (logior fix1 fix2))
+      (let* ((fixval (or fix1 fix2))
            (unboxed-fixval (if fixval (ash fixval *arm2-target-fixnum-shift*)))
            (ok-imm (and unboxed-fixval
@@ -5430,5 +5430,5 @@
         (multiple-value-bind (r1 r2) (arm2-two-untargeted-reg-forms seg form1 arm::arg_y form2 arm::arg_z)
           (if vreg (ensuring-node-target (target vreg) (! %logior2 target r1 r2)))))   
-      (^))))
+      (^)))))
 
 
@@ -5459,5 +5459,5 @@
          (fix2 (acode-fixnum-form-p form2)))
     (if (and fix1 fix2)
-      (arm2-use-operator (%nx1-operator fixnum) seg vreg xfer (logxor fix1 fix2)))
+      (arm2-use-operator (%nx1-operator fixnum) seg vreg xfer (logxor fix1 fix2))
     (let* ((fixval (or fix1 fix2))
            (unboxed-fixval (if fixval (ash fixval *arm2-target-fixnum-shift*)))
@@ -5471,5 +5471,5 @@
         (multiple-value-bind (r1 r2) (arm2-two-untargeted-reg-forms seg form1 arm::arg_y form2 arm::arg_z)
           (if vreg (ensuring-node-target (target vreg) (! %logxor2 vreg r1 r2)))))
-      (^))))
+      (^)))))
 
 (defarm2 arm2-%ineg %ineg (seg vreg xfer n)
Index: /trunk/source/compiler/PPC/ppc2.lisp
===================================================================
--- /trunk/source/compiler/PPC/ppc2.lisp	(revision 14694)
+++ /trunk/source/compiler/PPC/ppc2.lisp	(revision 14695)
@@ -5633,5 +5633,5 @@
          (fix2 (acode-fixnum-form-p form2)))
     (if (and fix1 fix2)
-      (ppc2-use-operator (%nx1-operator fixnum) seg vreg xfer (logior fix1 fix2)))
+      (ppc2-use-operator (%nx1-operator fixnum) seg vreg xfer (logior fix1 fix2))
     (let* ((fixval (or fix1 fix2))
            (unboxed-fixval (if fixval (ash fixval *ppc2-target-fixnum-shift*)))
@@ -5648,5 +5648,5 @@
         (multiple-value-bind (r1 r2) (ppc2-two-untargeted-reg-forms seg form1 ppc::arg_y form2 ppc::arg_z)
           (if vreg (ensuring-node-target (target vreg) (! %logior2 target r1 r2)))))   
-      (^))))
+      (^)))))
 
 ;;; in a lot of (typical ?) cases, it might be possible to use a
@@ -5690,6 +5690,6 @@
          (fix2 (acode-fixnum-form-p form2)))
     (if (and fix1 fix2)
-      (ppc2-use-operator (%nx1-operator fixnum) seg vreg xfer (logxor fix1 fix2)))
-    (let* ((fixval (or fix1 fix2))
+      (ppc2-use-operator (%nx1-operator fixnum) seg vreg xfer (logxor fix1 fix2))
+      (let* ((fixval (or fix1 fix2))
            (unboxed-fixval (if fixval (ash fixval *ppc2-target-fixnum-shift*)))
            (high (if fixval (if (= unboxed-fixval (logand #xffff0000 unboxed-fixval)) (ash unboxed-fixval -16))))
@@ -5705,5 +5705,5 @@
         (multiple-value-bind (r1 r2) (ppc2-two-untargeted-reg-forms seg form1 ppc::arg_y form2 ppc::arg_z)
           (if vreg (ensuring-node-target (target vreg) (! %logxor2 vreg r1 r2)))))
-      (^))))
+      (^)))))
 
 (defppc2 ppc2-%ineg %ineg (seg vreg xfer n)
Index: /trunk/source/compiler/X86/x862.lisp
===================================================================
--- /trunk/source/compiler/X86/x862.lisp	(revision 14694)
+++ /trunk/source/compiler/X86/x862.lisp	(revision 14695)
@@ -6616,18 +6616,18 @@
          (fix2 (acode-fixnum-form-p form2)))
     (if (and fix1 fix2)
-      (x862-use-operator (%nx1-operator fixnum) seg vreg xfer (logior fix1 fix2)))
-    (let* ((fixval (or fix1 fix2))
-           (fiximm (if fixval (<= (integer-length fixval)
-                                  (- 31 *x862-target-fixnum-shift*))))
-           (otherform (when fiximm (if fix1 form2 form1))))
-      (if otherform
-        (if (null vreg)
-          (x862-form seg nil xfer otherform)
-          (ensuring-node-target (target vreg)
-            (x862-one-targeted-reg-form seg otherform target)
-            (! %logior-c target target (ash fixval *x862-target-fixnum-shift*))))
-         (multiple-value-bind (r1 r2) (x862-two-untargeted-reg-forms seg form1 *x862-arg-y* form2 *x862-arg-z*)
+      (x862-use-operator (%nx1-operator fixnum) seg vreg xfer (logior fix1 fix2))
+      (let* ((fixval (or fix1 fix2))
+             (fiximm (if fixval (<= (integer-length fixval)
+                                    (- 31 *x862-target-fixnum-shift*))))
+             (otherform (when fiximm (if fix1 form2 form1))))
+        (if otherform
+          (if (null vreg)
+            (x862-form seg nil xfer otherform)
+            (ensuring-node-target (target vreg)
+              (x862-one-targeted-reg-form seg otherform target)
+              (! %logior-c target target (ash fixval *x862-target-fixnum-shift*))))
+          (multiple-value-bind (r1 r2) (x862-two-untargeted-reg-forms seg form1 *x862-arg-y* form2 *x862-arg-z*)
             (if vreg (ensuring-node-target (target vreg) (! %logior2 target r1 r2)))))
-      (^))))
+        (^)))))
 
 ;;; in a lot of (typical ?) cases, it might be possible to use a
@@ -6638,5 +6638,5 @@
          (fix2 (acode-fixnum-form-p form2)))
     (if (and fix1 fix2)
-      (x862-use-operator (%nx1-operator fixnum) seg vreg xfer (logand fix1 fix2)))
+      (x862-use-operator (%nx1-operator fixnum) seg vreg xfer (logand fix1 fix2))
     (let* ((fixval (or fix1 fix2))
            (fiximm (if fixval (<= (integer-length fixval)
@@ -6651,5 +6651,5 @@
 	(multiple-value-bind (r1 r2) (x862-two-untargeted-reg-forms seg form1 *x862-arg-y* form2 *x862-arg-z*)
 	  (if vreg (ensuring-node-target (target vreg) (! %logand2 target r1 r2)))))
-      (^))))
+      (^)))))
 
 (defx862 x862-%ilogxor2 %ilogxor2 (seg vreg xfer form1 form2)
@@ -6657,18 +6657,18 @@
          (fix2 (acode-fixnum-form-p form2)))
     (if (and fix1 fix2)
-      (x862-use-operator (%nx1-operator fixnum) seg vreg xfer (logxor fix1 fix2)))
-    (let* ((fixval (or fix1 fix2))
-           (fiximm (if fixval (<= (integer-length fixval)
-                                  (- 31 *x862-target-fixnum-shift*))))
-           (otherform (when fiximm (if fix1 form2 form1))))
-      (if otherform
-        (if (null vreg)
-          (x862-form seg nil xfer otherform)
-          (ensuring-node-target (target vreg)
-            (x862-one-targeted-reg-form seg otherform target)
-            (! %logxor-c target target (ash fixval *x862-target-fixnum-shift*))))
-         (multiple-value-bind (r1 r2) (x862-two-untargeted-reg-forms seg form1 *x862-arg-y* form2 *x862-arg-z*)
+      (x862-use-operator (%nx1-operator fixnum) seg vreg xfer (logxor fix1 fix2))
+      (let* ((fixval (or fix1 fix2))
+             (fiximm (if fixval (<= (integer-length fixval)
+                                    (- 31 *x862-target-fixnum-shift*))))
+             (otherform (when fiximm (if fix1 form2 form1))))
+        (if otherform
+          (if (null vreg)
+            (x862-form seg nil xfer otherform)
+            (ensuring-node-target (target vreg)
+              (x862-one-targeted-reg-form seg otherform target)
+              (! %logxor-c target target (ash fixval *x862-target-fixnum-shift*))))
+          (multiple-value-bind (r1 r2) (x862-two-untargeted-reg-forms seg form1 *x862-arg-y* form2 *x862-arg-z*)
             (if vreg (ensuring-node-target (target vreg) (! %logxor2 target r1 r2)))))
-      (^))))
+        (^)))))
 
 (defx862 x862-%ineg %ineg (seg vreg xfer n)
Index: /trunk/source/compiler/nx2.lisp
===================================================================
--- /trunk/source/compiler/nx2.lisp	(revision 14694)
+++ /trunk/source/compiler/nx2.lisp	(revision 14695)
@@ -282,5 +282,5 @@
   (let* ((const-x (acode-integer-form-p x))
          (const-y (acode-integer-form-p y))
-         (result (and const-x const-y (ignore-errors (funcall function x y)))))
+         (result (and const-x const-y (ignore-errors (funcall function const-x const-y)))))
     (when result
       (backend-use-operator (if (nx1-target-fixnump result)
@@ -436,5 +436,5 @@
 (defun acode-optimize-logior2 (seg vreg xfer num1 num2 trust-decls &optional (result-type 'integer))
   (declare (ignorable result-type))
-  (or (acode-constant-fold-integer-binop seg vreg xfer num1 num2 'logior)
+  (or (and nil (acode-constant-fold-integer-binop seg vreg xfer num1 num2 'logior))
       (let* ((unsigned-natural-type *nx-target-natural-type*)
              (target-fixnum-type *nx-target-fixnum-type*))
