3:164
Volume 3: Instruction Reference
lfetch
lfetch — Line Prefetch
Format:
(
qp
) lfetch.
lftype
.
lfhint
[
r
3
]
no_base_update_form
(
qp
) lfetch.
lftype
.
lfhint
[
r
3
],
r
2
reg_base_update_form
(
qp
) lfetch.
lftype
.
lfhint
[
r
3
],
imm
9
imm_base_update_form
(
qp
) lfetch.
lftype
.excl.
lfhint
[
r
3
]
no_base_update_form, exclusive_form
(
qp
) lfetch.
lftype
.excl.
lfhint
[
r
3
],
r
2
reg_base_update_form, exclusive_form
(
qp
) lfetch.
lftype
.excl.
lfhint
[
r
3
],
imm
9
imm_base_update_form, exclusive_form
Description:
The line containing the address specified by the value in GR
r
3
is moved to the highest
level of the data memory hierarchy. The value of the
lfhint
modifier specifies the locality
of the memory access; see
Section 4.4, “Memory Access Instructions” on page 1:57
for
details. The mnemonic values of
lfhint
are given in
.
The behavior of the memory read is also determined by the memory attribute
associated with the accessed page. See
Chapter 4, “Addressing and Protection” in
. Line size is implementation dependent but must be a power of two greater
than or equal to 32 bytes. In the exclusive form, the cache line is allowed to be marked
in an exclusive state. This qualifier is used when the program expects soon to modify a
location in that line. If the memory attribute for the page containing the line is not
cacheable, then no reference is made.
The completer,
lftype
, specifies whether or not the instruction raises faults normally
associated with a regular load.
defines these two options.
In the base update forms, after being used to address memory, the value in GR
r
3
is
incremented by either the sign-extended value in
imm
9
(in the imm_base_update_form)
or the value in GR
r
2
(in the reg_base_update_form). In the reg_base_update_form, if
the NaT bit corresponding to GR
r
2
is set, then the NaT bit corresponding to GR
r
3
is set
– no fault is raised.
In the reg_base_update_form and the imm_base_update_form, if the NaT bit
corresponding to GR
r
3
is clear, then the address specified by the value in GR
r
3
after
the post-increment acts as a hint to implicitly prefetch the indicated cache line. This
implicit prefetch uses the locality hints specified by
lfhint
. The implicit prefetch does not
affect program functionality, does not raise any faults, and may be ignored by the
implementation.
In the no_base_update_form, the value in GR
r
3
is not modified and no implicit prefetch
hint is implied.
If the NaT bit corresponding to GR
r
3
is set then the state of memory is not affected. In
the reg_base_update_form and imm_base_update_form, the post increment of GR
r
3
is
performed and prefetch is hinted as described above.
lfetch
instructions, like hardware prefetches, are not orderable operations, i.e., they
have no order with respect to prior or subsequent memory operations.
Table 2-37.
lftype
Mnemonic Values
lftype
Mnemonic
Interpretation
none
No faults are raised
fault
Raise faults
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 ...