Hi again, Here is second patch which adds support of rdseed[16|32|64] insn.
Changelog entry: 2012-07-25 Kirill Yukhin <kirill.yuk...@intel.com> Michael Zolotukhin <michael.v.zolotuk...@intel.com> * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New. (OPTION_MASK_ISA_RDSEED_UNSET): Likewise. (ix86_handle_option): Handle mrdseed option. * config.gcc (i[34567]86-*-*): Add rdseedintrin.h. (x86_64-*-*): Likewise. * config/i386/prfchwintrin.h: New header. * config/i386/cpuid.h (bit_RDSEED): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect RDSEED support. * config/i386/i386-c.c: Define __RDSEED__ if needed. * config/i386/i386.c (ix86_target_string): Define -mrdseed option. (PTA_RDSEED): New. (ix86_option_override_internal): Handle new option. (ix86_valid_target_attribute_inner_p): Add OPT_mrdseed. (ix86_builtins): Add enum entries for RDSEED* builtins. (ix86_init_mmx_sse_builtins): Define new builtins. (ix86_expand_builtin): Expand RDSEED* builtins. * config/i386/i386.h (TARGET_RDSEED): New. * config/i386/i386.md (rdseed<mode>): New. * config/i386/i386.opt (mrdseed): New. * config/i386/x86intrin.h: Include rdseedintrin.h. tessuite/Changelog entry: 2012-07-24 Kirill Yukhin <kirill.yuk...@intel.com> Michael Zolotukhin <michael.v.zolotuk...@intel.com> * gcc.target/i386/rdseed16-1.c: New. * gcc.target/i386/rdseed32-1.c: Ditto * gcc.target/i386/rdseed64-1.c: Ditto * gcc.target/i386/sse-12.c: Add -mprfchw. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * g++.dg/other/i386-2.C: Ditto. * g++.dg/other/i386-3.C: Ditto. It was bootstrapped. New and updated tests passing. Is it OK for trunk? Thanks, K On Wed, Jul 25, 2012 at 5:03 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote: >>> Is it OK for trunk? >> >> OK. > > Thanks! > Checked in. > http://gcc.gnu.org/viewcvs?view=revision&revision=189844 > > Next I think would be rdseed* insns. > > Thanks, K
bdw-rdseed-1.gcc.patch
Description: Binary data