clang 20.0.0git
Macros | Functions
xsavecintrin.h File Reference

Go to the source code of this file.

Macros

#define __DEFAULT_FN_ATTRS   __attribute__((__always_inline__, __nodebug__, __target__("xsavec")))
 

Functions

static __inline__ void __DEFAULT_FN_ATTRS _xsavec (void *__p, unsigned long long __m)
 Performs a full or partial save of processor state to the memory at __p.
 

Macro Definition Documentation

◆ __DEFAULT_FN_ATTRS

#define __DEFAULT_FN_ATTRS   __attribute__((__always_inline__, __nodebug__, __target__("xsavec")))

Definition at line 18 of file xsavecintrin.h.

Function Documentation

◆ _xsavec()

static __inline__ void __DEFAULT_FN_ATTRS _xsavec ( void *  __p,
unsigned long long  __m 
)
static

Performs a full or partial save of processor state to the memory at __p.

The exact state saved depends on the 64-bit mask __m and processor control register XCR0.

mask[62:0] := __m[62:0] AND XCR0[62:0]
FOR i := 0 TO 62
IF mask[i] == 1
CASE (i) OF
0: save X87 FPU state
1: save SSE state
DEFAULT: __p.Ext_Save_Area[i] := ProcessorState[i]
FI
ENDFOR
__p.Header.XSTATE_BV[62:0] := INIT_FUNCTION(mask[62:0])

This intrinsic corresponds to the XSAVEC instruction.

Parameters
__pPointer to the save area; must be 64-byte aligned.
__mA 64-bit mask indicating what state should be saved.

Definition at line 46 of file xsavecintrin.h.

References __p.