# MOVMSKPD

# Extract Packed Double-Precision Floating-Point Sign Mask

Opcode Mnemonic Description
66 0F 50 /r MOVMSKPD r32, xmm Extract 2-bit sign mask of from xmm and store in r32.

# Description

Extracts the sign bits from the packed double-precision floating-point values in the source operand (second operand), formats them into a 2-bit mask, and stores the mask in the destination operand (first operand). The source operand is an XMM register, and the destination operand is a general-purpose register. The mask is stored in the 2 low-order bits of the destination operand.

# Operation

Destination[0] = Source[63];
Destination[1] = Source[127];
Destination[2..3] = 0;
Destination[4..31] = 0;

1
2
3
4
5

# SIMD Floating-Point Exceptions

None.

# Protected Mode Exceptions

#NM If TS in CR0 is set.
#NM If TS in CR0 is set.

# Real-Address Mode Exceptions

Same exceptions as in Protected Mode

# Virtual-8086 Mode Exceptions

Same exceptions as in Protected Mode

Instruction Latency Throughput Execution Unit
CPUID 0F3n/0F2n 0F3n/0F2n 0F2n
MOVMSKPD r32, xmm 6/6 2/2 FP_MISC