<<<    Index    >>>
3-574
INSTRUCTION SET REFERENCE
PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unpack High 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 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).
Operation
IF instruction is PUNPCKHBW
THEN
DEST(7..0) 
<
 DEST(39..32);
DEST(15..8) 
<
 SRC(39..32);
DEST(23..16) 
<
 DEST(47..40);
DEST(31..24) 
<
 SRC(47..40);
DEST(39..32) 
<
 DEST(55..48);
DEST(47..40) 
<
 SRC(55..48);
DEST(55..48) 
<
 DEST(63..56);
DEST(63..56) 
<
 SRC(63..56);
ELSE IF instruction is PUNPCKHW
THEN
DEST(15..0) 
<
 DEST(47..32); 
DEST(31..16) 
<
 SRC(47..32);
DEST(47..32) 
<
 DEST(63..48);
DEST(63..48) 
<
 SRC(63..48);
ELSE (* instruction is PUNPCKHDQ *)
DEST(31..0) 
<
 DEST(63..32)
DEST(63..32) 
<
 SRC(63..32);
FI;
<<<    Index    >>>