This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH 1/3] Add PTWRITE builtins for x86


I have rebased this patch to the latest trunk and addressed comments. Also, there was a test in changelog,
but not in the patch itself - this has been added.

Is it ok for trunk and backport to GCC-8 after few days?

gcc/

        * common/config/i386/i386-common.c (OPTION_MASK_ISA_PTWRITE_SET,
        OPTION_MASK_ISA_PTWRITE_UNSET): New.
        (ix86_handle_option): Handle OPT_mptwrite.
        * config/i386/cpuid.h (bit_PTWRITE): Add.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        PTWRITE CPUID.
        * config/i386/i386-builtin.def (PTWRITE): Add PTWRITE.
        * config/i386/i386-c.c (ix86_target_macros_internal):
        Support __PTWRITE__.
        * config/i386/i386.c (ix86_target_string): Add -mptwrite.
        (ix86_valid_target_attribute_inner_p): Support ptwrite.
        (ix86_init_mmx_sse_builtins): Add edges detection for ptwrites
        generated by vartrace.
        * config/i386/i386.h (TARGET_PTWRITE): Add.
        (TARGET_PTWRITE_P): Add.
        * config/i386/i386.md: Add ptwrite.
        * config/i386/i386.opt: Add -mptwrite.
        * config/i386/immintrin.h (target):
        (_ptwrite64): Add.
        (_ptwrite32): Add.
        * doc/extend.texi: Document ptwrite builtins.
        * doc/invoke.texi: Document -mptwrite.

gcc/testsuite/

        * gcc.target/i386/ptwrite-1.c: New test.

Sebastian


> -----Original Message-----
> From: gcc-patches-owner@gcc.gnu.org [mailto:gcc-patches-
> owner@gcc.gnu.org] On Behalf Of Andi Kleen
> Sent: Monday, February 12, 2018 3:53 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Metzger, Markus T <markus.t.metzger@intel.com>; ubizjak@gmail.com;
> Andi Kleen <ak@linux.intel.com>
> Subject: [PATCH 1/3] Add PTWRITE builtins for x86
> 
> From: Andi Kleen <ak@linux.intel.com>
> 
> Add builtins/intrinsics for PTWRITE. PTWRITE is a new instruction on Intel Cherry
> Trail that allows to write values into the Processor Trace log.
> 
> This is fairly straight forward, except I had to add isa2 support for variable
> number of operands.
> 
> gcc/:
> 
> 2018-02-10  Andi Kleen  <ak@linux.intel.com>
> 
> 	* common/config/i386/i386-common.c
> (OPTION_MASK_ISA_PTWRITE_SET):
> 	(OPTION_MASK_ISA_PTWRITE_UNSET): New.
> 	(ix86_handle_option): Handle OPT_mptwrite.
> 	* config/i386/cpuid.h (bit_PTWRITE): Add.
> 	* config/i386/driver-i386.c (host_detect_local_cpu): Detect
> 	PTWRITE CPUID.
> 	* config/i386/i386-builtin.def (PTWRITE): Add PTWRITE.
> 	* config/i386/i386-c.c (ix86_target_macros_internal):
> 	Support __PTWRITE__.
> 	* config/i386/i386.c (ix86_target_string): Add -mptwrite.
> 	(ix86_valid_target_attribute_inner_p): Support ptwrite.
> 	(BDESC_VERIFYS): Verify SPECIAL_ARGS2.
> 	(ix86_init_mmx_sse_builtins): Handle special args2.
> 	* config/i386/i386.h (TARGET_PTWRITE): Add.
> 	(TARGET_PTWRITE_P): Add.
> 	* config/i386/i386.md: Add ptwrite.
> 	* config/i386/i386.opt: Add -mptwrite.
> 	* config/i386/immintrin.h (target):
> 	(_ptwrite_u64): Add.
> 	(_ptwrite_u32): Add.
> 	* doc/extend.texi: Document ptwrite builtins.
> 	* doc/invoke.texi: Document -mptwrite.
> 
> gcc/testsuite/:
> 
> 2018-02-10  Andi Kleen  <ak@linux.intel.com>
> 
> 	* gcc.target/i386/ptwrite1.c: New test.
> 	* gcc.target/i386/ptwrite2.c: New test.

Attachment: 0001-PTWRITE-intrinsics.patch
Description: 0001-PTWRITE-intrinsics.patch


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]