Volume 4: IA-32 Intel
®
MMX™ Technology Instruction Reference
4:455
PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unpack High Packed
Data
Description
Unpacks and interleaves the high-order data elements (bytes, words, or doublewords)
of the destination operand (first operand) and source operand (second operand) into
the destination operand (see
). The low-order data elements are ignored.
The destination operand must be an MMX technology register; the source operand may
be either an MMX technology register or a 64-bit memory location. When the source
data comes from a memory operand, the full 64-bit operand is accessed from memory,
but the instruction uses only the high-order 32 bits.
The PUNPCKHBW instruction interleaves the four high-order bytes of the source
operand and the four high-order bytes of the destination operand and writes them to
the destination operand.
The PUNPCKHWD instruction interleaves the two high-order words of the source
operand and the two high-order words of the destination operand and writes them to
the destination operand.
The PUNPCKHDQ instruction interleaves the high-order doubleword of the source
operand and the high-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 PUNPCKHBW instruction the high-order bytes are zero
extended (that is, unpacked into unsigned words), and with the PUNPCKHWD
instruction, the high-order words are zero extended (unpacked into unsigned
doublewords).
Opcode
Instruction
Description
0F 68 /r
PUNPCKHBW
mm, mm/m64
Interleave high-order bytes from
mm
and
mm/m64
into
mm
.
0F 69 /r
PUNPCKHWD
mm,
mm/m64
Interleave high-order words from
mm
and
mm/m64
into
mm
.
0F 6A /r
PUNPCKHDQ
mm,
mm/m64
Interleave high-order doublewords from
mm
and
mm/m64
into
mm
.
Figure 3-22. High-order Unpacking and Interleaving of Bytes with the
PUNPCKHBW Instruction
3006031
PUNPCKHBW mm, mm/m64
mm/m64
mm
1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2
mm
2 1 2 1 2 1 2 1
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
7
6
6
5
5
4
4
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 ...