anchor.diff:      (multiple-value-bind (reg-nr rex-r)
   	(encode-register reg)
         (ecase class
  -        (:xmm)
  +        ((:xmm :mm))
   	(:gpr-64 (setf rex-w t))
   	(:gpr-32 nil)
   	(:gpr-16 (setf operand-size-override t))
  
positive.code:       (incf *current-address* (ecase class
  				((:gpr-64 :gpr-32) 4)
  				(:gpr-16 2)
  				(:gpr-8 1)))
        (generate-modrm class r/m opc-minor opc)
        (decf *current-address* (ecase class
  				((:gpr-64 :gpr-32) 4)
  				(:gpr-16 2)
  				(:gpr-8 1)))
        (emit-imm class imm-value)
        t)))
  
  
negative.code: 	      (eql ,class (or (reg-class ,dst) ,class))
  	      ,(if (eql class :gpr-64) '(= *cpu-mode* 64) 't))
       (return-from instruction
         (let ((*fixup-target* ,src))
           (generate-imm ,class ,dst ,src ,opc ,opc-minor)))))
  
  (defun generate-imm-short (class r/m imm opc opc-minor)
  