Index: /trunk/ccl/compiler/X86/X8664/x8664-backend.lisp
===================================================================
--- /trunk/ccl/compiler/X86/X8664/x8664-backend.lisp	(revision 6171)
+++ /trunk/ccl/compiler/X86/X8664/x8664-backend.lisp	(revision 6172)
@@ -338,4 +338,9 @@
                         (typep arg-type-spec 'unsigned-byte))
                   (progn
+                    (if (or (eq arg-type-spec :double-float)
+                            (eq arg-type-spec :single-float))
+                      (decf remaining-fprs)
+                      (unless (typep arg-type-spec 'unsigned-byte)
+                        (decf remaining-gprs)))
                     (argforms arg-type-spec)
                     (argforms arg-value-form))
@@ -373,4 +378,5 @@
                                 (argforms `(%%get-unsigned-longlong ,valform 0))))
                             (when second8
+                              (setq valform structure-arg-temp)
                               (if (eq second8 :float)
                                 (progn
