Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture

Vol. 1 10-15
PROGRAMMING WITH STREAMING SIMD EXTENSIONS (SSE)
The UNPCKLPS (unpack and interleave low packed single-precision floating-point
values) instruction performs an interleaved unpack of the low-order single-precision
floating-point values from the source and destination operands and stores the result
in the destination operand (see Figure 10-9).
10.4.3 SSE Conversion Instructions
SSE conversion instructions (see Figure 11-8) support packed and scalar conversions
between single-precision floating-point and doubleword integer formats.
The CVTPI2PS (convert packed doubleword integers to packed single-precision
floating-point values) instruction converts two packed signed doubleword integers
into two packed single-precision floating-point values. When the conversion is
inexact, the result is rounded according to the rounding mode selected in the MXCSR
register.
Figure 10-8. UNPCKHPS Instruction, High Unpack and Interleave Operation
Figure 10-9. UNPCKLPS Instruction, Low Unpack and Interleave Operation
X3 X2 X1 X0
Y3 Y2 Y1 Y0
Y3 X3 Y2 X2
DEST
SRC
DEST
X3 X2 X1 X0
Y3 Y2 Y1 Y0
Y1 X1 Y0 X0
DEST
SRC
DEST