Processors
Intel® Processors, Tools, and Utilities
14537 Discussions

i7-4960x rdrand instruction fails

em3
Beginner
1,746 Views

 

I found documentation that states rdrand is supported on this processor, but the following routine fails continuously with RAX and CF being zeroed.

top:

rdrand rax

jnc top

ret

If it wasn't supported I would think I would get an Invalid Instruction exception and/or it wouldn't zap RAX.

I went all through the BIOS, only function that could be disabled was Virtualizatoin(which is enabled).

Is something needed to enable rdrand?

thanks,

0 Kudos
2 Replies
Allan_J_Intel1
Employee
511 Views

Thanks for joining the community.

If you are software developer, I would highly recommend you engage the software developer forum for issues with rdrand. There is a lot of expertise in the community for working with issues like you are experiencing.

http://software.intel.com/en-us/tags/20757 http://software.intel.com/en-us/tags/20757

Allan.

0 Kudos
em3
Beginner
511 Views

I ran the CPUID command and bit 30 was OFF, so, I guess they disabled this function on Extreme Edition processors.

I tried it on a Haswell i7-4770K and it worked fine.

EDIT: Oops, I was looking at wrong register, when setting EAX=1, then issuing CPUID, ECX was returned as x7FBEE3BF on the i7-4960x and bit 30 is on. This means that the i7-4960x DOES support rdrand and there is no explanation for it failing to return a hardware generated random number.

I will try the software forums as suggested.

0 Kudos
Reply