aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
authorLili Cui <lili.cui@intel.com>2020-10-14 04:52:11 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-10-14 04:53:59 -0700
commitc1fa250ae1604d3337cf63279503a737c9377574 (patch)
treef47d5dab92a4856a64e80b87f35a20d153e82fac /opcodes/i386-gen.c
parentf64c42a9fb19409bb45d86d4b78f0465980dfcba (diff)
downloadgdb-c1fa250ae1604d3337cf63279503a737c9377574.zip
gdb-c1fa250ae1604d3337cf63279503a737c9377574.tar.gz
gdb-c1fa250ae1604d3337cf63279503a737c9377574.tar.bz2
x86: Add support for Intel HRESET instruction
gas/ * NEWS: Add Intel HRESET. * config/tc-i386.c (cpu_arch): Add .hreset. (cpu_noarch): Likewise. * doc/c-i386.texi: Document .hreset, nohreset. * testsuite/gas/i386/i386.exp: Run HRESET tests. * testsuite/gas/i386/hreset.d: New file. * testsuite/gas/i386/x86-64-hreset.d: Likewise. * testsuite/gas/i386/hreset.s: Likewise. opcodes/ * i386-dis.c (PREFIX_0F3A0F): New. (MOD_0F3A0F_PREFIX_1): Likewise. (REG_0F3A0F_PREFIX_1_MOD_3): Likewise. (RM_0F3A0F_P_1_MOD_3_REG_0): Likewise. (prefix_table): Add PREFIX_0F3A0F. (mod_table): Add MOD_0F3A0F_PREFIX_1. (reg_table): Add REG_0F3A0F_PREFIX_1_MOD_3. (rm_table): Add RM_0F3A0F_P_1_MOD_3_REG_0. * i386-gen.c (cpu_flag_init): Add HRESET_FLAGS, CPU_ANY_HRESET_FLAGS. (cpu_flags): Add CpuHRESET. (output_i386_opcode): Allow 4 byte base_opcode. * i386-opc.h (enum): Add CpuHRESET. (i386_cpu_flags): Add cpuhreset. * i386-opc.tbl: Add Intel HRESET instruction. * i386-init.h: Regenerate. * i386-tbl.h: Likewise.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index c551b20..c0aee1f 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -329,6 +329,8 @@ static initializer cpu_flag_init[] =
"CpuKL" },
{ "CPU_WIDEKL_FLAGS",
"CpuWideKL" },
+ { "CPU_HRESET_FLAGS",
+ "CpuHRESET"},
{ "CPU_ANY_X87_FLAGS",
"CPU_ANY_287_FLAGS|Cpu8087" },
{ "CPU_ANY_287_FLAGS",
@@ -423,6 +425,8 @@ static initializer cpu_flag_init[] =
"CpuKL|CpuWideKL" },
{ "CPU_ANY_WIDEKL_FLAGS",
"CpuWideKL" },
+ { "CPU_ANY_HRESET_FLAGS",
+ "CpuHRESET" },
};
static initializer operand_type_init[] =
@@ -656,6 +660,7 @@ static bitfield cpu_flags[] =
BITFIELD (CpuTSXLDTRK),
BITFIELD (CpuKL),
BITFIELD (CpuWideKL),
+ BITFIELD (CpuHRESET),
#ifdef CpuUnused
BITFIELD (CpuUnused),
#endif
@@ -1425,6 +1430,8 @@ output_i386_opcode (FILE *table, const char *name, char *str,
unsigned long int opcode = strtoul (base_opcode, &end, 0);
switch (length)
{
+ case 4:
+ break;
case 3:
if ((opcode >> 24) != 0)
fail (_("%s: %s: (base_opcode >> 24) != 0: %s\n"),