aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-opc.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2008-01-15 01:37:56 +0000
committerH.J. Lu <hjl.tools@gmail.com>2008-01-15 01:37:56 +0000
commit5c07affcae1a9698e488eefae0b1eb30d9743657 (patch)
treeb9e29cc4c40d8db0ca2ae4a1a11a9028e2f00d13 /opcodes/i386-opc.h
parent787daa7a0b1c68d0c52bdccd8747a12198ec9d75 (diff)
downloadbinutils-5c07affcae1a9698e488eefae0b1eb30d9743657.zip
binutils-5c07affcae1a9698e488eefae0b1eb30d9743657.tar.gz
binutils-5c07affcae1a9698e488eefae0b1eb30d9743657.tar.bz2
gas/
2008-01-14 H.J. Lu <hongjiu.lu@intel.com> * config/tc-i386.c (match_reg_size): New. (match_mem_size): Likewise. (operand_size_match): Likewise. (operand_type_match): Also clear all size fields. (match_template): Skip Intel syntax when in AT&T syntax. Call operand_size_match to check operand size. (i386_att_operand): Set the mem field to 1 for memory operand. (i386_intel_operand): Likewise. gas/testsuite/ 2008-01-14 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/i386.s: Add tests for movsx, movzx and movnti. * gas/i386/inval.s: Likewise. * gas/i386/x86_64.s: Likewise. * gas/i386/x86-64-inval.s: Likewise. * gas/i386/i386.d: Updated. * gas/i386/inval.l: Likewise. * gas/i386/x86_64.d: Likewise. * gas/i386/x86-64-inval.l: Likewise. opcodes/ 2008-01-14 H.J. Lu <hongjiu.lu@intel.com> * i386-gen.c (opcode_modifiers): Add IntelSyntax. (operand_types): Add Mem. * i386-opc.h (IntelSyntax): New. * i386-opc.h (Mem): New. (Byte): Updated. (Opcode_Modifier_Max): Updated. (i386_opcode_modifier): Add intelsyntax. (i386_operand_type): Add mem. * i386-opc.tbl: Remove Reg16 from movnti. Add sizes to more instructions. * i386-reg.tbl: Add size for accumulator. * i386-init.h: Regenerated. * i386-tbl.h: Likewise.
Diffstat (limited to 'opcodes/i386-opc.h')
-rw-r--r--opcodes/i386-opc.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index 92c3ebd..460b835 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -227,8 +227,10 @@ typedef union i386_cpu_flags
#define ATTMnemonic (OldGcc + 1)
/* AT&T syntax. */
#define ATTSyntax (ATTMnemonic + 1)
+/* Intel syntax. */
+#define IntelSyntax (ATTSyntax + 1)
/* The last bitfield in i386_opcode_modifier. */
-#define Opcode_Modifier_Max ATTSyntax
+#define Opcode_Modifier_Max IntelSyntax
typedef struct i386_opcode_modifier
{
@@ -273,6 +275,7 @@ typedef struct i386_opcode_modifier
unsigned int oldgcc:1;
unsigned int attmnemonic:1;
unsigned int attsyntax:1;
+ unsigned int intelsyntax:1;
} i386_opcode_modifier;
/* Position of operand_type bits. */
@@ -352,8 +355,10 @@ typedef struct i386_opcode_modifier
flag to the destination register operand to indicate that it should
be encoded in the regmem field. */
#define RegMem (EsSeg + 1)
+/* Memory. */
+#define Mem (RegMem + 1)
/* BYTE memory. */
-#define Byte (RegMem + 1)
+#define Byte (Mem + 1)
/* WORD memory. 2 byte */
#define Word (Byte + 1)
/* DWORD memory. 4 byte */
@@ -419,6 +424,7 @@ typedef union i386_operand_type
unsigned int jumpabsolute:1;
unsigned int esseg:1;
unsigned int regmem:1;
+ unsigned int mem:1;
unsigned int byte:1;
unsigned int word:1;
unsigned int dword:1;