Raymond Toy pushed to branch master at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/compiler/x86/insts.lisp
    ... ... @@ -509,6 +509,14 @@
    509 509
           (print-byte-reg value stream dstate)
    
    510 510
           (print-mem-access value stream t dstate)))
    
    511 511
     
    
    512
    +(defun print-word-reg/mem (value stream dstate)
    
    513
    +  (declare (type (or list reg) value)
    
    514
    +	   (type stream stream)
    
    515
    +	   (type disassem:disassem-state dstate))
    
    516
    +  (if (typep value 'reg)
    
    517
    +      (print-word-reg value stream dstate)
    
    518
    +      (print-mem-access value stream nil dstate)))
    
    519
    +
    
    512 520
     (defun print-label (value stream dstate)
    
    513 521
       (declare (ignore dstate))
    
    514 522
       (princ (if (and (numberp value) (minusp value))
    
    ... ... @@ -716,7 +724,11 @@
    716 724
     (disassem:define-argument-type byte-reg/mem
    
    717 725
       :prefilter #'prefilter-reg/mem
    
    718 726
       :printer #'print-byte-reg/mem)
    
    719
    -
    
    727
    +(disassem:define-argument-type word-reg/mem
    
    728
    +  ;; Like reg/mem but if the reg/mem field is a register, it's a word
    
    729
    +  ;; register.
    
    730
    +  :prefilter #'prefilter-reg/mem
    
    731
    +  :printer #'print-word-reg/mem)
    
    720 732
     ;;;
    
    721 733
     ;;; added by jrd
    
    722 734
     ;;;
    
    ... ... @@ -3478,7 +3490,7 @@
    3478 3490
     ;;; We do not support the MMX version of this instruction.
    
    3479 3491
     (define-instruction movd (segment dst src)
    
    3480 3492
       (:printer ext-xmm-reg/mem ((prefix #x66) (op #x6e)))
    
    3481
    -  (:printer ext-xmm-reg/mem ((prefix #x66) (op #x7e))
    
    3493
    +  (:printer ext-xmm-reg/mem ((prefix #x66) (op #x7e) (reg/mem nil :type 'word-reg/mem))
    
    3482 3494
                 '(:name :tab reg/mem ", " reg))
    
    3483 3495
       (:emitter
    
    3484 3496
        (cond ((xmm-register-p dst)