diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2008-02-12 00:04:45 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2008-02-12 00:04:45 +0000 |
commit | 475a2301db23da20a59a59814f8b1a9eebce7855 (patch) | |
tree | 5a6d714e4f60447a7317b10e356ba4fece733b78 /opcodes/i386-dis.c | |
parent | 86ed6051f72836e8bac640770bb47b04571df758 (diff) | |
download | gdb-475a2301db23da20a59a59814f8b1a9eebce7855.zip gdb-475a2301db23da20a59a59814f8b1a9eebce7855.tar.gz gdb-475a2301db23da20a59a59814f8b1a9eebce7855.tar.bz2 |
gas/testsuite/
2002-02-11 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run xsave, xsave-intel, x86-64-xsave
and x86-64-xsave-intel.
* gas/i386/x86-64-xsave-intel.d: New file.
* gas/i386/x86-64-xsave.d: Likewise.
* gas/i386/x86-64-xsave.s: Likewise.
* gas/i386/xsave-intel.d: Likewise.
* gas/i386/xsave.d: Likewise.
* gas/i386/xsave.s: Likewise.
opcodes/
2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flags): Add CpuXsave.
* i386-opc.h (CpuXsave): New.
(Cpu64): Updated.
(i386_cpu_flags): Add cpuxsave.
* i386-dis.c (MOD_0FAE_REG_4): New.
(RM_0F01_REG_2): Likewise.
(MOD_0FAE_REG_5): Updated.
(RM_0F01_REG_3): Likewise.
(reg_table): Use MOD_0FAE_REG_4.
(mod_table): Use RM_0F01_REG_2. Add MOD_0FAE_REG_4. Updated
for xrstor.
(rm_table): Add RM_0F01_REG_2.
* i386-opc.tbl: Add xsave, xrstor, xgetbv and xsetbv.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r-- | opcodes/i386-dis.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 4f14a32..149bafb 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -542,7 +542,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr) #define MOD_0FAE_REG_1 (MOD_0FAE_REG_0 + 1) #define MOD_0FAE_REG_2 (MOD_0FAE_REG_1 + 1) #define MOD_0FAE_REG_3 (MOD_0FAE_REG_2 + 1) -#define MOD_0FAE_REG_5 (MOD_0FAE_REG_3 + 1) +#define MOD_0FAE_REG_4 (MOD_0FAE_REG_3 + 1) +#define MOD_0FAE_REG_5 (MOD_0FAE_REG_4 + 1) #define MOD_0FAE_REG_6 (MOD_0FAE_REG_5 + 1) #define MOD_0FAE_REG_7 (MOD_0FAE_REG_6 + 1) #define MOD_0FB2 (MOD_0FAE_REG_7 + 1) @@ -560,7 +561,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr) #define RM_0F01_REG_0 0 #define RM_0F01_REG_1 (RM_0F01_REG_0 + 1) -#define RM_0F01_REG_3 (RM_0F01_REG_1 + 1) +#define RM_0F01_REG_2 (RM_0F01_REG_1 + 1) +#define RM_0F01_REG_3 (RM_0F01_REG_2 + 1) #define RM_0F01_REG_7 (RM_0F01_REG_3 + 1) #define RM_0FAE_REG_5 (RM_0F01_REG_7 + 1) #define RM_0FAE_REG_6 (RM_0FAE_REG_5 + 1) @@ -1764,7 +1766,7 @@ static const struct dis386 reg_table[][8] = { { MOD_TABLE (MOD_0FAE_REG_1) }, { MOD_TABLE (MOD_0FAE_REG_2) }, { MOD_TABLE (MOD_0FAE_REG_3) }, - { "(bad)", { XX } }, + { MOD_TABLE (MOD_0FAE_REG_4) }, { MOD_TABLE (MOD_0FAE_REG_5) }, { MOD_TABLE (MOD_0FAE_REG_6) }, { MOD_TABLE (MOD_0FAE_REG_7) }, @@ -4549,7 +4551,7 @@ static const struct dis386 mod_table[][2] = { { /* MOD_0F01_REG_2 */ { X86_64_TABLE (X86_64_0F01_REG_2) }, - { "(bad)", { XX } }, + { RM_TABLE (RM_0F01_REG_2) }, }, { /* MOD_0F01_REG_3 */ @@ -4727,8 +4729,13 @@ static const struct dis386 mod_table[][2] = { { "(bad)", { XX } }, }, { - /* MOD_0FAE_REG_5 */ + /* MOD_0FAE_REG_4 */ + { "xsave", { M } }, { "(bad)", { XX } }, + }, + { + /* MOD_0FAE_REG_5 */ + { "xrstor", { M } }, { RM_TABLE (RM_0FAE_REG_5) }, }, { @@ -4827,6 +4834,17 @@ static const struct dis386 rm_table[][8] = { { "(bad)", { XX } }, }, { + /* RM_0F01_REG_2 */ + { "xgetbv", { Skip_MODRM } }, + { "xsetbv", { Skip_MODRM } }, + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { "(bad)", { XX } }, + }, + { /* RM_0F01_REG_3 */ { "vmrun", { Skip_MODRM } }, { "vmmcall", { Skip_MODRM } }, |