Index: /trunk/ccl/compiler/X86/x862.lisp
===================================================================
--- /trunk/ccl/compiler/X86/x862.lisp	(revision 6736)
+++ /trunk/ccl/compiler/X86/x862.lisp	(revision 6737)
@@ -6111,5 +6111,11 @@
             (x862-explicit-non-fixnum-type-p form2))
       (x862-binary-builtin seg vreg xfer name form1 form2)
-      (x862-inline-numcmp seg vreg xfer cc name form1 form2))))
+      (let* ((fix1 (acode-fixnum-form-p form1))
+             (fix2 (acode-fixnum-form-p form2)))
+        (if (and fix1 fix2)
+          (if (funcall name fix1 fix2)
+            (x862-t seg vreg xfer)
+            (x862-nil seg vreg xfer))
+          (x862-inline-numcmp seg vreg xfer cc name form1 form2))))))
 
 (defun x862-inline-numcmp (seg vreg xfer cc name form1 form2)
@@ -6141,5 +6147,5 @@
       (multiple-value-bind (cr-bit true-p) (acode-condition-to-x86-cr-bit cc)
         (when otherform
-          (unless (or fix2 (eq cr-bit x86::x86-e-bits))
+          (unless (or (and fix2 (not fix1)) (eq cr-bit x86::x86-e-bits))
             (setq cr-bit (x862-reverse-cr-bit cr-bit))))
         (if (not true-p)
