From d0b81ec0bfe4f407d69a65d0e72f01aa8d6ce302 Mon Sep 17 00:00:00 2001 From: tocarip Date: Fri, 21 Nov 2014 16:04:20 +0000 Subject: Add x86 pcommit instruction. gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET, OPTION_MASK_ISA_PCOMMIT_SET): New. (ix86_handle_option): Handle OPT_mpcommit. * config.gcc: Add pcommitintrin.h * config/i386/pcommitintrin.h: New file. * config/i386/cpuid.h (bit_PCOMMIT): Define. * config/i386/driver-i386.c (host_detect_local_cpu): Detect pcommit. * config/i386/i386-c.c (ix86_target_macros_internal): Define __PCOMMIT__. * config/i386/i386.c (ix86_target_string): Add -mpcommit. (PTA_PCOMMIT): Define. (ix86_option_override_internal): Handle new option. (ix86_valid_target_attribute_inner_p): Add pcommit. (ix86_builtins): Add IX86_BUILTIN_PCOMMIT. (bdesc_special_args): Add __builtin_ia32_pcommit. * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Define. * config/i386/i386.md (unspecv): Add UNSPECV_PCOMMIT. (pcommit): New instruction. * config/i386/i386.opt: Add mpcommit. * config/i386/x86intrin.h: Include pcommitintrin.h. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mpcommit. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/pcommit-1.c: New test. * gcc.target/i386/sse-12.c: Add new options. * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217935 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/i386/i386.opt | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/config/i386/i386.opt') diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt index 2c7ca21224c..b1c63198973 100644 --- a/gcc/config/i386/i386.opt +++ b/gcc/config/i386/i386.opt @@ -725,6 +725,10 @@ mclwb 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 + mfxsr Target Report Mask(ISA_FXSR) Var(ix86_isa_flags) Save Support FXSAVE and FXRSTOR instructions -- cgit v1.2.1