User Guide

162 128-Bit Media and Scientific Programming
AMD64 Technology 24592—Rev. 3.15—November 2009
Figure 4-32. MOVMSKPS Move Mask Operation
4.6.3 Data Conversion
The floating-point data-conversion instructions convert floating-point operands to integer operands.
These data-conversion instructions take 128-bit floating-point source operands. For data-conversion
instructions that take 128-bit integer source operands, see “Data Conversion” on page 139. For data-
conversion instructions that take 64-bit source operands, see “Data Conversion” on page 211 and
“Data Conversion” on page 224.
Convert Floating-Point to Floating-Point. These instructions convert floating-point data types in
XMM registers or memory into different floating-point data types in XMM registers.
CVTPS2PD—Convert Packed Single-Precision Floating-Point to Packed Double-Precision
Floating-Point
CVTPD2PS—Convert Packed Double-Precision Floating-Point to Packed Single-Precision
Floating-Point
CVTSS2SD—Convert Scalar Single-Precision Floating-Point to Scalar Double-Precision
Floating-Point
CVTSD2SS—Convert Scalar Double-Precision Floating-Point to Scalar Single-Precision
Floating-Point
The CVTPS2PD instruction converts two single-precision floating-point values in the low-order 64
bits of the second operand (an XMM register or a 64-bit memory location) to two double-precision
floating-point values in the destination operand (an XMM register).
The CVTPD2PS instruction converts two double-precision floating-point values in the second operand
to two single-precision floating-point values in the low-order 64 bits of the destination. The high-order
64 bits in the destination XMM register are cleared to all 0s. If the result of the conversion is an inexact
value, the value is rounded.
513-158.eps
GPR XMM
127 0
concatenate 4 sign bits
0