X86: Remove pcommit instruction
Remove x86 pcommit instruction support, which has been deprecated: https://software.intel.com/en-us/blogs/2016/09/12/deprecate-pcommit-instruction gas/ * config/tc-i386.c (cpu_arch): Remove .pcommit. * doc/c-i386.texi: Likewise. * testsuite/gas/i386/i386.exp: Remove pcommit tests. * testsuite/gas/i386/pcommit-intel.d: Removed. * testsuite/gas/i386/pcommit.d: Likewise. * testsuite/gas/i386/pcommit.s: Likewise. * testsuite/gas/i386/x86-64-pcommit-intel.d: Likewise. * testsuite/gas/i386/x86-64-pcommit.d: Likewise. * testsuite/gas/i386/x86-64-pcommit.s: Likewise. opcodes/ * i386-dis.c (PREFIX_RM_0_0FAE_REG_7): Removed. (prefix_table): Remove the PREFIX_RM_0_0FAE_REG_7 entry. (rm_table): Update the RM_0FAE_REG_7 entry. * i386-gen.c (cpu_flag_init): Remove CPU_PCOMMIT_FLAGS. (cpu_flags): Remove CpuPCOMMIT. * i386-opc.h (CpuPCOMMIT): Removed. (i386_cpu_flags): Remove cpupcommit. * i386-opc.tbl: Remove pcommit. * i386-init.h: Regenerated. * i386-tbl.h: Likewise.
This commit is contained in:
parent
ac423761af
commit
b5cefccad8
|
@ -1,3 +1,15 @@
|
|||
2016-10-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/tc-i386.c (cpu_arch): Remove .pcommit.
|
||||
* doc/c-i386.texi: Likewise.
|
||||
* testsuite/gas/i386/i386.exp: Remove pcommit tests.
|
||||
* testsuite/gas/i386/pcommit-intel.d: Removed.
|
||||
* testsuite/gas/i386/pcommit.d: Likewise.
|
||||
* testsuite/gas/i386/pcommit.s: Likewise.
|
||||
* testsuite/gas/i386/x86-64-pcommit-intel.d: Likewise.
|
||||
* testsuite/gas/i386/x86-64-pcommit.d: Likewise.
|
||||
* testsuite/gas/i386/x86-64-pcommit.s: Likewise.
|
||||
|
||||
2016-10-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR binutis/20705
|
||||
|
|
|
@ -958,8 +958,6 @@ static const arch_entry cpu_arch[] =
|
|||
CPU_SE1_FLAGS, 0 },
|
||||
{ STRING_COMMA_LEN (".clwb"), PROCESSOR_UNKNOWN,
|
||||
CPU_CLWB_FLAGS, 0 },
|
||||
{ STRING_COMMA_LEN (".pcommit"), PROCESSOR_UNKNOWN,
|
||||
CPU_PCOMMIT_FLAGS, 0 },
|
||||
{ STRING_COMMA_LEN (".avx512ifma"), PROCESSOR_UNKNOWN,
|
||||
CPU_AVX512IFMA_FLAGS, 0 },
|
||||
{ STRING_COMMA_LEN (".avx512vbmi"), PROCESSOR_UNKNOWN,
|
||||
|
|
|
@ -171,7 +171,6 @@ accept various extension mnemonics. For example,
|
|||
@code{clflushopt},
|
||||
@code{se1},
|
||||
@code{clwb},
|
||||
@code{pcommit},
|
||||
@code{avx512f},
|
||||
@code{avx512cd},
|
||||
@code{avx512er},
|
||||
|
@ -1191,7 +1190,7 @@ supported on the CPU specified. The choices for @var{cpu_type} are:
|
|||
@item @samp{.clflushopt} @tab @samp{.xsavec} @tab @samp{.xsaves} @tab @samp{.se1}
|
||||
@item @samp{.avx512f} @tab @samp{.avx512cd} @tab @samp{.avx512er} @tab @samp{.avx512pf}
|
||||
@item @samp{.avx512vl} @tab @samp{.avx512bw} @tab @samp{.avx512dq} @tab @samp{.avx512ifma}
|
||||
@item @samp{.avx512vbmi} @tab @samp{.clwb} @tab @samp{.pcommit}
|
||||
@item @samp{.avx512vbmi} @tab @samp{.clwb}
|
||||
@item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.sse4a} @tab @samp{.sse5}
|
||||
@item @samp{.syscall} @tab @samp{.rdtscp} @tab @samp{.svme} @tab @samp{.abm}
|
||||
@item @samp{.lwp} @tab @samp{.fma4} @tab @samp{.xop} @tab @samp{.cx16}
|
||||
|
|
|
@ -349,8 +349,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
|
|||
run_dump_test "avx512f-rcigrz"
|
||||
run_dump_test "clwb"
|
||||
run_dump_test "clwb-intel"
|
||||
run_dump_test "pcommit"
|
||||
run_dump_test "pcommit-intel"
|
||||
run_dump_test "avx512ifma"
|
||||
run_dump_test "avx512ifma-intel"
|
||||
run_dump_test "avx512ifma_vl"
|
||||
|
@ -753,8 +751,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
|
|||
run_dump_test "x86-64-avx512f-rcigrz"
|
||||
run_dump_test "x86-64-clwb"
|
||||
run_dump_test "x86-64-clwb-intel"
|
||||
run_dump_test "x86-64-pcommit"
|
||||
run_dump_test "x86-64-pcommit-intel"
|
||||
run_dump_test "x86-64-avx512ifma"
|
||||
run_dump_test "x86-64-avx512ifma-intel"
|
||||
run_dump_test "x86-64-avx512ifma_vl"
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
#as:
|
||||
#objdump: -dw -Mintel
|
||||
#name: i386 PCOMMIT insns (Intel disassembly)
|
||||
#source: pcommit.s
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
00000000 <_start>:
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
#pass
|
|
@ -1,14 +0,0 @@
|
|||
#as:
|
||||
#objdump: -dw
|
||||
#name: i386 PCOMMIT insns
|
||||
#source: pcommit.s
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
00000000 <_start>:
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
#pass
|
|
@ -1,10 +0,0 @@
|
|||
# Check 32bit PCOMMIT instructions
|
||||
|
||||
.allow_index_reg
|
||||
.text
|
||||
_start:
|
||||
|
||||
pcommit # PCOMMIT
|
||||
|
||||
.intel_syntax noprefix
|
||||
pcommit # PCOMMIT
|
|
@ -1,14 +0,0 @@
|
|||
#as:
|
||||
#objdump: -dw -Mintel
|
||||
#name: x86_64 PCOMMIT insns (Intel disassembly)
|
||||
#source: x86-64-pcommit.s
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
0+ <_start>:
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
#pass
|
|
@ -1,14 +0,0 @@
|
|||
#as:
|
||||
#objdump: -dw
|
||||
#name: x86_64 PCOMMIT insns
|
||||
#source: x86-64-pcommit.s
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
0+ <_start>:
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
[ ]*[a-f0-9]+:[ ]*66 0f ae f8[ ]*pcommit
|
||||
#pass
|
|
@ -1,10 +0,0 @@
|
|||
# Check 32bit PCOMMIT instructions
|
||||
|
||||
.allow_index_reg
|
||||
.text
|
||||
_start:
|
||||
|
||||
pcommit # PCOMMIT
|
||||
|
||||
.intel_syntax noprefix
|
||||
pcommit # PCOMMIT
|
|
@ -1,3 +1,16 @@
|
|||
2016-10-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* i386-dis.c (PREFIX_RM_0_0FAE_REG_7): Removed.
|
||||
(prefix_table): Remove the PREFIX_RM_0_0FAE_REG_7 entry.
|
||||
(rm_table): Update the RM_0FAE_REG_7 entry.
|
||||
* i386-gen.c (cpu_flag_init): Remove CPU_PCOMMIT_FLAGS.
|
||||
(cpu_flags): Remove CpuPCOMMIT.
|
||||
* i386-opc.h (CpuPCOMMIT): Removed.
|
||||
(i386_cpu_flags): Remove cpupcommit.
|
||||
* i386-opc.tbl: Remove pcommit.
|
||||
* i386-init.h: Regenerated.
|
||||
* i386-tbl.h: Likewise.
|
||||
|
||||
2016-10-20 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR binutis/20705
|
||||
|
|
|
@ -988,7 +988,6 @@ enum
|
|||
PREFIX_MOD_3_0FAE_REG_4,
|
||||
PREFIX_0FAE_REG_6,
|
||||
PREFIX_0FAE_REG_7,
|
||||
PREFIX_RM_0_0FAE_REG_7,
|
||||
PREFIX_0FB8,
|
||||
PREFIX_0FBC,
|
||||
PREFIX_0FBD,
|
||||
|
@ -4094,13 +4093,6 @@ static const struct dis386 prefix_table[][4] = {
|
|||
{ "clflushopt", { Mb }, 0 },
|
||||
},
|
||||
|
||||
/* PREFIX_RM_0_0FAE_REG_7 */
|
||||
{
|
||||
{ "sfence", { Skip_MODRM }, 0 },
|
||||
{ Bad_Opcode },
|
||||
{ "pcommit", { Skip_MODRM }, 0 },
|
||||
},
|
||||
|
||||
/* PREFIX_0FB8 */
|
||||
{
|
||||
{ Bad_Opcode },
|
||||
|
@ -12484,7 +12476,8 @@ static const struct dis386 rm_table[][8] = {
|
|||
},
|
||||
{
|
||||
/* RM_0FAE_REG_7 */
|
||||
{ PREFIX_TABLE (PREFIX_RM_0_0FAE_REG_7) },
|
||||
{ "sfence", { Skip_MODRM }, 0 },
|
||||
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -247,8 +247,6 @@ static initializer cpu_flag_init[] =
|
|||
"CpuSE1" },
|
||||
{ "CPU_CLWB_FLAGS",
|
||||
"CpuCLWB" },
|
||||
{ "CPU_PCOMMIT_FLAGS",
|
||||
"CpuPCOMMIT" },
|
||||
{ "CPU_CLZERO_FLAGS",
|
||||
"CpuCLZERO" },
|
||||
{ "CPU_MWAITX_FLAGS",
|
||||
|
@ -501,7 +499,6 @@ static bitfield cpu_flags[] =
|
|||
BITFIELD (CpuPREFETCHWT1),
|
||||
BITFIELD (CpuSE1),
|
||||
BITFIELD (CpuCLWB),
|
||||
BITFIELD (CpuPCOMMIT),
|
||||
BITFIELD (Cpu64),
|
||||
BITFIELD (CpuNo64),
|
||||
BITFIELD (CpuMPX),
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -188,8 +188,6 @@ enum
|
|||
CpuSE1,
|
||||
/* CLWB instruction required */
|
||||
CpuCLWB,
|
||||
/* PCOMMIT instruction required */
|
||||
CpuPCOMMIT,
|
||||
/* Intel AVX-512 IFMA Instructions support required. */
|
||||
CpuAVX512IFMA,
|
||||
/* Intel AVX-512 VBMI Instructions support required. */
|
||||
|
@ -315,7 +313,6 @@ typedef union i386_cpu_flags
|
|||
unsigned int cpuprefetchwt1:1;
|
||||
unsigned int cpuse1:1;
|
||||
unsigned int cpuclwb:1;
|
||||
unsigned int cpupcommit:1;
|
||||
unsigned int cpuavx512ifma:1;
|
||||
unsigned int cpuavx512vbmi:1;
|
||||
unsigned int cpumwaitx:1;
|
||||
|
|
|
@ -5891,12 +5891,6 @@ clwb, 1, 0x660fae, 0x6, 2, CpuCLWB, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_
|
|||
|
||||
// CLWB instructions end.
|
||||
|
||||
// PCOMMIT instructions.
|
||||
|
||||
pcommit, 0, 0x660fae, 0xf8, 2, CpuPCOMMIT, IgnoreSize|ImmExt|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 }
|
||||
|
||||
// PCOMMIT instructions end.
|
||||
|
||||
// AVX512IFMA instructions
|
||||
|
||||
vpmadd52huq, 3, 0x66B5, None, 1, CpuAVX512IFMA, Modrm|EVex=1|Masking=3|VexOpcode=1|VexVVVV=1|VexW=2|VecESize=1|Broadcast=2|Disp8MemShift=6|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegZMM|Qword|ZMMword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegZMM, RegZMM }
|
||||
|
|
10447
opcodes/i386-tbl.h
10447
opcodes/i386-tbl.h
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue