Sorry, here is the right patch(previous one had a typo). Changelog is right.


-----Original Message-----
From: Koval, Julia 
Sent: Thursday, February 16, 2017 11:31 PM
To: 'Uros Bizjak' <ubiz...@gmail.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>
Subject: RE: [PATCH] Enable RDPID instruction.

Sorry, fixed it.

gcc/
        * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
        (OPTION_MASK_ISA_PKU_UNSET): New.
        (ix86_handle_option): Handle -mrdpid.
        * config/i386/cpuid.h
        (bit_RDPID): New.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect RDPID 
feature.
        * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
        * config/i386/i386-c.c (ix86_target_macros_internal): Handle RDPID flag.
        * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
        (ix86_valid_target_attribute_inner_p): Add "rdpid".
        (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
        * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
        * config/i386/i386.md (define_insn "rdpid"): New.
        * config/i386/i386.opt Add -mrdpid.
        * config/i386/immintrin.h (_rdpid_u32): New.

gcc/testsuite/
        * gcc.target/i386/rdpid.c New test.
        * gcc.target/i386/sse-12.c: Add -mrdpid.
        * 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.
        * g++.dg/other/i386-3.C: Ditto.

Julia

-----Original Message-----
From: Uros Bizjak [mailto:ubiz...@gmail.com]
Sent: Thursday, February 16, 2017 9:33 AM
To: Koval, Julia <julia.ko...@intel.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] Enable RDPID instruction.

On Wed, Feb 15, 2017 at 3:09 PM, Koval, Julia <julia.ko...@intel.com> wrote:
> Hi,
>
> This patch enables RDPID intrinsic, described in SDM 4-534 Vol. 2B 
> https://software.intel.com/sites/default/files/managed/39/c5/325462-sd
> m-vol-1-2abcd-3abcd.pdf
> and intrinsic guide:
> https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=rdp
> i&expand=2778,2777,4219
>
> gcc/
>         * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
>         (OPTION_MASK_ISA_PKU_UNSET): New.
>         (ix86_handle_option): Handle -mrdpid.
>         * config/i386/cpuid.h
>         (bit_RDPID): New.
>         * config/i386/driver-i386.c (host_detect_local_cpu): Detect RDPID 
> feature.
>         * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
>         * config/i386/i386-c.c (ix86_target_macros_internal): Handle RDPID 
> flag.
>         * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
>         (ix86_valid_target_attribute_inner_p): Add "rdpid".
>         (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
>         * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
>         * config/i386/i386.md (define_insn "rdpid"): New.
>         * config/i386/i386.opt Add -mrdpid.
>         * config/i386/immintrin.h (_rdpid_u32): New.
>         * testsuite/gcc.target/i386/rdpid.c New test.
>
> Ok for trunk?

This patch is missing testsuite changes. Additions to intrinsic headers need to 
update relevant tests, please see [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00764.html

Uros.

Attachment: 0001-RDPID.PATCH
Description: 0001-RDPID.PATCH

Reply via email to