diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2008-01-02 21:43:34 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2008-01-02 21:43:34 +0000 |
commit | 582d5eddfe4a3e1d644c473f30a1c1e85c665743 (patch) | |
tree | 392e6091dd2db1de46a080a8ec797ddc82e07aff /opcodes/i386-opc.h | |
parent | 6c7ac64e1764d0feff5d87ee849652d69f4381ae (diff) | |
download | gdb-582d5eddfe4a3e1d644c473f30a1c1e85c665743.zip gdb-582d5eddfe4a3e1d644c473f30a1c1e85c665743.tar.gz gdb-582d5eddfe4a3e1d644c473f30a1c1e85c665743.tar.bz2 |
gas/
2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR gas/5534
* config/tc-i386.c (match_template): Handle XMMWORD_MNEM_SUFFIX.
Check memory size in Intel mode.
(process_suffix): Handle XMMWORD_MNEM_SUFFIX.
(intel_e09): Likewise.
* config/tc-i386.h (XMMWORD_MNEM_SUFFIX): New.
gas/testsuite/
2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR gas/5534
* gas/i386/intel.s: Use QWORD on movq instead of DWORD.
* gas/i386/inval.s: Add tests for movq.
* gas/i386/x86-64-inval.s: Likewise.
* gas/i386/inval.l: Updated.
* gas/i386/x86-64-inval.l: Likewise.
opcodes/
2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
PR gas/5534
* i386-gen.c (opcode_modifiers): Add No_xSuf, CheckSize,
Byte, Word, Dword, QWord and Xmmword.
* i386-opc.h (No_xSuf): New.
(CheckSize): Likewise.
(Byte): Likewise.
(Word): Likewise.
(Dword): Likewise.
(QWord): Likewise.
(Xmmword): Likewise.
(FWait): Updated.
(i386_opcode_modifier): Add No_xSuf, CheckSize, Byte, Word,
Dword, QWord and Xmmword.
* i386-opc.tbl: Add CheckSize|QWord to movq if IgnoreSize is
used.
* i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-opc.h')
-rw-r--r-- | opcodes/i386-opc.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index f802f3e..12605dd 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -191,8 +191,22 @@ typedef union i386_cpu_flags #define No_qSuf (No_sSuf + 1) /* long double suffix on instruction illegal */ #define No_ldSuf (No_qSuf + 1) +/* x suffix on instruction illegal */ +#define No_xSuf (No_ldSuf + 1) +/* check PTR size on instruction */ +#define CheckSize (No_xSuf + 1) +/* BYTE PTR on instruction */ +#define Byte (CheckSize + 1) +/* WORD PTR on instruction */ +#define Word (Byte + 1) +/* DWORD PTR on instruction */ +#define Dword (Word + 1) +/* QWORD PTR on instruction */ +#define QWord (Dword + 1) +/* XMMWORD PTR on instruction */ +#define Xmmword (QWord + 1) /* instruction needs FWAIT */ -#define FWait (No_ldSuf + 1) +#define FWait (Xmmword + 1) /* quick test for string instructions */ #define IsString (FWait + 1) /* fake an extra reg operand for clr, imul and special register @@ -256,6 +270,13 @@ typedef struct i386_opcode_modifier unsigned int no_ssuf:1; unsigned int no_qsuf:1; unsigned int no_ldsuf:1; + unsigned int no_xsuf:1; + unsigned int checksize:1; + unsigned int byte:1; + unsigned int word:1; + unsigned int dword:1; + unsigned int qword:1; + unsigned int xmmword:1; unsigned int fwait:1; unsigned int isstring:1; unsigned int regkludge:1; |