aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-opc.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2019-06-04 08:50:10 -0700
committerH.J. Lu <hjl.tools@gmail.com>2019-06-04 08:50:46 -0700
commit5d79adc4b22b0abd4f12ea973a00e7fb0c1dad64 (patch)
tree15e73fda98da13ef00ca172d5731035af2a40b16 /opcodes/i386-opc.h
parente1f2e1a2dadbaeffe0a8a6da7aab7effc6b046d2 (diff)
downloadgdb-5d79adc4b22b0abd4f12ea973a00e7fb0c1dad64.zip
gdb-5d79adc4b22b0abd4f12ea973a00e7fb0c1dad64.tar.gz
gdb-5d79adc4b22b0abd4f12ea973a00e7fb0c1dad64.tar.bz2
Add support for Intel ENQCMD[S] instructions
This patch enables support for ENQCMD[S] in binutils. Please refer to https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf for ENQCMD[S] details. Make check-gas is ok. gas/ChangeLog: 2019-06-04 Xuepeng Guo <xuepeng.guo@intel.com> Lili Cui <lili.cui@intel.com> * doc/c-i386.texi: Document enqcmd. * testsuite/gas/i386/enqcmd-intel.d: New file. * testsuite/gas/i386/enqcmd-inval.l: Likewise. * testsuite/gas/i386/enqcmd-inval.s: Likewise. * testsuite/gas/i386/enqcmd.d: Likewise. * testsuite/gas/i386/enqcmd.s: Likewise. * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise. * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise. * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise. * testsuite/gas/i386/x86-64-enqcmd.d: Likewise. * testsuite/gas/i386/x86-64-enqcmd.s: Likewise. * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval, enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval, and x86-64-enqcmd. opcodes/ChangeLog: 2019-06-04 Xuepeng Guo <xuepeng.guo@intel.com> Lili Cui <lili.cui@intel.com> * i386-dis.c (enum): Add MOD_0F38F8_PREFIX_1 and MOD_0F38F8_PREFIX_3. (prefix_table): New instructions (see prefix above). (mod_table): New instructions (see prefix above). * i386-gen.c (cpu_flag_init): Add entries for enqcmd. (cpu_flags): Add a bitfield for enqmcd. * i386-init.h: Regenerated. * i386-opc.h (enum): Add CpuENQCMD. (i386_cpu_flags): Add a bitfield for cpuenqcmd. * i386-opc.tbl: Add enqcmd and enqcmds instructions. * i386-init.h: Regenerated. * i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-opc.h')
-rw-r--r--opcodes/i386-opc.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index 258a218..ebf446f 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -239,6 +239,8 @@ enum
CpuMOVDIRI,
/* MOVDIRR64B instruction required */
CpuMOVDIR64B,
+ /* ENQCMD instruction required */
+ CpuENQCMD,
/* 64bit support required */
Cpu64,
/* Not supported in the 64bit mode */
@@ -366,6 +368,7 @@ typedef union i386_cpu_flags
unsigned int cpucldemote:1;
unsigned int cpumovdiri:1;
unsigned int cpumovdir64b:1;
+ unsigned int cpuenqcmd:1;
unsigned int cpu64:1;
unsigned int cpuno64:1;
#ifdef CpuUnused