[PATCH, committed] X86: Remove pcommit instruction
H.J. Lu
hongjiu.lu@intel.com
Fri Oct 21 19:23:00 GMT 2016
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.
---
gas/ChangeLog | 12 +
gas/config/tc-i386.c | 2 -
gas/doc/c-i386.texi | 3 +-
gas/testsuite/gas/i386/i386.exp | 4 -
gas/testsuite/gas/i386/pcommit-intel.d | 14 -
gas/testsuite/gas/i386/pcommit.d | 14 -
gas/testsuite/gas/i386/pcommit.s | 10 -
gas/testsuite/gas/i386/x86-64-pcommit-intel.d | 14 -
gas/testsuite/gas/i386/x86-64-pcommit.d | 14 -
gas/testsuite/gas/i386/x86-64-pcommit.s | 10 -
opcodes/ChangeLog | 13 +
opcodes/i386-dis.c | 11 +-
opcodes/i386-gen.c | 3 -
opcodes/i386-init.h | 273 +-
opcodes/i386-opc.h | 3 -
opcodes/i386-opc.tbl | 6 -
opcodes/i386-tbl.h | 10447 ++++++++++++------------
17 files changed, 5378 insertions(+), 5475 deletions(-)
delete mode 100644 gas/testsuite/gas/i386/pcommit-intel.d
delete mode 100644 gas/testsuite/gas/i386/pcommit.d
delete mode 100644 gas/testsuite/gas/i386/pcommit.s
delete mode 100644 gas/testsuite/gas/i386/x86-64-pcommit-intel.d
delete mode 100644 gas/testsuite/gas/i386/x86-64-pcommit.d
delete mode 100644 gas/testsuite/gas/i386/x86-64-pcommit.s
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 50282ab..f51df74 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 0ab9e1e..6724bca 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -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,
diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi
index 5e9e2ef..43b4008 100644
--- a/gas/doc/c-i386.texi
+++ b/gas/doc/c-i386.texi
@@ -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}
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index e2b874d..7d04a5c 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -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"
diff --git a/gas/testsuite/gas/i386/pcommit-intel.d b/gas/testsuite/gas/i386/pcommit-intel.d
deleted file mode 100644
index ff34d10..0000000
--- a/gas/testsuite/gas/i386/pcommit-intel.d
+++ /dev/null
@@ -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
diff --git a/gas/testsuite/gas/i386/pcommit.d b/gas/testsuite/gas/i386/pcommit.d
deleted file mode 100644
index 2af4576..0000000
--- a/gas/testsuite/gas/i386/pcommit.d
+++ /dev/null
@@ -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
diff --git a/gas/testsuite/gas/i386/pcommit.s b/gas/testsuite/gas/i386/pcommit.s
deleted file mode 100644
index b791376..0000000
--- a/gas/testsuite/gas/i386/pcommit.s
+++ /dev/null
@@ -1,10 +0,0 @@
-# Check 32bit PCOMMIT instructions
-
- .allow_index_reg
- .text
-_start:
-
- pcommit # PCOMMIT
-
- .intel_syntax noprefix
- pcommit # PCOMMIT
diff --git a/gas/testsuite/gas/i386/x86-64-pcommit-intel.d b/gas/testsuite/gas/i386/x86-64-pcommit-intel.d
deleted file mode 100644
index ec9c1a6..0000000
--- a/gas/testsuite/gas/i386/x86-64-pcommit-intel.d
+++ /dev/null
@@ -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
diff --git a/gas/testsuite/gas/i386/x86-64-pcommit.d b/gas/testsuite/gas/i386/x86-64-pcommit.d
deleted file mode 100644
index 1a378cf..0000000
--- a/gas/testsuite/gas/i386/x86-64-pcommit.d
+++ /dev/null
@@ -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
diff --git a/gas/testsuite/gas/i386/x86-64-pcommit.s b/gas/testsuite/gas/i386/x86-64-pcommit.s
deleted file mode 100644
index b791376..0000000
--- a/gas/testsuite/gas/i386/x86-64-pcommit.s
+++ /dev/null
@@ -1,10 +0,0 @@
-# Check 32bit PCOMMIT instructions
-
- .allow_index_reg
- .text
-_start:
-
- pcommit # PCOMMIT
-
- .intel_syntax noprefix
- pcommit # PCOMMIT
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 75c99ac..3337f63 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -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
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 1518a1d..c6b0fc8 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -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 },
+
},
};
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index bf4a021..78faa2b 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -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),
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index 0500408..5d95f00 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -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;
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index fa75bb5..59722e4 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -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 }
More information about the Binutils
mailing list