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.
0001-RDPID.patch
Description: 0001-RDPID.patch