[PATCH] Enable RDPID instruction.

Uros Bizjak ubizjak@gmail.com
Thu Feb 16 08:46:00 GMT 2017


On Wed, Feb 15, 2017 at 3:09 PM, Koval, Julia <julia.koval@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-sdm-vol-1-2abcd-3abcd.pdf
> and intrinsic guide:
> https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=rdpi&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.



More information about the Gcc-patches mailing list