25.02.2015 Views

AMD 64-Bit Technology - ECE User Home Pages

AMD 64-Bit Technology - ECE User Home Pages

AMD 64-Bit Technology - ECE User Home Pages

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>AMD</strong> <strong>64</strong>-<strong>Bit</strong> <strong>Technology</strong> 26568—Rev. 3.02—August 2002<br />

PUNPCKHBW<br />

Unpack and Interleave High Bytes<br />

Unpacks the high-order bytes from the first and second source operands and packs<br />

them into interleaved-byte words in the destination (first source). The low-order bytes<br />

of the source operands are ignored. The first source/destination operand is an XMM<br />

register and the second source operand is another XMM register or 128-bit memory<br />

location.<br />

Mnemonic Opcode Description<br />

PUNPCKHBW xmm1, xmm2/mem128 66 0F 68 /r Unpacks the eight high-order bytes in an XMM register and<br />

another XMM register or 128-bit memory location and packs<br />

them into interleaved bytes in the destination XMM register.<br />

xmm1<br />

xmm2/mem128<br />

127 <strong>64</strong> 63 0<br />

127 <strong>64</strong> 63 0<br />

. . . . . .<br />

copy<br />

copy<br />

copy<br />

. . . . . .<br />

copy<br />

. . . . . . . . . . . .<br />

127 <strong>64</strong> 63<br />

0<br />

punpckhbw-128.eps<br />

If the second source operand is all 0s, the destination contains the bytes from the first<br />

source operand zero-extended to 16 bits. This operation is useful for expanding<br />

unsigned 8-bit values to unsigned 16-bit operands for subsequent processing that<br />

requires higher precision.<br />

Related Instructions<br />

PUNPCKHDQ, PUNPCKHQDQ, PUNPCKHWD, PUNPCKLBW, PUNPCKLDQ,<br />

PUNPCKLQDQ, PUNPCKLWD<br />

rFLAGS Affected<br />

None<br />

324 PUNPCKHBW

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!