Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public
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.