
1:140
Volume 1, Part 2: Introduction to Programming for the Intel
®
Itanium
®
Architecture
There are 64, one-bit
predicate registers
(
p0-p63
) that control conditional execution
of instructions and conditional branches. The first register,
p0
, is read-only and always
reads true (1). The results of instructions that write to
p0
are discarded.
There are 8, 64-bit
branch
registers
(
b0-b7
) that are used to specify the target
addresses of indirect branches.
There is space for up to 128
application registers
(
ar0-ar127
) that support various
functions. Many of these register slots are reserved for future use. Some application
registers have assembler aliases. For example,
ar66
is the Epilogue Counter and is
called
ar.ec
.
The
instruction pointer
is a 64-bit register that points to the currently executing
instruction bundle.
2.3
Using Intel
®
Itanium
®
Instructions
Itanium instructions are grouped into 128-bit
bundles
of three instructions. Each
instruction occupies the first, second, or third
slot
of a bundle. Instruction format,
expression of parallelism, and bundle specification are described below.
2.3.1
Format
A basic Itanium instruction has the following syntax:
[
qp
]
mnemonic
[.
comp
]
dest
=
srcs
Where:
qp
Specifies a qualifying predicate register. The value of the qualifying
predicate determines whether the results of the instruction are committed
in hardware or discarded. When the value of the predicate register is true
(1), the instruction executes, its results are committed, and any
exceptions that occur are handled as usual. When the value is false (0),
the results are not committed and no exceptions are raised. Most Itanium
instructions can be accompanied by a qualifying predicate.
mnemonic
Specifies a name that uniquely identifies an Itanium instruction.
comp
Specifies one or more instruction completers. Completers indicate optional
variations on a base instruction mnemonic. Completers follow the
mnemonic and are separated by periods.
dest
Represents the destination operand(s), which is typically the result
value(s) produced by an instruction.
srcs
Represents the source operands. Most Itanium instructions have at least
two input source operands.
2.3.2
Expressing Parallelism
The Itanium architecture requires the compiler or assembly writer to explicitly indicate
groups of instructions, called
instruction groups
, that have no register read after write
(RAW) or write after write (WAW) register dependencies. Instruction groups are
delimited by
stops
in the assembly source code. Since instruction groups have no RAW
Содержание 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 ...