diff options
author | Jan Beulich <jbeulich@suse.com> | 2019-11-12 09:09:31 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2019-11-12 09:09:31 +0100 |
commit | 51c8edf68bf1e16c6d05fbb31a36e0cc436a9750 (patch) | |
tree | ca465dc8565167792ae44eb3f95b338720c813e0 /opcodes/i386-gen.c | |
parent | 474da251bf92a11a08583080af77fa197570767f (diff) | |
download | gdb-51c8edf68bf1e16c6d05fbb31a36e0cc436a9750.zip gdb-51c8edf68bf1e16c6d05fbb31a36e0cc436a9750.tar.gz gdb-51c8edf68bf1e16c6d05fbb31a36e0cc436a9750.tar.bz2 |
x86: fold EsSeg into IsString
EsSeg (a per-operand bit) is used with IsString (a per-insn attribute)
only. Extend the attribute to 2 bits, thus allowing to encode
- not a string insn,
- string insn with neither operand requiring use of %es:,
- string insn with 1st operand requiring use of %es:,
- string insn with 2nd operand requiring use of %es:,
which covers all possible cases, allowing to drop EsSeg.
The (transient) need to comment out the OTUnused #define did uncover an
oversight in the earlier OTMax -> OTNum conversion, which is being taken
care of here.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r-- | opcodes/i386-gen.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index 4f0c7f2..2838fa4 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -451,8 +451,6 @@ static initializer operand_type_init[] = "Class=RegMask" }, { "OPERAND_TYPE_REGBND", "Class=RegBND" }, - { "OPERAND_TYPE_ESSEG", - "EsSeg" }, { "OPERAND_TYPE_ACC8", "Instance=Accum|Byte" }, { "OPERAND_TYPE_ACC16", @@ -725,7 +723,6 @@ static bitfield operand_types[] = BITFIELD (Disp32S), BITFIELD (Disp64), BITFIELD (JumpAbsolute), - BITFIELD (EsSeg), BITFIELD (Byte), BITFIELD (Word), BITFIELD (Dword), @@ -1747,7 +1744,7 @@ main (int argc, char **argv) static_assert (ARRAY_SIZE (operand_types) + CLASS_WIDTH + INSTANCE_WIDTH == OTNum); - c = OTNumOfBits - OTMax - 1; + c = OTNumOfBits - OTNum; if (c) fail (_("%d unused bits in i386_operand_type.\n"), c); #endif |