3:152
Volume 3: Instruction Reference
ld
For more details on ordered, biased, speculative, advanced and check loads see
Section 4.4.4, “Control Speculation” on page 1:60
and
. For more details on ordered loads see
“Memory Access Ordering” on page 1:73
. See
Section 4.4.6, “Memory Hierarchy
Control and Consistency” on page 1:69
for details on biased loads. Details on memory
attributes are described in
Section 4.4, “Memory Attributes” on page 2:75
.
For the non-speculative load types, if NaT bit associated with GR
r
3
is 1, a Register NaT
Consumption fault is taken. For speculative and speculative advanced loads, no fault is
raised, and the exception is deferred. For the base-update calculation, if the NaT bit
associated with GR
r
2
is 1, the NaT bit associated with GR
r
3
is set to 1 and no fault is
raised.
The value of the
ldhint
completer specifies the locality of the memory access. The values
of the
ldhint
completer are given in
. A prefetch hint is implied in the base
update forms. The address specified by the value in GR
r
3
after the base update acts as
a hint to prefetch the indicated cache line. This prefetch uses the locality hints specified
by
ldhint
. Prefetch and locality hints do not affect program functionality and may be
ignored by the implementation. See
Section 4.4.6, “Memory Hierarchy Control and
for details.
sa
Speculative
Advanced load
An entry is added to the ALAT, and certain exceptions may be deferred.
Deferral causes the target register’s NaT bit to be set, and the
processor ensures that no ALAT entry exists for the target register. The
absence of an ALAT entry is later used to detect deferral or collision.
c.nc
Check load
– no clear
The ALAT is searched for a matching entry. If found, no load is done
and the target register is unchanged. Regardless of ALAT hit or miss,
base register updates are performed, if specified. An implementation
may optionally cause the ALAT lookup to fail independent of whether an
ALAT entry matches. If not found, a load is performed, and an entry is
added to the ALAT (unless the referenced data page has a
non-speculative attribute, in which case no ALAT entry is allocated).
c.clr
Check load
– clear
The ALAT is searched for a matching entry. If found, the entry is
removed, no load is done and the target register is unchanged.
Regardless of ALAT hit or miss, base register updates are performed, if
specified. An implementation may optionally cause the ALAT lookup to
fail independent of whether an ALAT entry matches. If not found, a clear
check load behaves like a normal load.
c.clr.acq
Ordered check load
– clear
This type behaves the same as the unordered clear form, except that
the ALAT lookup (and resulting load, if no ALAT entry is found) is
performed with acquire semantics.
acq
Ordered load
An ordered load is performed with acquire semantics.
bias
Biased load
A hint is provided to the implementation to acquire exclusive ownership
of the accessed cache line.
Table 2-34. Load Hints
ldhint
Completer
Interpretation
none
Temporal locality, level 1
Table 2-33.
Load Types (Continued)
ldtype
Completer
Interpretation
Special Load Operation
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...