Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Intrinsics that Generate Random Numbers of 16/32/64 Bit Wide Random Integers

To use these intrinsics, include the immintrin.h file as follows:

#include <immintrin.h>

RDRAND

There are three intrinsics returning a hardware-generated random value.

These intrinsics are mapped to a single RDRAND instruction. The exception is the intrinsic _rdrand64_step(), which is mapped to two 32-bit RDRAND instructions and several shift and conditional jump/move instructions on 32-bit platforms.

RDSEED

There are three intrinsics returning a hardware-generated random value.

These intrinsics are mapped to a code-sequence based on the RDSEED instruction. The result code depends on the context in which the intrinsics were used and on the target OS.