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
Содержание ITANIUM ARCHITECTURE
Страница 1: ......
Страница 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 269: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 270: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 273: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 288: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 368: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 373: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Страница 604: ......