diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2019-06-04 08:50:10 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2019-06-04 08:50:46 -0700 |
commit | 5d79adc4b22b0abd4f12ea973a00e7fb0c1dad64 (patch) | |
tree | 15e73fda98da13ef00ca172d5731035af2a40b16 /opcodes/i386-opc.h | |
parent | e1f2e1a2dadbaeffe0a8a6da7aab7effc6b046d2 (diff) | |
download | gdb-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.h | 3 |
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 |