Index: /trunk/source/compiler/X86/x86-lapmacros.lisp
===================================================================
--- /trunk/source/compiler/X86/x86-lapmacros.lisp	(revision 8238)
+++ /trunk/source/compiler/X86/x86-lapmacros.lisp	(revision 8239)
@@ -27,7 +27,10 @@
 
 (defx86lapmacro set-nargs (n)
-  (if (eql n 0)
-    `(xorw (% nargs) (% nargs))
-    `(movw ($ ',n) (% nargs))))
+  (cond ((>= n 16) `(movl ($ ',n) (% nargs.l)))
+        ((= n 0) `(xorl (% nargs.l) (% nargs.l)))
+        (t `(progn
+             (xorl (% nargs.l) (% nargs.l))
+             (addl ($ ',n) (% nargs.l))))))
+        
 
 (defx86lapmacro anchored-uuo (form)
