aboutsummaryrefslogtreecommitdiff
path: root/opcodes/ChangeLog
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2019-11-12 09:07:34 +0100
committerJan Beulich <jbeulich@suse.com>2019-11-12 09:07:34 +0100
commit75e5731b8f10129ef9a0e4202152c391d70375eb (patch)
tree79bbb36fee586624bba5b92acdf7c3bc6dc86622 /opcodes/ChangeLog
parentaa16be3993e2b29d4f6a774fca82c67a43956864 (diff)
downloadgdb-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/ChangeLog21
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