diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2007-11-01 16:27:08 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2007-11-01 16:27:08 +0000 |
commit | ca61edf2ffd9bb92243a2c8d8ad89044a93e5727 (patch) | |
tree | 45695a69036ae610643cb4da10442971f9d84014 /opcodes/i386-opc.h | |
parent | e6c6c8f39cff8723dae7c737eba79f1365a2ed1b (diff) | |
download | gdb-ca61edf2ffd9bb92243a2c8d8ad89044a93e5727.zip gdb-ca61edf2ffd9bb92243a2c8d8ad89044a93e5727.tar.gz gdb-ca61edf2ffd9bb92243a2c8d8ad89044a93e5727.tar.bz2 |
gas/
2007-11-01 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (process_suffix): Check addrprefixop0 to
see if the address size override prefix changes the size of the
first operand.
(check_byte_reg): Don't warn if byteokintel is set.
(check_long_reg): Set i.suffix to QWORD_MNEM_SUFFIX if toqword
is set.
(check_qword_reg): Set i.suffix to LONG_MNEM_SUFFIX if todword
is set.
gas/testsuite/
2007-11-01 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.d: New.
* gas/i386/i386.s: Likewise.
* gas/i386/i386.exp: Run i386.
* gas/i386/x86_64.s: Add tests for movsx, movsbl, movsbq,
movsbw, movswl, movswq, movzx, movzb, movzbl, movzbq,
movzbw, movzwl and movzwq.
* gas/i386/x86_64.d: Updated.
opcodes/
2007-11-01 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (opcode_modifiers): Add ByteOkIntel, ToDword,
ToQword and AddrPrefixOp0.
* i386-opc.h (ByteOkIntel): New.
(ToDword): Likewise.
(ToQword): Likewise.
(AddrPrefixOp0): Likewise.
(IsPrefix): Updated.
(i386_opcode_modifier): Add byteokintel, todword, toqword
and addrprefixop0.
* i386-opc.tbl (cvtss2si): Add ToQword.
(cvttss2si): Likewise.
(cvtsd2si): Add ToDword.
(cvttsd2si): Likewise.
(monitor): Add AddrPrefixOp0.
(invlpga): Likewise.
(vmload): Likewise.
(vmrun): Likewise.
(vmsave): Likewise.
(pextrb): Add ByteOkIntel.
(pinsrb): Likewise.
* i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-opc.h')
-rw-r--r-- | opcodes/i386-opc.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index 044cfd7..0ec2eaf 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -197,8 +197,16 @@ typedef union i386_cpu_flags #define RegKludge (IsString + 1) /* The first operand must be xmm0 */ #define FirstXmm0 (RegKludge + 1) +/* BYTE is OK in Intel syntax. */ +#define ByteOkIntel (FirstXmm0 + 1) +/* Convert to DWORD */ +#define ToDword (ByteOkIntel + 1) +/* Convert to QWORD */ +#define ToQword (ToDword + 1) +/* Address prefix changes operand 0 */ +#define AddrPrefixOp0 (ToQword + 1) /* opcode is a prefix */ -#define IsPrefix (FirstXmm0 + 1) +#define IsPrefix (AddrPrefixOp0 + 1) /* instruction has extension in 8 bit imm */ #define ImmExt (IsPrefix + 1) /* instruction don't need Rex64 prefix. */ @@ -243,6 +251,10 @@ typedef struct i386_opcode_modifier unsigned int isstring:1; unsigned int regkludge:1; unsigned int firstxmm0:1; + unsigned int byteokintel:1; + unsigned int todword:1; + unsigned int toqword:1; + unsigned int addrprefixop0:1; unsigned int isprefix:1; unsigned int immext:1; unsigned int norex64:1; |