# 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
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 |