Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1815

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

15
14
Rsrvd
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
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
FR7
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
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:
Exponent
all 1's
0
0
0
0
0
0
0
0
Volume 4: IA-32 SSE Instruction Reference
13
12
11
10
9
CS
IP
ST2
ST1
ST0
FR6
FR5
FR4
xx
xx
xx
FR6
FR5
FR4
1
1
1
Exponent
Fraction
all 0's
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
8
7
6
5
4
FOP
FTW
ST7
ST6
ST5
FR3
FR2
FR1
11
11
11
FR3
FR2
FR1
0
0
0
J and M
all 0's
bits
0x
1x
00
10
0x
1x
00
10
3
2
1
0
FSW
FCW
ST4 (TOS=4)
FR0
11
FR0
0
FTW valid bit
x87 FTW
1
Special
1
Valid
1
Special
1
Valid
1
Special
1
Special
1
Zero
1
Special
0
416
432
448
464
480
496
10
00
10
00
10
10
01
10
4:513

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents