![Intel ITANIUM ARCHITECTURE Manual Download Page 520](http://html.mh-extra.com/html/intel/itanium-architecture/itanium-architecture_manual_2073403520.webp)
Volume 4: IA-32 SSE Instruction Reference
4:513
Three fields in the floating-point save area contain reserved bits that are not indicated
in the table:
• FOP: The lower 11-bits contain the opcode, upper 5-bits are reserved.
• IP & DP: 32-bit mode: 32-bit IP-offset.
• 16-bit mode: lower 16-bits are IP-offset and upper 16-bits are reserved.
The FXSAVE instruction is used when an operating system needs to perform a context
switch or when an exception handler needs to use the FP and MMX technology and SSE
units. It cannot be used by an application program to pass a “clean” FP state to a
procedure, since it retains the current state. An application must explicitly execute an
FINIT instruction after FXSAVE to provide for this functionality.
All of the x87-FP fields retain the same internal format as in FSAVE except for FTW.
Unlike FSAVE, FXSAVE saves only the FTW valid bits rather than the entire x87-FP FTW
field. The FTW bits are saved in a non-TOS relative order, which means that FR0 is
always saved first, followed by FR1, FR2 and so forth. As an example, if TOS=4 and
only ST0, ST1 and ST2 are valid, FSAVE saves the FTW field in the following format:
ST3
ST2
ST1
ST0
ST7
ST6
ST5
ST4 (TOS=4)
FR7
FR6
FR5
FR4
FR3
FR2
FR1
FR0
11
xx
xx
xx
11
11
11
11
where xx is one of (00, 01, 10). (11) indicates an empty stack elements, and the 00,
01, and 10 indicate Valid, Zero, and Special, respectively. In this example, FXSAVE
would save the following vector:
FR7
FR6
FR5
FR4
FR3
FR2
FR1
FR0
0
1
1
1
0
0
0
0
The FSAVE format for FTW can be recreated from the FTW valid bits and the stored
80-bit FP data (assuming the stored data was not the contents of MMX technology
registers) using the following table:
Reserved
416
Reserved
432
Reserved
448
Reserved
464
Reserved
480
Reserved
496
Exponent
all 1’s
Exponent
all 0’s
Fraction
all 0’s
J and M
bits
FTW valid bit
x87 FTW
0
0
0
0x
1
Special
10
0
0
0
1x
1
Valid
00
0
0
1
00
1
Special
10
0
0
1
10
1
Valid
00
0
1
0
0x
1
Special
10
0
1
0
1x
1
Special
10
0
1
1
00
1
Zero
01
0
1
1
10
1
Special
10
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Rsrvd
CS
IP
FOP
FTW
FSW
FCW
0
Summary of Contents for ITANIUM ARCHITECTURE
Page 1: ......
Page 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Page 604: ......