mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
b48042bb40
commit
eee8f0b07f
|
|
@ -1,3 +1,27 @@
|
||||||
|
2016-10-05 Andrew Senkevich <andrew.senkevich@intel.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2016-10-05 Uros Bizjak <ubizjak@gmail.com>
|
2016-10-05 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
PR target/77874
|
PR target/77874
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#define OPTION_MASK_ISA_XSAVEC_SET \
|
#define OPTION_MASK_ISA_XSAVEC_SET \
|
||||||
(OPTION_MASK_ISA_XSAVEC | OPTION_MASK_ISA_XSAVE)
|
(OPTION_MASK_ISA_XSAVEC | OPTION_MASK_ISA_XSAVE)
|
||||||
#define OPTION_MASK_ISA_CLWB_SET OPTION_MASK_ISA_CLWB
|
#define OPTION_MASK_ISA_CLWB_SET OPTION_MASK_ISA_CLWB
|
||||||
#define OPTION_MASK_ISA_PCOMMIT_SET OPTION_MASK_ISA_PCOMMIT
|
|
||||||
|
|
||||||
/* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
|
/* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
|
||||||
as -msse4.2. */
|
as -msse4.2. */
|
||||||
|
|
@ -187,7 +186,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#define OPTION_MASK_ISA_CLFLUSHOPT_UNSET OPTION_MASK_ISA_CLFLUSHOPT
|
#define OPTION_MASK_ISA_CLFLUSHOPT_UNSET OPTION_MASK_ISA_CLFLUSHOPT
|
||||||
#define OPTION_MASK_ISA_XSAVEC_UNSET OPTION_MASK_ISA_XSAVEC
|
#define OPTION_MASK_ISA_XSAVEC_UNSET OPTION_MASK_ISA_XSAVEC
|
||||||
#define OPTION_MASK_ISA_XSAVES_UNSET OPTION_MASK_ISA_XSAVES
|
#define OPTION_MASK_ISA_XSAVES_UNSET OPTION_MASK_ISA_XSAVES
|
||||||
#define OPTION_MASK_ISA_PCOMMIT_UNSET OPTION_MASK_ISA_PCOMMIT
|
|
||||||
#define OPTION_MASK_ISA_CLWB_UNSET OPTION_MASK_ISA_CLWB
|
#define OPTION_MASK_ISA_CLWB_UNSET OPTION_MASK_ISA_CLWB
|
||||||
#define OPTION_MASK_ISA_MWAITX_UNSET OPTION_MASK_ISA_MWAITX
|
#define OPTION_MASK_ISA_MWAITX_UNSET OPTION_MASK_ISA_MWAITX
|
||||||
#define OPTION_MASK_ISA_CLZERO_UNSET OPTION_MASK_ISA_CLZERO
|
#define OPTION_MASK_ISA_CLZERO_UNSET OPTION_MASK_ISA_CLZERO
|
||||||
|
|
@ -933,19 +931,6 @@ ix86_handle_option (struct gcc_options *opts,
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case OPT_mpcommit:
|
|
||||||
if (value)
|
|
||||||
{
|
|
||||||
opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PCOMMIT_SET;
|
|
||||||
opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_PCOMMIT_SET;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_PCOMMIT_UNSET;
|
|
||||||
opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_PCOMMIT_UNSET;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
|
|
||||||
case OPT_mclwb:
|
case OPT_mclwb:
|
||||||
if (value)
|
if (value)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -373,8 +373,8 @@ i[34567]86-*-*)
|
||||||
xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
|
xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
|
||||||
avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
|
avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
|
||||||
avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
|
avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
|
||||||
avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
|
avx512vbmivlintrin.h clwbintrin.h mwaitxintrin.h
|
||||||
mwaitxintrin.h clzerointrin.h pkuintrin.h"
|
clzerointrin.h pkuintrin.h"
|
||||||
;;
|
;;
|
||||||
x86_64-*-*)
|
x86_64-*-*)
|
||||||
cpu_type=i386
|
cpu_type=i386
|
||||||
|
|
@ -395,8 +395,8 @@ x86_64-*-*)
|
||||||
xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
|
xsavesintrin.h avx512dqintrin.h avx512bwintrin.h
|
||||||
avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
|
avx512vlintrin.h avx512vlbwintrin.h avx512vldqintrin.h
|
||||||
avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
|
avx512ifmaintrin.h avx512ifmavlintrin.h avx512vbmiintrin.h
|
||||||
avx512vbmivlintrin.h clwbintrin.h pcommitintrin.h
|
avx512vbmivlintrin.h clwbintrin.h mwaitxintrin.h
|
||||||
mwaitxintrin.h clzerointrin.h pkuintrin.h"
|
clzerointrin.h pkuintrin.h"
|
||||||
;;
|
;;
|
||||||
ia64-*-*)
|
ia64-*-*)
|
||||||
extra_headers=ia64intrin.h
|
extra_headers=ia64intrin.h
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,6 @@
|
||||||
#define bit_RDSEED (1 << 18)
|
#define bit_RDSEED (1 << 18)
|
||||||
#define bit_ADX (1 << 19)
|
#define bit_ADX (1 << 19)
|
||||||
#define bit_AVX512IFMA (1 << 21)
|
#define bit_AVX512IFMA (1 << 21)
|
||||||
#define bit_PCOMMIT (1 << 22)
|
|
||||||
#define bit_CLFLUSHOPT (1 << 23)
|
#define bit_CLFLUSHOPT (1 << 23)
|
||||||
#define bit_CLWB (1 << 24)
|
#define bit_CLWB (1 << 24)
|
||||||
#define bit_AVX512PF (1 << 26)
|
#define bit_AVX512PF (1 << 26)
|
||||||
|
|
|
||||||
|
|
@ -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_clflushopt = 0, has_xsavec = 0, has_xsaves = 0;
|
||||||
unsigned int has_avx512dq = 0, has_avx512bw = 0, has_avx512vl = 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_avx512vbmi = 0, has_avx512ifma = 0, has_clwb = 0;
|
||||||
unsigned int has_pcommit = 0, has_mwaitx = 0;
|
unsigned int has_mwaitx = 0, has_clzero = 0, has_pku = 0;
|
||||||
unsigned int has_clzero = 0, has_pku = 0;
|
|
||||||
|
|
||||||
bool arch;
|
bool arch;
|
||||||
|
|
||||||
|
|
@ -492,7 +491,6 @@ const char *host_detect_local_cpu (int argc, const char **argv)
|
||||||
has_avx512pf = ebx & bit_AVX512PF;
|
has_avx512pf = ebx & bit_AVX512PF;
|
||||||
has_avx512cd = ebx & bit_AVX512CD;
|
has_avx512cd = ebx & bit_AVX512CD;
|
||||||
has_sha = ebx & bit_SHA;
|
has_sha = ebx & bit_SHA;
|
||||||
has_pcommit = ebx & bit_PCOMMIT;
|
|
||||||
has_clflushopt = ebx & bit_CLFLUSHOPT;
|
has_clflushopt = ebx & bit_CLFLUSHOPT;
|
||||||
has_clwb = ebx & bit_CLWB;
|
has_clwb = ebx & bit_CLWB;
|
||||||
has_avx512dq = ebx & bit_AVX512DQ;
|
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 *avx512ifma = has_avx512ifma ? " -mavx512ifma" : " -mno-avx512ifma";
|
||||||
const char *avx512vbmi = has_avx512vbmi ? " -mavx512vbmi" : " -mno-avx512vbmi";
|
const char *avx512vbmi = has_avx512vbmi ? " -mavx512vbmi" : " -mno-avx512vbmi";
|
||||||
const char *clwb = has_clwb ? " -mclwb" : " -mno-clwb";
|
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 *mwaitx = has_mwaitx ? " -mmwaitx" : " -mno-mwaitx";
|
||||||
const char *clzero = has_clzero ? " -mclzero" : " -mno-clzero";
|
const char *clzero = has_clzero ? " -mclzero" : " -mno-clzero";
|
||||||
const char *pku = has_pku ? " -mpku" : " -mno-pku";
|
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,
|
fxsr, xsave, xsaveopt, avx512f, avx512er,
|
||||||
avx512cd, avx512pf, prefetchwt1, clflushopt,
|
avx512cd, avx512pf, prefetchwt1, clflushopt,
|
||||||
xsavec, xsaves, avx512dq, avx512bw, avx512vl,
|
xsavec, xsaves, avx512dq, avx512bw, avx512vl,
|
||||||
avx512ifma, avx512vbmi, clwb, pcommit, mwaitx,
|
avx512ifma, avx512vbmi, clwb, mwaitx,
|
||||||
clzero, pku, NULL);
|
clzero, pku, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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_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)
|
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. */
|
/* 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_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)
|
BDESC (OPTION_MASK_ISA_PKU, CODE_FOR_wrpkru, "__builtin_ia32_wrpkru", IX86_BUILTIN_WRPKRU, UNKNOWN, (int) VOID_FTYPE_UNSIGNED)
|
||||||
|
|
|
||||||
|
|
@ -433,8 +433,6 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
|
||||||
def_or_undef (parse_in, "__XSAVES__");
|
def_or_undef (parse_in, "__XSAVES__");
|
||||||
if (isa_flag & OPTION_MASK_ISA_MPX)
|
if (isa_flag & OPTION_MASK_ISA_MPX)
|
||||||
def_or_undef (parse_in, "__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)
|
if (isa_flag & OPTION_MASK_ISA_CLWB)
|
||||||
def_or_undef (parse_in, "__CLWB__");
|
def_or_undef (parse_in, "__CLWB__");
|
||||||
if (isa_flag & OPTION_MASK_ISA_MWAITX)
|
if (isa_flag & OPTION_MASK_ISA_MWAITX)
|
||||||
|
|
|
||||||
|
|
@ -4212,7 +4212,6 @@ ix86_target_string (HOST_WIDE_INT isa, int flags, int ix86_flags,
|
||||||
{ "-mxsaves", OPTION_MASK_ISA_XSAVES },
|
{ "-mxsaves", OPTION_MASK_ISA_XSAVES },
|
||||||
{ "-mmpx", OPTION_MASK_ISA_MPX },
|
{ "-mmpx", OPTION_MASK_ISA_MPX },
|
||||||
{ "-mclwb", OPTION_MASK_ISA_CLWB },
|
{ "-mclwb", OPTION_MASK_ISA_CLWB },
|
||||||
{ "-mpcommit", OPTION_MASK_ISA_PCOMMIT },
|
|
||||||
{ "-mmwaitx", OPTION_MASK_ISA_MWAITX },
|
{ "-mmwaitx", OPTION_MASK_ISA_MWAITX },
|
||||||
{ "-mclzero", OPTION_MASK_ISA_CLZERO },
|
{ "-mclzero", OPTION_MASK_ISA_CLZERO },
|
||||||
{ "-mpku", OPTION_MASK_ISA_PKU },
|
{ "-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_AVX512IFMA (HOST_WIDE_INT_1 << 53)
|
||||||
#define PTA_AVX512VBMI (HOST_WIDE_INT_1 << 54)
|
#define PTA_AVX512VBMI (HOST_WIDE_INT_1 << 54)
|
||||||
#define PTA_CLWB (HOST_WIDE_INT_1 << 55)
|
#define PTA_CLWB (HOST_WIDE_INT_1 << 55)
|
||||||
#define PTA_PCOMMIT (HOST_WIDE_INT_1 << 56)
|
#define PTA_MWAITX (HOST_WIDE_INT_1 << 56)
|
||||||
#define PTA_MWAITX (HOST_WIDE_INT_1 << 57)
|
#define PTA_CLZERO (HOST_WIDE_INT_1 << 57)
|
||||||
#define PTA_CLZERO (HOST_WIDE_INT_1 << 58)
|
#define PTA_NO_80387 (HOST_WIDE_INT_1 << 58)
|
||||||
#define PTA_NO_80387 (HOST_WIDE_INT_1 << 59)
|
#define PTA_PKU (HOST_WIDE_INT_1 << 59)
|
||||||
#define PTA_PKU (HOST_WIDE_INT_1 << 60)
|
|
||||||
|
|
||||||
#define PTA_CORE2 \
|
#define PTA_CORE2 \
|
||||||
(PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3 \
|
(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
|
if (processor_alias_table[i].flags & PTA_PREFETCHWT1
|
||||||
&& !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PREFETCHWT1))
|
&& !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PREFETCHWT1))
|
||||||
opts->x_ix86_isa_flags |= 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
|
if (processor_alias_table[i].flags & PTA_CLWB
|
||||||
&& !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_CLWB))
|
&& !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_CLWB))
|
||||||
opts->x_ix86_isa_flags |= 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 ("avx512vbmi", OPT_mavx512vbmi),
|
||||||
IX86_ATTR_ISA ("avx512ifma", OPT_mavx512ifma),
|
IX86_ATTR_ISA ("avx512ifma", OPT_mavx512ifma),
|
||||||
IX86_ATTR_ISA ("clwb", OPT_mclwb),
|
IX86_ATTR_ISA ("clwb", OPT_mclwb),
|
||||||
IX86_ATTR_ISA ("pcommit", OPT_mpcommit),
|
|
||||||
IX86_ATTR_ISA ("mwaitx", OPT_mmwaitx),
|
IX86_ATTR_ISA ("mwaitx", OPT_mmwaitx),
|
||||||
IX86_ATTR_ISA ("clzero", OPT_mclzero),
|
IX86_ATTR_ISA ("clzero", OPT_mclzero),
|
||||||
IX86_ATTR_ISA ("pku", OPT_mpku),
|
IX86_ATTR_ISA ("pku", OPT_mpku),
|
||||||
|
|
|
||||||
|
|
@ -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_PREFETCHWT1_P(x) TARGET_ISA_PREFETCHWT1_P(x)
|
||||||
#define TARGET_MPX TARGET_ISA_MPX
|
#define TARGET_MPX TARGET_ISA_MPX
|
||||||
#define TARGET_MPX_P(x) TARGET_ISA_MPX_P(x)
|
#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 TARGET_ISA_CLWB
|
||||||
#define TARGET_CLWB_P(x) TARGET_ISA_CLWB_P(x)
|
#define TARGET_CLWB_P(x) TARGET_ISA_CLWB_P(x)
|
||||||
#define TARGET_MWAITX TARGET_ISA_MWAITX
|
#define TARGET_MWAITX TARGET_ISA_MWAITX
|
||||||
|
|
|
||||||
|
|
@ -259,9 +259,6 @@
|
||||||
;; For CLWB support
|
;; For CLWB support
|
||||||
UNSPECV_CLWB
|
UNSPECV_CLWB
|
||||||
|
|
||||||
;; For PCOMMIT support
|
|
||||||
UNSPECV_PCOMMIT
|
|
||||||
|
|
||||||
;; For CLFLUSHOPT support
|
;; For CLFLUSHOPT support
|
||||||
UNSPECV_CLFLUSHOPT
|
UNSPECV_CLFLUSHOPT
|
||||||
|
|
||||||
|
|
@ -19369,13 +19366,6 @@
|
||||||
[(set_attr "type" "other")
|
[(set_attr "type" "other")
|
||||||
(set_attr "length" "3")])
|
(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"
|
(define_insn "clwb"
|
||||||
[(unspec_volatile [(match_operand 0 "address_operand" "p")]
|
[(unspec_volatile [(match_operand 0 "address_operand" "p")]
|
||||||
UNSPECV_CLWB)]
|
UNSPECV_CLWB)]
|
||||||
|
|
|
||||||
|
|
@ -752,8 +752,8 @@ Target Report Mask(ISA_CLWB) Var(ix86_isa_flags) Save
|
||||||
Support CLWB instruction.
|
Support CLWB instruction.
|
||||||
|
|
||||||
mpcommit
|
mpcommit
|
||||||
Target Report Mask(ISA_PCOMMIT) Var(ix86_isa_flags) Save
|
Target Undocumented Warn(%<-mpcommit%> was deprecated)
|
||||||
Support PCOMMIT instruction.
|
;; Deprecated
|
||||||
|
|
||||||
mfxsr
|
mfxsr
|
||||||
Target Report Mask(ISA_FXSR) Var(ix86_isa_flags) Save
|
Target Report Mask(ISA_FXSR) Var(ix86_isa_flags) Save
|
||||||
|
|
|
||||||
|
|
@ -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 */
|
|
||||||
|
|
@ -83,8 +83,6 @@
|
||||||
|
|
||||||
#include <clwbintrin.h>
|
#include <clwbintrin.h>
|
||||||
|
|
||||||
#include <pcommitintrin.h>
|
|
||||||
|
|
||||||
#include <clflushoptintrin.h>
|
#include <clflushoptintrin.h>
|
||||||
|
|
||||||
#include <xsavesintrin.h>
|
#include <xsavesintrin.h>
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,13 @@
|
||||||
|
2016-10-05 Andrew Senkevich <andrew.senkevich@intel.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2016-10-05 Uros Bizjak <ubizjak@gmail.com>
|
2016-10-05 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
* gcc.target/i386/pr77833.c: Require int128 effective target.
|
* gcc.target/i386/pr77833.c: Require int128 effective target.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
|
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
|
||||||
/* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
|
/* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mmwaitx -mclzero -mpku" } */
|
||||||
|
|
||||||
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
|
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
|
||||||
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
|
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
|
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
|
||||||
/* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
|
/* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mmwaitx -mclzero -mpku" } */
|
||||||
|
|
||||||
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
|
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
|
||||||
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
|
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
/* { dg-do compile } */
|
|
||||||
/* { dg-options "-O2 -mpcommit" } */
|
|
||||||
/* { dg-final { scan-assembler "pcommit" } } */
|
|
||||||
|
|
||||||
#include "x86intrin.h"
|
|
||||||
|
|
||||||
void
|
|
||||||
test_pcommit ()
|
|
||||||
{
|
|
||||||
_mm_pcommit ();
|
|
||||||
}
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
popcntintrin.h and mm_malloc.h are usable
|
popcntintrin.h and mm_malloc.h are usable
|
||||||
with -O -std=c89 -pedantic-errors. */
|
with -O -std=c89 -pedantic-errors. */
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512bw -mavx512dq -mavx512vl -mavx512vbmi -mavx512ifma -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
|
/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512bw -mavx512dq -mavx512vl -mavx512vbmi -mavx512ifma -mclwb -mmwaitx -mclzero -mpku" } */
|
||||||
|
|
||||||
#include <x86intrin.h>
|
#include <x86intrin.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512vl -mavx512dq -mavx512bw -mavx512vbmi -mavx512ifma -mclwb -mpcommit -mmwaitx -mclzero -mpku" } */
|
/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512vl -mavx512dq -mavx512bw -mavx512vbmi -mavx512ifma -mclwb -mmwaitx -mclzero -mpku" } */
|
||||||
/* { dg-add-options bind_pic_locally } */
|
/* { dg-add-options bind_pic_locally } */
|
||||||
|
|
||||||
#include <mm_malloc.h>
|
#include <mm_malloc.h>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mpcommit -mmwaitx -mclzero" } */
|
/* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mclwb -mmwaitx -mclzero" } */
|
||||||
/* { dg-add-options bind_pic_locally } */
|
/* { dg-add-options bind_pic_locally } */
|
||||||
|
|
||||||
#include <mm_malloc.h>
|
#include <mm_malloc.h>
|
||||||
|
|
|
||||||
|
|
@ -699,7 +699,7 @@ test_2 (_mm_clmulepi64_si128, __m128i, __m128i, __m128i, 1)
|
||||||
|
|
||||||
/* x86intrin.h (FMA4/XOP/LWP/BMI/BMI2/TBM/LZCNT/FMA). */
|
/* x86intrin.h (FMA4/XOP/LWP/BMI/BMI2/TBM/LZCNT/FMA). */
|
||||||
#ifdef DIFFERENT_PRAGMAS
|
#ifdef DIFFERENT_PRAGMAS
|
||||||
#pragma GCC target ("fma4,xop,lwp,bmi,bmi2,tbm,lzcnt,fma,rdseed,prfchw,adx,fxsr,xsaveopt,xsavec,xsaves,clflushopt,clwb,pcommit,pku")
|
#pragma GCC target ("fma4,xop,lwp,bmi,bmi2,tbm,lzcnt,fma,rdseed,prfchw,adx,fxsr,xsaveopt,xsavec,xsaves,clflushopt,clwb,pku")
|
||||||
#endif
|
#endif
|
||||||
#include <x86intrin.h>
|
#include <x86intrin.h>
|
||||||
/* xopintrin.h */
|
/* xopintrin.h */
|
||||||
|
|
|
||||||
|
|
@ -594,6 +594,6 @@
|
||||||
#define __builtin_ia32_extracti64x2_256_mask(A, E, C, D) __builtin_ia32_extracti64x2_256_mask(A, 1, C, D)
|
#define __builtin_ia32_extracti64x2_256_mask(A, E, C, D) __builtin_ia32_extracti64x2_256_mask(A, 1, C, D)
|
||||||
#define __builtin_ia32_extractf64x2_256_mask(A, E, C, D) __builtin_ia32_extractf64x2_256_mask(A, 1, C, D)
|
#define __builtin_ia32_extractf64x2_256_mask(A, E, C, D) __builtin_ia32_extractf64x2_256_mask(A, 1, C, D)
|
||||||
|
|
||||||
#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,fma,rtm,rdseed,prfchw,adx,fxsr,xsaveopt,avx512f,avx512er,avx512cd,avx512pf,sha,prefetchwt1,xsavec,xsaves,clflushopt,avx512bw,avx512dq,avx512vl,avx512vbmi,avx512ifma,clwb,pcommit,mwaitx,clzero,pku")
|
#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,fma,rtm,rdseed,prfchw,adx,fxsr,xsaveopt,avx512f,avx512er,avx512cd,avx512pf,sha,prefetchwt1,xsavec,xsaves,clflushopt,avx512bw,avx512dq,avx512vl,avx512vbmi,avx512ifma,clwb,mwaitx,clzero,pku")
|
||||||
|
|
||||||
#include <x86intrin.h>
|
#include <x86intrin.h>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue