anchor.diff:                           :source :r8))
       (emit (make-instance 'jump-instruction :target out))
       (emit out)))
  +
  +(define-builtin mezzano.compiler::%fast-fixnum-- ((lhs rhs) result :early t)
  +  (emit (make-instance 'x86-fake-three-operand-instruction
  +                       :opcode 'lap:sub64
  +                       :result result
  +                       :lhs lhs
  +                       :rhs rhs)))
   
   (define-builtin mezzano.runtime::%fixnum-* ((lhs rhs) result)
     (let ((fixnum-result (make-instance 'label))
  
positive.code:                        :source value
                         :destination result)))
  
  (define-builtin mezzano.runtime::%fixnum-< ((lhs rhs) result :early t)
    (emit (make-instance 'fixnum-<-instruction
                         :result result
                         :lhs lhs
                         :rhs rhs)))
  
  (defun lower (backend-function early)
    (multiple-value-bind (uses defs)
  
negative.code:   (emit `(lap:mov64 ,(local-variable-address (store-local-local instruction)) ,(store-local-value instruction))))
  
  (defmethod emit-lap (backend-function (instruction move-instruction) uses defs)
    (ecase (lap::reg-class (move-destination instruction))
      (:gpr-64
       (ecase (lap::reg-class (move-source instruction))
         (:gpr-64
          (emit `(lap:mov64 ,(move-destination instruction) ,(move-source instruction))))
         (:xmm
          (emit `(lap:movq ,(move-destination instruction) ,(move-source instruction))))))
      (:xmm
       (ecase (lap::reg-class (move-source instruction))
         (:gpr-64
          (emit `(lap:movq ,(move-destination instruction) ,(move-source instruction))))
         (:xmm
          (emit `(lap:movdqa ,(move-destination instruction) ,(move-source instruction))))))))
  
  (defmethod emit-lap (backend-function (instruction swap-instruction) uses defs)
    (emit `(lap:xchg64 ,(swap-lhs instruction) ,(swap-rhs instruction))))
  