diff options
author | Ilya Tocar <ilya.tocar@intel.com> | 2013-11-25 16:35:42 +0400 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2014-02-12 07:50:24 -0800 |
commit | 963f35869dd021f4a2a236ca6fa1242efc860d86 (patch) | |
tree | 07729d7236c7dafff0a4cbd36fe5d3e3b67f76be /opcodes/i386-dis.c | |
parent | 0548b5db301937e52a34dd6991ae571e21e75b40 (diff) | |
download | gdb-963f35869dd021f4a2a236ca6fa1242efc860d86.zip gdb-963f35869dd021f4a2a236ca6fa1242efc860d86.tar.gz gdb-963f35869dd021f4a2a236ca6fa1242efc860d86.tar.bz2 |
Add clflushopt, xsaves, xsavec, xrstors
gas/
2014-02-12 Ilya Tocar <ilya.tocar@intel.com>
* config/tc-i386.c (cpu_arch): Add .clflushopt, .xsavec, .xsaves.
* doc/c-i386.texi: Document .xsavec/xsavec/.xsaves/xsaves/
clflushopt/.clfushopt.
gas/testsuite/
2014-02-12 Ilya Tocar <ilya.tocar@intel.com>
* gas/i386/clflushopt-intel.d: New.
* gas/i386/clflushopt.d: Ditto.
* gas/i386/clflushopt.s: Ditto.
* gas/i386/i386.exp: Run new tests.
* gas/i386/x86-64-clflushopt-intel.d: New.
* gas/i386/x86-64-clflushopt.d: Ditto.
* gas/i386/x86-64-clflushopt.s: Ditto.
* gas/i386/x86-64-xsavec-intel.d: Ditto.
* gas/i386/x86-64-xsavec.d: Ditto.
* gas/i386/x86-64-xsavec.s: Ditto.
* gas/i386/x86-64-xsaves-intel.d: Ditto.
* gas/i386/x86-64-xsaves.d: Ditto.
* gas/i386/x86-64-xsaves.s: Ditto.
* gas/i386/xsavec-intel.d: Ditto.
* gas/i386/xsavec.d: Ditto.
* gas/i386/xsavec.s: Ditto.
* gas/i386/xsaves-intel.d: Ditto.
* gas/i386/xsaves.d: Ditto.
* gas/i386/xsaves.s: Ditto.
opcodes/
2014-02-12 Ilya Tocar <ilya.tocar@intel.com>
* i386-dis.c (MOD enum): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4,
MOD_0FC7_REG_5.
(PREFIX enum): Add PREFIX_0FAE_REG_7.
(reg_table): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4 MOD_0FC7_REG_5.
(prefix_table): Add clflusopt.
(mod_table): Add xrstors, xsavec, xsaves.
* i386-gen.c (cpu_flag_init): Add CPU_CLFLUSHOPT_FLAGS,
CPU_XSAVES_FLAGS, CPU_XSAVEC_FLAGS.
(cpu_flags): Add CpuClflushOpt, CpuXSAVES, CpuXSAVEC.
* i386-init.h: Regenerate.
* i386-opc.tbl: Add clflushopt, xrstors, xrstors64, xsaves,
xsaves64, xsavec, xsavec64.
* i386-tbl.h: Regenerate.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r-- | opcodes/i386-dis.c | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 3645daf..126d497 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -769,6 +769,9 @@ enum MOD_0FB2, MOD_0FB4, MOD_0FB5, + MOD_0FC7_REG_3, + MOD_0FC7_REG_4, + MOD_0FC7_REG_5, MOD_0FC7_REG_6, MOD_0FC7_REG_7, MOD_0FD7, @@ -884,6 +887,7 @@ enum PREFIX_0FAE_REG_1, PREFIX_0FAE_REG_2, PREFIX_0FAE_REG_3, + PREFIX_0FAE_REG_7, PREFIX_0FB8, PREFIX_0FBC, PREFIX_0FBD, @@ -3354,9 +3358,9 @@ static const struct dis386 reg_table[][8] = { { Bad_Opcode }, { "cmpxchg8b", { { CMPXCHG8B_Fixup, q_mode } } }, { Bad_Opcode }, - { Bad_Opcode }, - { Bad_Opcode }, - { Bad_Opcode }, + { MOD_TABLE (MOD_0FC7_REG_3) }, + { MOD_TABLE (MOD_0FC7_REG_4) }, + { MOD_TABLE (MOD_0FC7_REG_5) }, { MOD_TABLE (MOD_0FC7_REG_6) }, { MOD_TABLE (MOD_0FC7_REG_7) }, }, @@ -3759,6 +3763,13 @@ static const struct dis386 prefix_table[][4] = { { "wrgsbase", { Ev } }, }, + /* PREFIX_0FAE_REG_7 */ + { + { "clflush", { Mb } }, + { Bad_Opcode }, + { "clflushopt", { Mb } }, + }, + /* PREFIX_0FB8 */ { { Bad_Opcode }, @@ -11286,7 +11297,7 @@ static const struct dis386 mod_table[][2] = { }, { /* MOD_0FAE_REG_7 */ - { "clflush", { Mb } }, + { PREFIX_TABLE (PREFIX_0FAE_REG_7) }, { RM_TABLE (RM_0FAE_REG_7) }, }, { @@ -11302,6 +11313,18 @@ static const struct dis386 mod_table[][2] = { { "lgsS", { Gv, Mp } }, }, { + /* MOD_0FC7_REG_3 */ + { "xrstors", { FXSAVE } }, + }, + { + /* MOD_0FC7_REG_4 */ + { "xsavec", { FXSAVE } }, + }, + { + /* MOD_0FC7_REG_5 */ + { "xsaves", { FXSAVE } }, + }, + { /* MOD_0FC7_REG_6 */ { PREFIX_TABLE (PREFIX_0FC7_REG_6) }, { "rdrand", { Ev } }, |