Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
-
0cbb2264
by Raymond Toy at 2024-04-10T03:10:16+00:00
-
df78595e
by Raymond Toy at 2024-04-10T03:10:20+00:00
1 changed file:
Changes:
... | ... | @@ -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)
|