[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