aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
authorTerry Guo <xuepeng.guo@intel.com>2018-11-05 13:28:48 +0800
committerCui,Lili <lili.cui@intel.com>2020-09-23 10:47:44 +0800
commitc4694f172b51a2168b8cc15109ab1b97fc0bcb9c (patch)
tree1c50e8425fdad64ae7dd733b0f377e392fa3ee52 /opcodes/i386-gen.c
parent9fcff415820e37db422500d80c78df32fa2f34f6 (diff)
downloadgdb-c4694f172b51a2168b8cc15109ab1b97fc0bcb9c.zip
gdb-c4694f172b51a2168b8cc15109ab1b97fc0bcb9c.tar.gz
gdb-c4694f172b51a2168b8cc15109ab1b97fc0bcb9c.tar.bz2
Enable support to Intel Keylocker instructions
gas/ * NEWS: Add Key Locker. * config/tc-i386.c (cpu_arch): Add .kl and .wide_kl. (cpu_noarch): Likewise. * doc/c-i386.texi: Document kl and wide_kl. * testsuite/gas/i386/i386.exp: Run keylocker tests. * testsuite/gas/i386/keylocker-intel.d: New test. * testsuite/gas/i386/keylocker.d: Likewise. * testsuite/gas/i386/keylocker.s: Likewise. * testsuite/gas/i386/x86-64-keylocker-intel.d: Likewise. * testsuite/gas/i386/x86-64-keylocker.d: Likewise. * testsuite/gas/i386/x86-64-keylocker.s: Likewise. * testsuite/gas/i386/x86-64-property-10.d: Likewise. * testsuite/gas/i386/property-10.d: Likewise. * testsuite/gas/i386/property-10.s: Likewise. opcodes/ * i386-dis.c (enum): Add REG_0F38D8_PREFIX_1, MOD_0F38FA_PREFIX_1, MOD_0F38FB_PREFIX_1, MOD_0F38DC_PREFIX_1, MOD_0F38DD_PREFIX_1, MOD_0F38DE_PREFIX_1, MOD_0F38DF_PREFIX_1, PREFIX_0F38D8, PREFIX_0F38FA, PREFIX_0F38FB. (reg_table): New instructions (see prefixes above). (prefix_table): Likewise. (three_byte_table): Likewise. (mod_table): Likewise * i386-gen.c (cpu_flag_init): Add CPU_KL_FLAGS, CPU_WIDE_KL_FLAGS, CPU_ANY_KL_FLAGS and CPU_ANY_WIDE_KL_FLAGS. (cpu_flags): Likewise. (operand_type_init): Likewise. * i386-opc.h (enum): Add CpuKL and CpuWide_KL. (i386_cpu_flags): Add cpukl and cpuwide_kl. * i386-opc.tbl: Add KL and WIDE_KL insns. * i386-init.h: Regenerate. * i386-tbl.h: Likewise.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 3334155..3cee219 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -321,6 +321,10 @@ static initializer cpu_flag_init[] =
"CpuSEV_ES" },
{ "CPU_TSXLDTRK_FLAGS",
"CpuTSXLDTRK"},
+ { "CPU_KL_FLAGS",
+ "CpuKL" },
+ { "CPU_WIDEKL_FLAGS",
+ "CpuWideKL" },
{ "CPU_ANY_X87_FLAGS",
"CPU_ANY_287_FLAGS|Cpu8087" },
{ "CPU_ANY_287_FLAGS",
@@ -407,6 +411,10 @@ static initializer cpu_flag_init[] =
"CpuAVX512_VP2INTERSECT" },
{ "CPU_ANY_TSXLDTRK_FLAGS",
"CpuTSXLDTRK" },
+ { "CPU_ANY_KL_FLAGS",
+ "CpuKL|CpuWideKL" },
+ { "CPU_ANY_WIDEKL_FLAGS",
+ "CpuWideKL" },
};
static initializer operand_type_init[] =
@@ -636,6 +644,8 @@ static bitfield cpu_flags[] =
BITFIELD (CpuMCOMMIT),
BITFIELD (CpuSEV_ES),
BITFIELD (CpuTSXLDTRK),
+ BITFIELD (CpuKL),
+ BITFIELD (CpuWideKL),
#ifdef CpuUnused
BITFIELD (CpuUnused),
#endif