summaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2008-01-12 16:05:42 +0000
committerH.J. Lu <hjl@lucon.org>2008-01-12 16:05:42 +0000
commitd7fba9fd4ac4ef21e9f04cefb815c3060b27279a (patch)
treea0906001f085de99189be1ce40fe4c6f80704d60 /opcodes/i386-gen.c
parent5af150d68579c329ac5f93bcfe1ec629c67d1f89 (diff)
downloadgdb-d7fba9fd4ac4ef21e9f04cefb815c3060b27279a.tar.gz
gas/testsuite/
2008-01-12 H.J. Lu <hongjiu.lu@intel.com> PR gas/5534 * gas/i386/i386.s: Add tests for fnstsw and fstsw. * gas/i386/inval.s: Likewise. * gas/i386/x86_64.s: Likewise. * gas/i386/intel.s: Use word instead of dword on ss. * gas/i386/x86-64-inval.s: Add tests for fnstsw, fstsw, in and out. * gas/i386/prefix.s: Remove invalid fstsw. * gas/i386/inval.l: Updated. * gas/i386/intelbad.l: Likewise. * gas/i386/i386.d: Likewise. * gas/i386/x86_64.d: Likewise. * gas/i386/x86-64-inval.l: Likewise. * gas/i386/prefix.d: Updated. gas/ 2008-01-12 H.J. Lu <hongjiu.lu@intel.com> PR gas/5534 * config/tc-i386.c (_i386_insn): Update comment. (operand_type_match): Also clear unspecified. (operand_type_register_match): Likewise. (parse_operands): Initialize unspecified. (i386_intel_operand): Likewise. (match_template): Check memory and accumulator operand size. (i386_att_operand): Clear unspecified on register operand. (intel_e11): Likewise. (intel_e09): Set operand size and clean unspecified for "XXX PTR". opcodes/ 2008-01-12 H.J. Lu <hongjiu.lu@intel.com> PR gas/5534 * i386-gen.c (operand_type_init): Add Dword to OPERAND_TYPE_ACC32. Add Qword to OPERAND_TYPE_ACC64. (opcode_modifiers): Remove CheckSize, Byte, Word, Dword, Qword and Xmmword. (operand_types): Add Byte, Word, Dword, Fword, Qword, Tbyte, Xmmword, Unspecified and Anysize. (set_bitfield): Make Mmword an alias of Qword. Make Oword an alias of Xmmword. * i386-opc.h (CheckSize): Removed. (Byte): Updated. (Word): Likewise. (Dword): Likewise. (Qword): Likewise. (Xmmword): Likewise. (FWait): Updated. (OTMax): Likewise. (i386_opcode_modifier): Remove checksize, byte, word, dword, qword and xmmword. (Fword): New. (TBYTE): Likewise. (Unspecified): Likewise. (Anysize): Likewise. (i386_operand_type): Add byte, word, dword, fword, qword, tbyte xmmword, unspecified and anysize. * i386-opc.tbl: Updated to use Byte, Word, Dword, Fword, Qword, Tbyte, Xmmword, Unspecified and Anysize. * i386-reg.tbl: Add size for accumulator. * i386-init.h: Regenerated. * i386-tbl.h: Likewise.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index d7e3d16f69b..441e722a4c5 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -179,9 +179,9 @@ static initializer operand_type_init [] =
{ "OPERAND_TYPE_ESSEG",
"EsSeg" },
{ "OPERAND_TYPE_ACC32",
- "Reg32|Acc" },
+ "Reg32|Acc|Dword" },
{ "OPERAND_TYPE_ACC64",
- "Reg64|Acc" },
+ "Reg64|Acc|Qword" },
{ "OPERAND_TYPE_REG16_INOUTPORTREG",
"Reg16|InOutPortReg" },
{ "OPERAND_TYPE_DISP16_32",
@@ -273,12 +273,6 @@ static bitfield opcode_modifiers[] =
BITFIELD (No_sSuf),
BITFIELD (No_qSuf),
BITFIELD (No_ldSuf),
- BITFIELD (CheckSize),
- BITFIELD (Byte),
- BITFIELD (Word),
- BITFIELD (Dword),
- BITFIELD (Qword),
- BITFIELD (Xmmword),
BITFIELD (FWait),
BITFIELD (IsString),
BITFIELD (RegKludge),
@@ -334,6 +328,15 @@ static bitfield operand_types[] =
BITFIELD (JumpAbsolute),
BITFIELD (EsSeg),
BITFIELD (RegMem),
+ BITFIELD (Byte),
+ BITFIELD (Word),
+ BITFIELD (Dword),
+ BITFIELD (Fword),
+ BITFIELD (Qword),
+ BITFIELD (Tbyte),
+ BITFIELD (Xmmword),
+ BITFIELD (Unspecified),
+ BITFIELD (Anysize),
#ifdef OTUnused
BITFIELD (OTUnused),
#endif
@@ -443,6 +446,10 @@ set_bitfield (const char *f, bitfield *array, unsigned int size)
if (strcmp (f, "CpuSledgehammer") == 0)
f= "CpuK8";
+ else if (strcmp (f, "Mmword") == 0)
+ f= "Qword";
+ else if (strcmp (f, "Oword") == 0)
+ f= "Xmmword";
for (i = 0; i < size; i++)
if (strcasecmp (array[i].name, f) == 0)