
Volume 3: Instruction Reference
3:251
st
st — Store
Format:
(
qp
) st
sz
.
sttype
.
sthint
[
r
3
] =
r
2
normal_form, no_base_update_form
(
qp
) st
sz
.
sttype
.
sthint
[
r
3
] =
r
2
,
imm
9
normal_form, imm_base_update_form
(
qp
) st16.
sttype
.
sthint
[
r
3
] =
r
2
, ar.csd
sixteen_byte_form, no_base_update_form
(
qp
) st8.spill.
sthint
[
r
3
] =
r
2
spill_form, no_base_update_form
(
qp
) st8.spill.
sthint
[
r
3
] =
r
2
,
imm
9
spill_form, imm_base_update_form
Description:
A value consisting of the least significant
sz
bytes of the value in GR
r
2
is written to
memory starting at the address specified by the value in GR
r
3
. The values of the
sz
completer are given in
sttype
completer specifies special
store operations, which are described in
. If the NaT bit corresponding to GR
r
3
is 1, or in sixteen_byte_form or normal_form, if the NaT bit corresponding to GR
r
2
is
1, a Register NaT Consumption fault is taken.
In the sixteen_byte_form, two 8-byte values are stored as a single, 16-byte atomic
memory write. The value in GR
r
2
is written to memory starting at the address specified
by the value in GR
r
3
. The value in the Compare and Store Data application register
(AR[CSD]) is written to memory starting at the address specified by the value in GR
r
3
plus 8.
In the spill_form, an 8-byte value is stored, and the NaT bit corresponding to GR
r
2
is
copied to a bit in the UNAT application register. This instruction is used for spilling a
register/NaT pair. See
Section 4.4.4, “Control Speculation” on page 1:60
for details.
In the imm_base_update form, the value in GR
r
3
is added to a signed immediate value
(
imm
9
) and the result is placed back in GR
r
3
. This base register update is done after the
store, and does not affect the store address, nor the value stored (for the case where
r
2
and
r
3
specify the same register). Base register update is not supported for the
st16
instruction.
For more details on ordered stores see
Section 4.4.7, “Memory Access Ordering” on
.
The ALAT is queried using the physical memory address and the access size, and all
overlapping entries are invalidated.
The value of the
sthint
completer specifies the locality of the memory access. The values
of the
sthint
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
sthint
. See
Section 4.4.6, “Memory Hierarchy Control and Consistency” on
.
Hardware support for
st16
instructions that reference a page that is neither a
cacheable page with write-back policy nor a NaTPage is optional. On processor models
that do not support such
st16
accesses, an Unsupported Data Reference fault is raised
when an unsupported reference is attempted.
Table 2-50.
Store Types
sttype
Completer
Interpretation
Special Store Operation
none
Normal store
rel
Ordered store
An ordered store is performed with release semantics.
Содержание 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 ...