3-578
INSTRUCTION SET REFERENCE
PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ—Unpack Low Packed
Data (Continued)
If the source operand is all zeroes, 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).
Operation
IF instruction is PUNPCKLBW
THEN
DEST(63..56)
<
SRC(31..24);
DEST(55..48)
<
DEST(31..24);
DEST(47..40)
<
SRC(23..16);
DEST(39..32)
<
DEST(23..16);
DEST(31..24)
<
SRC(15..8);
DEST(23..16)
<
DEST(15..8);
DEST(15..8)
<
SRC(7..0);
DEST(7..0)
<
DEST(7..0);
ELSE IF instruction is PUNPCKLWD
THEN
DEST(63..48)
<
SRC(31..16);
DEST(47..32)
<
DEST(31..16);
DEST(31..16)
<
SRC(15..0);
DEST(15..0)
<
DEST(15..0);
ELSE (* instruction is PUNPCKLDQ *)
DEST(63..32)
<
SRC(31..0);
DEST(31..0)
<
DEST(31..0);
FI;