Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1757

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unpack High Packed
Data
Opcode
0F 68 /r
0F 69 /r
0F 6A /r
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 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.
Figure 3-22.
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).
®
Volume 4: IA-32 Intel
MMX™ Technology Instruction Reference
Instruction
PUNPCKHBW mm, mm/m64 Interleave high-order bytes from mm and mm/m64 into mm .
PUNPCKHWD mm,
mm/m64
PUNPCKHDQ mm, mm/m64 Interleave high-order doublewords from mm and mm/m64 into
Figure
High-order Unpacking and Interleaving of Bytes with the
PUNPCKHBW Instruction
PUNPCKHBW mm, mm/m64
mm/m64
2 2
2 2 2 2
7
6
5
4
3
2
2 1
7
Description
Interleave high-order words from mm and mm/m64 into mm .
mm .
3-22). The low-order data elements are ignored.
mm
2 2
1 1
1 1 1 1
1
0
7
6
5
4
2 1 2 1
2 1
7
6
6
5
5
4
4
mm
1 1
3
2
1
0
3006031
4:455

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents