
Volume 1, Part 1: Application Programming Model
1:63
• The
st8.spill
may write a zero to the specified memory location, or
• The
st8.spill
may write the register’s 64-bit data portion to memory, only if that
implementation returns a zero into the target register of all NaTed speculative
loads, and that implementation also guarantees that all NaT propagating
instructions perform all computations as specified by the instruction pages.
Bits 8:3 of the memory address determine which bit in the UNAT register is written.
The
ld8.fill
instruction loads a general register from memory taking the
corresponding NaT bit from the bit in the UNAT register addressed by bits 8:3 of the
memory address. The UNAT register must be saved and restored by software. It is the
responsibility of software to ensure that the contents of the UNAT register are correct
while executing
st8.spill
and
ld8.fill
instructions.
The floating-point spill and fill instructions (
stf.spill
,
ldf.fill
) are defined to
save/restore a floating-point register (saved as 16 bytes) without surfacing an
exception if the FR contains a NaTVal (these instructions do not affect the UNAT
register).
The general and floating-point spill/fill instructions allow spilling/filling of registers that
are targets of a speculative instruction and may therefore contain a deferred exception
token. Note also that transfers between the general and floating-point register files
cause a conversion between the two deferred exception token formats.
lists the state relating to control speculation.
summarizes the
instructions related to control speculation.
4.4.5
Data Speculation
Just as control speculative loads and checks allow the compiler to schedule instructions
across control dependencies, data speculative loads and checks allow the compiler to
schedule instructions across some types of ambiguous data dependencies. This section
details the usage model and semantics of data speculation and related instructions.
Table 4-14.
State Related to Control Speculation
Register
Description
NaT bits
65th bit associated with each GR indicating a deferred exception
NaTVal
Pseudo-Zero encoding for FR indicating a deferred exception
UNAT
User NaT collection application register
Table 4-15.
Instructions Related to Control Speculation
Mnemonic
Operation
ld.s, ldf.s, ldfp.s
GR and FR speculative loads
ld8.fill, ldf.fill
Fill GR with NaT collection, fill FR
st8.spill, stf.spill
Spill GR with NaT collection, spill FR
chk.s
Test GR or FR for deferred exception token
tnat
Test GR NaT bit and set predicate
Содержание ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Страница 1: ......
Страница 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 12: ...1 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I Application Architecture Guide ...
Страница 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Страница 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Страница 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Страница 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Страница 230: ......
Страница 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 249: ...2 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I System Architecture Guide ...
Страница 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Страница 380: ...2 132 Volume 2 Part 1 Interruptions ...
Страница 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Страница 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Страница 749: ...2 501 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part II System Programmer s Guide ...
Страница 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Страница 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Страница 808: ...2 560 Volume 2 Part 2 Context Management ...
Страница 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Страница 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Страница 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Страница 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Страница 891: ......
Страница 941: ...3 42 Volume 3 Instruction Reference cmp illegal_operation_fault PR p1 0 PR p2 0 Interruptions Illegal Operation fault ...
Страница 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Страница 1191: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Страница 1296: ......
Страница 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 1564: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1565: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1568: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1583: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 1663: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 1668: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...