Microsoft のx64 (amd64) Intrinsics Listによると、Microsoft は RDRAND の組み込みを提供しています。
_rdrand16_step
_rdrand32_step
_rdrand64_step
ただし、このページでは、組み込みの可用性の検出については説明していません。[2]の脚注がありますが、Intel CPU でのみ利用可能であると書かれています。
2 つの質問があります。まず、組み込み関数の可用性をどのように検出できますか。つまり、 say の呼び出しを保護するためにどのプリプロセッサ マクロを使用すればよいかということ_rdrand64_step
です。
次に、AMD CPU で RDRAND にアクセスするにはどうすればよいですか。AMD のマニュアルによると、AMD も提供しています。
(さらにユーモラスなことに、Microsoft はページに amd64 Intrinsic List というタイトルを付けています。AMD を含まないのに、なぜ AMD64 Intrinsic List と呼ぶのですか???)
AMD および RDRAND 命令については、AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructionsの 278 ページを参照してください。