![Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3 Manual Download Page 1760](http://html.mh-extra.com/html/intel/itanium-architecture-software-developers-volume-3-rev-2-3/itanium-architecture-software-developers-volume-3-rev-2-3_manual_20734041760.webp)
4:458
Volume 4: IA-32 Intel
®
MMX™ Technology Instruction Reference
PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ—Unpack Low Packed Data
Description
Unpacks and interleaves the low-order data elements (bytes, words, or doublewords) of
the destination and source operands into the destination operand (see
).
The destination operand must be an MMX technology register; the source operand may
be either an MMX technology register or a memory location. When source data comes
from an MMX technology register, the upper 32 bits of the register are ignored. When
the source data comes from a memory, only 32-bits are accessed from memory.
The PUNPCKLBW instruction interleaves the four low-order bytes of the source operand
and the four low-order bytes of the destination operand and writes them to the
destination operand.
The PUNPCKLWD instruction interleaves the two low-order words of the source operand
and the two low-order words of the destination operand and writes them to the
destination operand.
The PUNPCKLDQ instruction interleaves the low-order doubleword of the source
operand and the low-order doubleword of the destination operand and writes them to
the destination operand.
If the source operand is all zeros, the result (stored in the destination operand)
contains zero extensions of the high-order data elements from the original value in the
destination operand. With the PUNPCKLBW instruction the low-order bytes are zero
extended (that is, unpacked into unsigned words), and with the PUNPCKLWD
instruction, the low-order words are zero extended (unpacked into unsigned
doublewords).
Opcode
Instruction
Description
0F 60 /r
PUNPCKLBW
mm,
mm/m32
Interleave low-order bytes from
mm
and
mm/m64
into
mm
.
0F 61 /r
PUNPCKLWD
mm,
mm/m32
Interleave low-order words from
mm
and
mm/m64
into
mm
.
0F 62 /r
PUNPCKLDQ
mm, mm/m32
Interleave low-order doublewords from
mm
and
mm/m64
into
mm
.
Figure 3-23. Low-order Unpacking and Interleaving of Bytes with the
PUNPCKLBW Instruction
3006032
PUNPCKLBW mm, mm/m32
mm/m32
mm
1 1 1 1 1 1 1 1
2 2 2 2
mm
2 1 2 1 2 1 2 1
3
3
2
2
1
1
0
0
3
2
1
0
7
6
5
4
3
2
1
0
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 ...