diff options
author | Jan Beulich <jbeulich@suse.com> | 2019-11-12 09:07:34 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2019-11-12 09:07:34 +0100 |
commit | 75e5731b8f10129ef9a0e4202152c391d70375eb (patch) | |
tree | 79bbb36fee586624bba5b92acdf7c3bc6dc86622 /opcodes/ChangeLog | |
parent | aa16be3993e2b29d4f6a774fca82c67a43956864 (diff) | |
download | gdb-75e5731b8f10129ef9a0e4202152c391d70375eb.zip gdb-75e5731b8f10129ef9a0e4202152c391d70375eb.tar.gz gdb-75e5731b8f10129ef9a0e4202152c391d70375eb.tar.bz2 |
x86: introduce operand type "instance"
Special register "class" instances can't be combined with one another
(neither in templates nor in register entries), and hence it is not a
good use of resources (memory as well as execution time) to represent
them as individual bits of a bit field.
Furthermore the generalization becoming possible will allow
improvements to the handling of insns accepting only individual
registers as their operands.
Diffstat (limited to 'opcodes/ChangeLog')
-rw-r--r-- | opcodes/ChangeLog | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ad1874c..ff69492 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,24 @@ +2019-11-12 Jan Beulich <jbeulich@suse.com> + + * i386-gen.c (operand_type_init): Adjust + OPERAND_TYPE_INOUTPORTREG, OPERAND_TYPE_SHIFTCOUNT, + OPERAND_TYPE_FLOATACC, OPERAND_TYPE_ACC8, OPERAND_TYPE_ACC16, + OPERAND_TYPE_ACC32, and OPERAND_TYPE_ACC64 entries. + (operand_instances): New. + (operand_types): Drop InOutPortReg, ShiftCount, and Acc entries. + (output_operand_type): New parameter "instance". Process it. + (process_i386_operand_type): New local variable "instance". + (main): Adjust static assertions. + * i386-opc.h (INSTANCE_WIDTH): Define. + (enum operand_instance): New. + (Acc, InOutPortReg, ShiftCount): Replace by ClassInstance. + (union i386_operand_type): Replace acc, inoutportreg, and + shiftcount by instance. + * i386-opc.tbl (Acc, InOutPortReg, ShiftCount): Define. + * i386-reg.tbl (st, al, cl, ax, dx, eax, rax, xmm0, st(0)): + Add Instance=. + * i386-init.h, i386-tbl.h: Re-generate. + 2019-11-11 Jan Beulich <jbeulich@suse.com> * aarch64-tbl.h (aarch64_opcode_table): Switch SVE2's |