-1

Hi there I thought the minimum CPU requirements to run x86intrin.h is an intel 3th gen processor.

however when i run this code

_rdseed64_step(&temp2);

i get the following error

error: inlining failed in call to always_inline 'int _rdseed64_step(long long unsigned int*)': target specific option mismatch

_rdseed64_step (unsigned long long *__p)

I have set the flag to march=native and it only occurs when i am using my desktop, when i run on my laptop that is running a 6th gen processor it works fine.

albusSimba
  • 441
  • 4
  • 14
  • 1
    Please provide a [MCVE] and note your compiler and its version. – tambre Oct 01 '17 at 13:38
  • 1
    "Intel 3rd generation processor" is usually considered the Intel [386](https://en.wikipedia.org/wiki/Intel_80386) series (if not counting [186](https://en.wikipedia.org/wiki/Intel_80186), in which case the third is the [286](https://en.wikipedia.org/wiki/Intel_80286)). Don't you mean the 3rd generation [*Core*](https://en.wikipedia.org/wiki/Intel_Core) architecture (i.e. [Ivy Bridge](https://en.wikipedia.org/wiki/Ivy_Bridge_(microarchitecture)))? – Some programmer dude Oct 01 '17 at 13:43

1 Answers1

0

From Intel knowledge base:

The corresponding 4th Generation Intel® Core™ instruction is RDSEED.

So it looks like you can not use it on 3th gen processor.

user7860670
  • 35,849
  • 4
  • 58
  • 84
  • what's the equivalent of RDSEED for the 3th gen processor? – albusSimba Oct 01 '17 at 13:50
  • @albusSimba I guess there is no equivalent. You may want to perform a feature check prior to calling it. See [Intel® Digital Random Number Generator (DRNG) Software Implementation Guide](https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide) – user7860670 Oct 01 '17 at 13:57
  • @albusSimba: There's `rdrand` (IvyBridge and newer, and some AMD I think), but it doesn't provide as strong a guarantee. Using multiple `rdrand` results may not be suitable for seeding the state of a PRNG, at least in theory if it needs to be cryptographically secure. A PRNG with only 64 bits or less of state can be safely seeded by `rdrand`, though. – Peter Cordes Oct 01 '17 at 18:57