The Intel® C++ Compiler provides 12 intrinsics for managing the extended processor states and extended registers. These intrinsics are available for the IA-32 and Intel® 64 architectures running on Windows*, Linux*, and Mac OS* X operating systems.
The prototypes for these intrinsics are available in the immintrin.h file.
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" (http://software.intel.com/en-us/avx/).
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 MCSRS 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 MCSRS registers. These intrinsics map to XSAVE, XSAVE64, XSAVEOPT, XSAVEOPT64, XRSTOR, and XRSTOR64 instructions.
Copyright © 1996-2010, Intel Corporation. All rights reserved.