[Git][cmucl/cmucl][issue-95-fix-disassem-syntax] Make more mem access print out the size
Raymond Toy
gitlab at common-lisp.net
Sun Jan 10 19:21:46 UTC 2021
Raymond Toy pushed to branch issue-95-fix-disassem-syntax at cmucl / cmucl
Commits:
a99465d8 by Raymond Toy at 2021-01-10T11:06:53-08:00
Make more mem access print out the size
But we don't want to do that for the LEA instruction. gcc doesn't
require it and objdump doesn't print out a size.
- - - - -
1 changed file:
- src/compiler/x86/insts.lisp
Changes:
=====================================
src/compiler/x86/insts.lisp
=====================================
@@ -797,7 +797,7 @@
(op :field (byte 7 1))
(width :field (byte 1 0) :type 'width)
(reg/mem :fields (list (byte 2 14) (byte 3 8))
- :type 'reg/mem)
+ :type 'sized-reg/mem)
(reg :field (byte 3 11) :type 'reg)
;; optional fields
(imm))
@@ -835,7 +835,10 @@
(disassem:define-instruction-format
(accum-reg/mem 16
:include 'reg/mem :default-printer '(:name :tab accum ", " reg/mem))
- (reg/mem :type 'reg/mem) ; don't need a size
+ ;; This format uses the accumulator, so the size is known; therefore
+ ;; we don't really need to print out the memory size, but let's do
+ ;; it for consistency.
+ (reg/mem :type 'sized-reg/mem)
(accum :type 'accum))
;;; Same as reg-reg/mem, but with a prefix of #b00001111
@@ -1132,7 +1135,8 @@
(error "Bogus args to XCHG: ~S ~S" operand1 operand2)))))))
(define-instruction lea (segment dst src)
- (:printer reg-reg/mem ((op #b1000110) (width 1)))
+ ;; Don't need to print out the width for the LEA instruction
+ (:printer reg-reg/mem ((op #b1000110) (width 1) (reg/mem nil :type 'reg/mem)))
(:emitter
(assert (dword-reg-p dst))
(emit-byte segment #b10001101)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/a99465d8e3c6cb2f245b2783c21d55b38b235177
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/a99465d8e3c6cb2f245b2783c21d55b38b235177
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20210110/1c8bbaa5/attachment-0001.html>
More information about the cmucl-cvs
mailing list