09.01.2013 Views

AMD x86-64 Architecture Programmer's Manual, Volume 4, 128-Bit ...

AMD x86-64 Architecture Programmer's Manual, Volume 4, 128-Bit ...

AMD x86-64 Architecture Programmer's Manual, Volume 4, 128-Bit ...

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.

26568—Rev. 3.05—September 2003 <strong>AMD</strong><strong>64</strong> Technology<br />

PUNPCKHQDQ Unpack and Interleave High Quadwords<br />

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

packs them into interleaved quadwords in the destination (first source). The first<br />

source/destination is an XMM register, and the second source operand is another<br />

XMM register or <strong>128</strong>-bit memory location. The low-order quadwords of the source<br />

operands are ignored.<br />

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

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

unsigned <strong>64</strong>-bit values to unsigned <strong>128</strong>-bit operands for subsequent processing that<br />

requires higher precision.<br />

Mnemonic Opcode Description<br />

PUNPCKHQDQ xmm1, xmm2/mem<strong>128</strong> 66 0F 6D /r Unpacks high-order quadwords in an XMM register<br />

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

and packs them into interleaved quadwords in the<br />

destination XMM register.<br />

Related Instructions<br />

xmm1 xmm2/mem<strong>128</strong><br />

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

copy copy<br />

127<br />

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

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

punpckhqdq.eps<br />

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

PUNPCKLQDQ, PUNPCKLWD<br />

PUNPCKHQDQ 329

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

Saved successfully!

Ooh no, something went wrong!