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)
|