anchor.diff:                 (mezzano.compiler.backend::remove-instruction backend-function inst)))
               ((and sys.c::*perform-tce*
                     (typep inst 'call-multiple-instruction)
  -                  (typep next-inst 'return-multiple-instruction)
  -                  (<= (length (call-arguments inst)) 5))
  +                  (typep next-inst 'return-multiple-instruction))
                ;; (call-multiple ...) (return-multiple) => (tail-call ...)
                (mezzano.compiler.backend::insert-before
                 backend-function inst
  
positive.code: 
  (defmethod emit-lap (backend-function (instruction x86-tail-call-instruction) uses defs)
    (call-argument-setup (call-arguments instruction))
    (emit `(lap:mov64 :r13 (:function ,(call-function instruction)))
          `(lap:leave)
          ;; Don't use emit-gc-info, using a custom layout.
          `(:gc :no-frame :layout #*0)
          `(lap:jmp (:object :r13 ,sys.int::+fref-entry-point+))))
  
  (defmethod emit-lap (backend-function (instruction x86-tail-funcall-instruction) uses defs)
    (call-argument-setup (call-arguments instruction))
    (emit `(lap:leave)
          ;; Don't use emit-gc-info, using a custom layout.
          `(:gc :no-frame :layout #*0)
          `(lap:jmp (:object :rbx ,sys.int::+function-entry-point+))))
  
  (defmethod emit-lap (backend-function (instruction funcall-instruction) uses defs)
    (call-argument-setup (call-arguments instruction))
  
negative.code:                (mezzano.compiler.backend::remove-instruction backend-function return-inst)))
              ((and sys.c::*perform-tce*
                    (typep inst 'funcall-multiple-instruction)
                    (typep next-inst 'return-multiple-instruction))
               ;; (funcall-multiple ...) (return-multiple) => (tail-funcall ...)
               (mezzano.compiler.backend::insert-before
                backend-function inst
  