
Volume 1, Part 1: Application Programming Model
1:81
4.6.2
Parallel Shifts
The parallel shift left instruction (
pshl
) individually shifts each element of the first
source by a count contained in either a general register or an immediate. The parallel
shift right instruction (
pshr
) performs an individual arithmetic right shift of each
element of one source by a count contained in either a general register or an
immediate. The
pshr.u
instruction performs an unsigned right shift.
summarizes the types of parallel shift instructions.
4.6.3
Data Arrangement
The mix right instruction (
mix.r
) interleaves the even-numbered elements from both
sources into the target. The mix left instruction (
mix.l)
interleaves the odd-numbered
elements. The unpack low instruction (
unpack.l
) interleaves the elements in the
least-significant 4 bytes of each source into the target register. The unpack high
instruction (
unpack.h
) interleaves elements from the most significant 4 bytes. The pack
instructions (
pack.sss
,
pack.uss
) convert from 32-bit or 16-bit elements to 16-bit or
8-bit elements respectively. The least-significant half of larger elements in both sources
are extracted and written into smaller elements in the target register. The
pack.sss
instruction treats the extracted elements as signed values and performs signed
saturation on them. The
pack.uss
instruction performs unsigned saturation. The mux
instruction (
mux
) copies individual 2-byte or 1-byte elements in the source to arbitrary
positions in the target according to a specified function. For 2-byte elements, an 8-bit
immediate allows all possible permutations to be specified. For 1-byte elements the
copy function is selected from one of five possibilities (reverse, mix, shuffle, alternate,
broadcast).
describes the various types of parallel data arrangement
instructions.
pshladd
Parallel shift left and add with signed saturation
x
pshradd
Parallel shift right and add with signed saturation
x
pcmp
Parallel compare
x
x
x
pmpy.l
Parallel signed multiply of odd elements
x
pmpy.r
Parallel signed multiply of even elements
x
pmpyshr
Parallel signed multiply and shift right
x
pmpyshr.u
Parallel unsigned multiply and shift right
x
psad
Parallel sum of absolute difference
x
pmin
Parallel minimum
x
x
pmax
Parallel maximum
x
x
Table 4-30.
Parallel Shift Instructions
Mnemonic
Operation
1-byte
2-byte
4-byte
pshl
Parallel shift left
x
x
pshr
Parallel signed shift right
x
x
pshr.u
Parallel unsigned shift right
x
x
Table 4-29.
Parallel Arithmetic Instructions (Continued)
Mnemonic
Operation
1-byte
2-byte
4-byte
Содержание 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 ...