aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorAndrew Senkevich <andrew.senkevich@intel.com>2016-10-05 22:08:48 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2016-10-05 15:08:48 -0700
commiteee8f0b07f845f17e89b1e38711910fc8339139f (patch)
treecc2e9a2e460c54ab7a4988b368ed8d2e1713b306 /gcc/config
parentb48042bb4045f0f1b2b171d2632dae4b85131d02 (diff)
downloadgcc-eee8f0b07f845f17e89b1e38711910fc8339139f.zip
gcc-eee8f0b07f845f17e89b1e38711910fc8339139f.tar.gz
gcc-eee8f0b07f845f17e89b1e38711910fc8339139f.tar.bz2
Delete x86 deprecated pcommit instruction support
Delete x86 pcommit instruction support, which has been deprecated: https://software.intel.com/en-us/blogs/2016/09/12/deprecate-pcommit-instruction gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET, OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions. (ix86_handle_option): Deleted handle of OPT_mpcommit. * config.gcc: Deleted pcommitintrin.h * config/i386/pcommitintrin.h: Deleted file. * config/i386/cpuid.h (bit_PCOMMIT): Deleted. * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit detection. * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define __PCOMMIT__. * config/i386/i386.c (ix86_target_string): Deleted -mpcommit. (PTA_PCOMMIT): Deleted define. (ix86_option_override_internal): Deleted handle of option. (ix86_valid_target_attribute_inner_p): Deleted pcommit. * config/i386/i386-builtin.def (IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted. * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted. * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT. (pcommit): Deleted instruction. * config/i386/i386.opt: Mention -mpcommit deprecation. * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h. gcc/testsuite/ * gcc.target/i386/pcommit-1.c: Deleted. * gcc.target/i386/sse-12.c: Deleted -pcommit option. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * g++.dg/other/i386-2.C: Ditto. From-SVN: r240816
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/cpuid.h1
-rw-r--r--gcc/config/i386/driver-i386.c7
-rw-r--r--gcc/config/i386/i386-builtin.def3
-rw-r--r--gcc/config/i386/i386-c.c2
-rw-r--r--gcc/config/i386/i386.c14
-rw-r--r--gcc/config/i386/i386.h2
-rw-r--r--gcc/config/i386/i386.md10
-rw-r--r--gcc/config/i386/i386.opt4
-rw-r--r--gcc/config/i386/pcommitintrin.h49
-rw-r--r--gcc/config/i386/x86intrin.h2
10 files changed, 8 insertions, 86 deletions
diff --git a/gcc/config/i386/cpuid.h b/gcc/config/i386/cpuid.h
index 4ea3f74..2a946bf 100644
--- a/gcc/config/i386/cpuid.h
+++ b/gcc/config/i386/cpuid.h
@@ -82,7 +82,6 @@
#define bit_RDSEED (1 << 18)
#define bit_ADX (1 << 19)
#define bit_AVX512IFMA (1 << 21)
-#define bit_PCOMMIT (1 << 22)
#define bit_CLFLUSHOPT (1 << 23)
#define bit_CLWB (1 << 24)
#define bit_AVX512PF (1 << 26)
diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c
index 7460b59..e026482 100644
--- a/gcc/config/i386/driver-i386.c
+++ b/gcc/config/i386/driver-i386.c
@@ -413,8 +413,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
unsigned int has_clflushopt = 0, has_xsavec = 0, has_xsaves = 0;
unsigned int has_avx512dq = 0, has_avx512bw = 0, has_avx512vl = 0;
unsigned int has_avx512vbmi = 0, has_avx512ifma = 0, has_clwb = 0;
- unsigned int has_pcommit = 0, has_mwaitx = 0;
- unsigned int has_clzero = 0, has_pku = 0;
+ unsigned int has_mwaitx = 0, has_clzero = 0, has_pku = 0;
bool arch;
@@ -492,7 +491,6 @@ const char *host_detect_local_cpu (int argc, const char **argv)
has_avx512pf = ebx & bit_AVX512PF;
has_avx512cd = ebx & bit_AVX512CD;
has_sha = ebx & bit_SHA;
- has_pcommit = ebx & bit_PCOMMIT;
has_clflushopt = ebx & bit_CLFLUSHOPT;
has_clwb = ebx & bit_CLWB;
has_avx512dq = ebx & bit_AVX512DQ;
@@ -1024,7 +1022,6 @@ const char *host_detect_local_cpu (int argc, const char **argv)
const char *avx512ifma = has_avx512ifma ? " -mavx512ifma" : " -mno-avx512ifma";
const char *avx512vbmi = has_avx512vbmi ? " -mavx512vbmi" : " -mno-avx512vbmi";
const char *clwb = has_clwb ? " -mclwb" : " -mno-clwb";
- const char *pcommit = has_pcommit ? " -mpcommit" : " -mno-pcommit";
const char *mwaitx = has_mwaitx ? " -mmwaitx" : " -mno-mwaitx";
const char *clzero = has_clzero ? " -mclzero" : " -mno-clzero";
const char *pku = has_pku ? " -mpku" : " -mno-pku";
@@ -1036,7 +1033,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
fxsr, xsave, xsaveopt, avx512f, avx512er,
avx512cd, avx512pf, prefetchwt1, clflushopt,
xsavec, xsaves, avx512dq, avx512bw, avx512vl,
- avx512ifma, avx512vbmi, clwb, pcommit, mwaitx,
+ avx512ifma, avx512vbmi, clwb, mwaitx,
clzero, pku, NULL);
}
diff --git a/gcc/config/i386/i386-builtin.def b/gcc/config/i386/i386-builtin.def
index de65ea7..8518b74 100644
--- a/gcc/config/i386/i386-builtin.def
+++ b/gcc/config/i386/i386-builtin.def
@@ -377,9 +377,6 @@ BDESC (OPTION_MASK_ISA_AVX512VL, CODE_FOR_avx512vl_ss_truncatev4siv4hi2_mask_sto
BDESC (OPTION_MASK_ISA_AVX512VL, CODE_FOR_avx512vl_us_truncatev8siv8hi2_mask_store, "__builtin_ia32_pmovusdw256mem_mask", IX86_BUILTIN_PMOVUSDW256_MEM, UNKNOWN, (int) VOID_FTYPE_PV8HI_V8SI_UQI)
BDESC (OPTION_MASK_ISA_AVX512VL, CODE_FOR_avx512vl_us_truncatev4siv4hi2_mask_store, "__builtin_ia32_pmovusdw128mem_mask", IX86_BUILTIN_PMOVUSDW128_MEM, UNKNOWN, (int) VOID_FTYPE_PV8HI_V4SI_UQI)
-/* PCOMMIT. */
-BDESC (OPTION_MASK_ISA_PCOMMIT, CODE_FOR_pcommit, "__builtin_ia32_pcommit", IX86_BUILTIN_PCOMMIT, UNKNOWN, (int) VOID_FTYPE_VOID)
-
/* RDPKRU and WRPKRU. */
BDESC (OPTION_MASK_ISA_PKU, CODE_FOR_rdpkru, "__builtin_ia32_rdpkru", IX86_BUILTIN_RDPKRU, UNKNOWN, (int) UNSIGNED_FTYPE_VOID)
BDESC (OPTION_MASK_ISA_PKU, CODE_FOR_wrpkru, "__builtin_ia32_wrpkru", IX86_BUILTIN_WRPKRU, UNKNOWN, (int) VOID_FTYPE_UNSIGNED)
diff --git a/gcc/config/i386/i386-c.c b/gcc/config/i386/i386-c.c
index f93a09d..d4d2674 100644
--- a/gcc/config/i386/i386-c.c
+++ b/gcc/config/i386/i386-c.c
@@ -433,8 +433,6 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
def_or_undef (parse_in, "__XSAVES__");
if (isa_flag & OPTION_MASK_ISA_MPX)
def_or_undef (parse_in, "__MPX__");
- if (isa_flag & OPTION_MASK_ISA_PCOMMIT)
- def_or_undef (parse_in, "__PCOMMIT__");
if (isa_flag & OPTION_MASK_ISA_CLWB)
def_or_undef (parse_in, "__CLWB__");
if (isa_flag & OPTION_MASK_ISA_MWAITX)
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 58758d32..5d0917a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -4212,7 +4212,6 @@ ix86_target_string (HOST_WIDE_INT isa, int flags, int ix86_flags,
{ "-mxsaves", OPTION_MASK_ISA_XSAVES },
{ "-mmpx", OPTION_MASK_ISA_MPX },
{ "-mclwb", OPTION_MASK_ISA_CLWB },
- { "-mpcommit", OPTION_MASK_ISA_PCOMMIT },
{ "-mmwaitx", OPTION_MASK_ISA_MWAITX },
{ "-mclzero", OPTION_MASK_ISA_CLZERO },
{ "-mpku", OPTION_MASK_ISA_PKU },
@@ -4800,11 +4799,10 @@ ix86_option_override_internal (bool main_args_p,
#define PTA_AVX512IFMA (HOST_WIDE_INT_1 << 53)
#define PTA_AVX512VBMI (HOST_WIDE_INT_1 << 54)
#define PTA_CLWB (HOST_WIDE_INT_1 << 55)
-#define PTA_PCOMMIT (HOST_WIDE_INT_1 << 56)
-#define PTA_MWAITX (HOST_WIDE_INT_1 << 57)
-#define PTA_CLZERO (HOST_WIDE_INT_1 << 58)
-#define PTA_NO_80387 (HOST_WIDE_INT_1 << 59)
-#define PTA_PKU (HOST_WIDE_INT_1 << 60)
+#define PTA_MWAITX (HOST_WIDE_INT_1 << 56)
+#define PTA_CLZERO (HOST_WIDE_INT_1 << 57)
+#define PTA_NO_80387 (HOST_WIDE_INT_1 << 58)
+#define PTA_PKU (HOST_WIDE_INT_1 << 59)
#define PTA_CORE2 \
(PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3 \
@@ -5427,9 +5425,6 @@ ix86_option_override_internal (bool main_args_p,
if (processor_alias_table[i].flags & PTA_PREFETCHWT1
&& !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PREFETCHWT1))
opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PREFETCHWT1;
- if (processor_alias_table[i].flags & PTA_PCOMMIT
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PCOMMIT))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PCOMMIT;
if (processor_alias_table[i].flags & PTA_CLWB
&& !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_CLWB))
opts->x_ix86_isa_flags |= OPTION_MASK_ISA_CLWB;
@@ -6559,7 +6554,6 @@ ix86_valid_target_attribute_inner_p (tree args, char *p_strings[],
IX86_ATTR_ISA ("avx512vbmi", OPT_mavx512vbmi),
IX86_ATTR_ISA ("avx512ifma", OPT_mavx512ifma),
IX86_ATTR_ISA ("clwb", OPT_mclwb),
- IX86_ATTR_ISA ("pcommit", OPT_mpcommit),
IX86_ATTR_ISA ("mwaitx", OPT_mmwaitx),
IX86_ATTR_ISA ("clzero", OPT_mclzero),
IX86_ATTR_ISA ("pku", OPT_mpku),
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index a395532..add7a64 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -152,8 +152,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define TARGET_PREFETCHWT1_P(x) TARGET_ISA_PREFETCHWT1_P(x)
#define TARGET_MPX TARGET_ISA_MPX
#define TARGET_MPX_P(x) TARGET_ISA_MPX_P(x)
-#define TARGET_PCOMMIT TARGET_ISA_PCOMMIT
-#define TARGET_PCOMMIT_P(x) TARGET_ISA_PCOMMIT_P(x)
#define TARGET_CLWB TARGET_ISA_CLWB
#define TARGET_CLWB_P(x) TARGET_ISA_CLWB_P(x)
#define TARGET_MWAITX TARGET_ISA_MWAITX
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 6337a5d..32794ac 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -259,9 +259,6 @@
;; For CLWB support
UNSPECV_CLWB
- ;; For PCOMMIT support
- UNSPECV_PCOMMIT
-
;; For CLFLUSHOPT support
UNSPECV_CLFLUSHOPT
@@ -19369,13 +19366,6 @@
[(set_attr "type" "other")
(set_attr "length" "3")])
-(define_insn "pcommit"
- [(unspec_volatile [(const_int 0)] UNSPECV_PCOMMIT)]
- "TARGET_PCOMMIT"
- "pcommit"
- [(set_attr "type" "other")
- (set_attr "length" "4")])
-
(define_insn "clwb"
[(unspec_volatile [(match_operand 0 "address_operand" "p")]
UNSPECV_CLWB)]
diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
index 4b75ba8..9eef558 100644
--- a/gcc/config/i386/i386.opt
+++ b/gcc/config/i386/i386.opt
@@ -752,8 +752,8 @@ Target Report Mask(ISA_CLWB) Var(ix86_isa_flags) Save
Support CLWB instruction.
mpcommit
-Target Report Mask(ISA_PCOMMIT) Var(ix86_isa_flags) Save
-Support PCOMMIT instruction.
+Target Undocumented Warn(%<-mpcommit%> was deprecated)
+;; Deprecated
mfxsr
Target Report Mask(ISA_FXSR) Var(ix86_isa_flags) Save
diff --git a/gcc/config/i386/pcommitintrin.h b/gcc/config/i386/pcommitintrin.h
deleted file mode 100644
index 44e7a77..0000000
--- a/gcc/config/i386/pcommitintrin.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
-
- This file is part of GCC.
-
- GCC is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
-
- GCC is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#if !defined _X86INTRIN_H_INCLUDED
-# error "Never use <pcommitintrin.h> directly; include <x86intrin.h> instead."
-#endif
-
-#ifndef _PCOMMITINTRIN_H_INCLUDED
-#define _PCOMMITINTRIN_H_INCLUDED
-
-#ifndef __PCOMMIT__
-#pragma GCC push_options
-#pragma GCC target("pcommit")
-#define __DISABLE_PCOMMIT__
-#endif /* __PCOMMIT__ */
-
-extern __inline void
-__attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_pcommit (void)
-{
- __builtin_ia32_pcommit ();
-}
-
-#ifdef __DISABLE_PCOMMIT__
-#undef __DISABLE_PCOMMIT__
-#pragma GCC pop_options
-#endif /* __DISABLE_PCOMMIT__ */
-
-#endif /* _PCOMMITINTRIN_H_INCLUDED */
diff --git a/gcc/config/i386/x86intrin.h b/gcc/config/i386/x86intrin.h
index e666c4e..ee5c38a 100644
--- a/gcc/config/i386/x86intrin.h
+++ b/gcc/config/i386/x86intrin.h
@@ -83,8 +83,6 @@
#include <clwbintrin.h>
-#include <pcommitintrin.h>
-
#include <clflushoptintrin.h>
#include <xsavesintrin.h>