background image

Vol. 1 13-7

MANAGING STATE USING THE XSAVE FEATURE SET

The x87 state component comprises bytes 23:0 and bytes 159:32. The SSE state component comprises 
bytes 31:24 and bytes 415:160. The XSAVE feature set does not use bytes 511:416; bytes 463:416 are reserved.
Section 13.7 through Section 13.9 provide details of how instructions in the XSAVE feature set use the legacy 
region of an XSAVE area.

13.4.2 XSAVE 

Header

The XSAVE header of an XSAVE area comprises the 64 bytes starting at offset 512 from the area’s base address:

Bytes 7:0 of the XSAVE header is a state-component bitmap (see Section 13.1) called XSTATE_BV. It 
identifies the state components in the XSAVE area.

Bytes 15:8 of the XSAVE header is a state-component bitmap called XCOMP_BV. It is used as follows:
— XCOMP_BV[63] indicates the format of the extended region of the XSAVE area (see Section 13.4.3). If it is 

clear, the standard format is used. If it is set, the compacted format is used; XCOMP_BV[62:0] provide 
format specifics as specified in Section 13.4.3.

— XCOMP_BV[63] determines which form of the XRSTOR instruction is used. If the bit is set, the compacted 

form is used; otherwise, the standard form is used. See Section 13.8.

Reserved

ST0/MM0

32

Reserved

ST1/MM1

48

Reserved

ST2/MM2

64

Reserved

ST3/MM3

80

Reserved

ST4/MM4

96

Reserved

ST5/MM5

112

Reserved

ST6/MM6

128

Reserved

ST7/MM7

144

XMM0

160

XMM1

176

XMM2

192

XMM3

208

XMM4

224

XMM5

240

XMM6

256

XMM7

272

XMM8

288

XMM9

304

XMM10

320

XMM11

336

XMM12

352

XMM13

368

XMM14

384

XMM15

400

Table 13-1.  Format of the Legacy Region of an XSAVE Area (Contd.) (Contd.)

15 14

13  12

11 10

9

8

7

6

4

3

2

1

0