x86: move insn mnemonics to a separate table
authorJan Beulich <jbeulich@suse.com>
Fri, 20 Jan 2023 09:15:48 +0000 (10:15 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 20 Jan 2023 09:15:48 +0000 (10:15 +0100)
commit5c1392029158fa5b2946953394e566c83a0602e1
tree5f79804018ce30301d631fb85a437ff91d26e930
parent76d3f746c538af9204bbf5d7f90188a65048c0da
x86: move insn mnemonics to a separate table

Using full pointers to reference the insn mnemonic strings is not very
efficient. With overall string size presently just slightly over 20k,
even a 16-bit value would suffice. Use "unsigned int" for now, as
there's no good use we could presently make of the otherwise saved 16
bits.

For 64-bit builds this reduces table size by 6.25% (prior to the recent
ISA extension additions it would have been 12.5%), with a similar effect
on cache occupation of table entries accessed. For PIE builds of gas
this also reduces the number of base relocations quite a bit (obviously
independent of bitness).
gas/Makefile.am
gas/Makefile.in
gas/config/tc-i386.c
opcodes/Makefile.am
opcodes/Makefile.in
opcodes/i386-gen.c
opcodes/i386-mnem.h [new file with mode: 0644]
opcodes/i386-opc.h
opcodes/i386-tbl.h