Index: /trunk/source/compiler/X86/x862.lisp
===================================================================
--- /trunk/source/compiler/X86/x862.lisp	(revision 8354)
+++ /trunk/source/compiler/X86/x862.lisp	(revision 8355)
@@ -1009,7 +1009,7 @@
     (with-x86-local-vinsn-macros (seg)
       (unless *x862-reckless*
-        (when rev-req-args
-          (! check-min-nargs min))
-        (! check-max-nargs max))
+        (if rev-req-args
+          (! check-min-max-nargs min max)
+          (! check-max-nargs max)))
       (if (> min $numx8664argregs)
         (! save-lisp-context-in-frame)
@@ -5613,5 +5613,5 @@
                 (when hardopt
                   (x862-reserve-vstack-lcells num-opt)
-                  (x862-lri seg x8664::imm0 (ash num-opt *x862-target-fixnum-shift*))
+                  
 
                   ;; ! opt-supplied-p wants nargs to contain the
@@ -5625,5 +5625,6 @@
                         ((= 2 num-opt)
                          (! two-opt-supplied-p))
-                        (t (! opt-supplied-p))))
+                        (t
+                         (! opt-supplied-p num-opt))))
                 (let* ((nwords-vpushed (+ num-fixed 
                                           num-opt 
