Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z

Vol. 2B 4-385
INSTRUCTION SET REFERENCE, N-Z
UNPCKHPS—Unpack and Interleave High Packed Single-Precision
Floating-Point Values
Description
Performs an interleaved unpack of the high-order single-precision floating-point
values from the source operand (second operand) and the destination operand (first
operand). See Figure 4-16. The source operand can be an XMM register or a 128-bit
memory location; the destination operand is an XMM register.
When unpacking from a memory operand, an implementation may fetch only the
appropriate 64 bits; however, alignment to 16-byte boundary and normal segment
checking will still be enforced.
In 64-bit mode, using a REX prefix in the form of REX.R permits this instruction to
access additional registers (XMM8-XMM15).
Operation
DEST[31:0] DEST[95:64];
DEST[63:32] SRC[95:64];
DEST[95:64] DEST[127:96];
DEST[127:96] SRC[127:96];
Opcode Instruction
64-Bit
Mode
Compat/
Leg Mode Description
0F 15 /r UNPCKHPS xmm1,
xmm2/m128
Valid Valid Unpacks and Interleaves single-
precision floating-point values
from high quadwords of xmm1
and xmm2/mem into xmm1.
Figure 4-16. UNPCKHPS Instruction High Unpack and Interleave Operation
X3 X2 X1 X0
Y3 Y2 Y1 Y0
Y3 X3 Y2 X2
DEST
SRC
DEST