Visible to Intel only — GUID: GUID-65514A83-C0F0-42EC-A361-1435FE006BD1
Visible to Intel only — GUID: GUID-65514A83-C0F0-42EC-A361-1435FE006BD1
Intrinsics for Managing Extended Processor States and Registers
The Intel® C++ Compiler Classic provides twelve intrinsics for managing the extended processor states and extended registers. These intrinsics are available for IA-32 and Intel® 64 architectures running on supported operating systems.
To use these intrinsics, include the immintrin.h file as follows:
#include <immintrin.h>
The intrinsics map directly to the hardware system instructions described in "Intel® 64 and IA-32 Architectures Software Developer's Manual, volumes 1, 2a, and 2b" and "Intel® Advanced Vector Extensions Programming Reference".
The intrinsics for managing the extended processor states and extended registers include:
Two intrinsics to read from and write to the specified extended control register. These intrinsics map to XGETBV and XSETBV instructions.
Four intrinsics to save and restore the current state of the x87 FPU, MMX, XMM, and MXCSR registers. These intrinsics map to FXSAVE, FXSAVE64, FXRSTOR, and FXRSTOR64 instructions.
Six intrinsics to save and restore the current state of the x87 FPU, MMX, XMM, YMM, and MXCSR registers. These intrinsics map to XSAVE, XSAVE64, XSAVEOPT, XSAVEOPT64, XRSTOR, and XRSTOR64 instructions.