This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 00/13] x86: further insn template compaction


There continues to be quite a bit of unnecessary waste of space,
which is especially noticeable with operand types, as there are
(currently) 5 instances of it per insn template. By the end of
this series, less than 32 bits will remain in use there,
shrinking the overall table size noticeably while still providing
some headroom until it would have to grow again with future
additions.

01: x86: re-arrange process_operands()
02: x86: drop ShortForm attribute
03: x86: introduce operand type "class"
04: x86: convert SReg from bitfield to enumerator
05: x86: convert Control/Debug/Test from bitfield to enumerator
06: x86: convert RegSIMD and RegMMX from bitfield to enumerator
07: x86: convert RegMask and RegBND from bitfield to enumerator
08: x86: introduce operand type "instance"
09: x86: eliminate ImmExt abuse
10: x86: fold EsSeg into IsString
11: x86: make AnySize an insn attribute
12: x86: make JumpAbsolute an insn attribute
13: x86: fold individual Jump* attributes into a single Jump one

Note that some of this depends, at least mechanically due to the
generated files, but perhaps in a few cases also contextually or
even logically on some of the not yet applied parts of
https://sourceware.org/ml/binutils/2019-10/msg00197.html.

Jan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]