[PATCH 00/19] x86: further disassembler fixes and folding
Jan Beulich
jbeulich@suse.com
Mon Jul 13 09:31:15 GMT 2020
While the diffstat for this series (see below) is imo quite nice,
this still is only a further step towards the goal of making the
code overall more manageable by reducing the number of table
entries/branches, enumerators, macros, helper functions, and case
labels/blocks, many of which are currently redundant with one
another. Bugs are again getting fixed and other improvements made
along the road, as things were recognized.
01: x86-64: fold ILP32 test expectations
02: x86: drop dead code from OP_IMREG()
03: x86-64: don't hide an empty but meaningless REX prefix
04: x86: avoid attaching suffix to register-only CRC32
05: x86: don't disassemble MOVBE with two suffixes
06: x86: fold VCMP_Fixup() into CMP_Fixup()
07: x86-64: fix {,V}PCMPESTR{I,M} disassembly in Intel mode
08: x86: extend %BW use to VP{COMPRESS,EXPAND}{B,W}
09: x86: merge/move logic determining the EVEX disp8 shift
10: x86: replace %LW by %DQ
11: x86: drop Vex128 and Vex256
12: x86: drop need_vex_reg
13: x86: drop further EVEX table entries that can be served by VEX ones
14: x86: simplify decode of opcodes valid with (embedded) 66 prefix only
15: x86: also use %BW / %DQ for kshift*
16: x86: simplify decode of opcodes valid only without any (embedded) prefix
17: x86: drop Rdq, Rd, and MaskR
18: x86: drop Rm and the 'L' macro
19: x86/Intel: debug registers are named DRn
gas/testsuite/gas/i386/arch-10-bdver1.d | 39
gas/testsuite/gas/i386/arch-10-bdver2.d | 39
gas/testsuite/gas/i386/arch-10-bdver3.d | 39
gas/testsuite/gas/i386/arch-10-bdver4.d | 39
gas/testsuite/gas/i386/arch-10-btver1.d | 39
gas/testsuite/gas/i386/arch-10-btver2.d | 39
gas/testsuite/gas/i386/arch-10-lzcnt.d | 39
gas/testsuite/gas/i386/arch-10-prefetchw.d | 39
gas/testsuite/gas/i386/arch-10.d | 2
gas/testsuite/gas/i386/arch-2.d | 2
gas/testsuite/gas/i386/arch-3.d | 14
gas/testsuite/gas/i386/arch-5.d | 2
gas/testsuite/gas/i386/arch-6.d | 2
gas/testsuite/gas/i386/crc32-suffix.d | 25
gas/testsuite/gas/i386/crc32.d | 18
gas/testsuite/gas/i386/i386.exp | 4
gas/testsuite/gas/i386/ilp32/x86-64-arch-1.d | 14
gas/testsuite/gas/i386/ilp32/x86-64-arch-2.d | 39
gas/testsuite/gas/i386/ilp32/x86-64-avx-intel.d | 3600 --------------
gas/testsuite/gas/i386/ilp32/x86-64-avx.d | 3600 --------------
gas/testsuite/gas/i386/ilp32/x86-64-crc32-intel.d | 33
gas/testsuite/gas/i386/ilp32/x86-64-crc32.d | 33
gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel.d | 25
gas/testsuite/gas/i386/ilp32/x86-64-ifunc.d | 18
gas/testsuite/gas/i386/ilp32/x86-64-reg-intel.d | 52
gas/testsuite/gas/i386/ilp32/x86-64-reg.d | 52
gas/testsuite/gas/i386/ilp32/x86-64-rep-suffix.d | 20
gas/testsuite/gas/i386/ilp32/x86-64-sse4_2-intel.d | 84
gas/testsuite/gas/i386/ilp32/x86-64-sse4_2.d | 48
gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d | 68
gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d | 68
gas/testsuite/gas/i386/ilp32/x86-64-stack.d | 68
gas/testsuite/gas/i386/intel-intel.d | 4
gas/testsuite/gas/i386/intel.d | 2
gas/testsuite/gas/i386/intel.s | 4
gas/testsuite/gas/i386/movbe-suffix.d | 22
gas/testsuite/gas/i386/opcode-intel.d | 4
gas/testsuite/gas/i386/prefix.d | 8
gas/testsuite/gas/i386/sse-noavx.d | 2
gas/testsuite/gas/i386/sse4_2.d | 24
gas/testsuite/gas/i386/x86-64-arch-2-bdver1.d | 39
gas/testsuite/gas/i386/x86-64-arch-2-bdver2.d | 39
gas/testsuite/gas/i386/x86-64-arch-2-bdver3.d | 39
gas/testsuite/gas/i386/x86-64-arch-2-bdver4.d | 39
gas/testsuite/gas/i386/x86-64-arch-2-btver1.d | 39
gas/testsuite/gas/i386/x86-64-arch-2-btver2.d | 39
gas/testsuite/gas/i386/x86-64-arch-2-lzcnt.d | 39
gas/testsuite/gas/i386/x86-64-arch-2-prefetchw.d | 39
gas/testsuite/gas/i386/x86-64-arch-2.d | 2
gas/testsuite/gas/i386/x86-64-avx-intel.d | 4
gas/testsuite/gas/i386/x86-64-crc32-suffix.d | 35
gas/testsuite/gas/i386/x86-64-crc32.d | 30
gas/testsuite/gas/i386/x86-64-movbe-suffix.d | 28
gas/testsuite/gas/i386/x86-64-pseudos.d | 7
gas/testsuite/gas/i386/x86-64-pseudos.s | 5
gas/testsuite/gas/i386/x86-64-reg-intel.d | 8
gas/testsuite/gas/i386/x86-64-reg.d | 8
gas/testsuite/gas/i386/x86-64-sse-noavx.d | 2
gas/testsuite/gas/i386/x86-64-sse4_2-intel.d | 4
gas/testsuite/gas/i386/x86-64-sse4_2.d | 20
opcodes/i386-dis-evex-len.h | 278 -
opcodes/i386-dis-evex-mod.h | 83
opcodes/i386-dis-evex-prefix.h | 1042 ----
opcodes/i386-dis-evex-reg.h | 24
opcodes/i386-dis-evex-w.h | 308 -
opcodes/i386-dis-evex.h | 438 -
opcodes/i386-dis.c | 5378 ++++-----------------
67 files changed, 2003 insertions(+), 14286 deletions(-)
Jan
More information about the Binutils
mailing list