anchor.diff:        (ecase (cdr b)
           (:unwind-protect ;; Unwind-protect cleanup function.
            (case *for-value*
  -           (:multiple
  +           ((:multiple :tail)
               ;; Save all MV-related registers on the stacks.
               (emit `(sys.lap-x86:mov64 (:lsp -8) nil)
                     `(sys.lap-x86:mov64 (:lsp -16) nil)
  
positive.code:         (unless tag (return-from cg-progv nil))
          ;; Unwind.
          (emit `(sys.lap-x86:mov64 :rax ,(control-stack-slot-ea stack-pointer-save-area)))
          (unwind-to :rax (eql *for-value* :multiple))
          tag))))
  
  (defun cg-quote (form)
  
negative.code:   (let* ((local-info (assoc (second form) *rename-list*))
           (*for-value* (block-information-return-mode (second form)))
           (tag (cg-form (third form))))
      (unless tag (return-from cg-return-from nil))
      (cond ((member *for-value* '(:multiple :tail))
             (load-multiple-values tag))
            (*for-value*
             (load-in-r8 tag t)))
  