# MOVMSKPS
# Extract Packed Single-Precision Floating-Point Sign Mask
Opcode | Mnemonic | Description |
---|---|---|
0F 50 /r | MOVMSKPS r32, xmm | Extract 4-bit sign mask of from xmm and store in r32. |
# Description
Extracts the sign bits from the packed single-precision floating-point values in the source operand (second operand), formats them into a 4-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 4 low-order bits of the destination operand.
# Operation
Destination[0] = Source[31];
Destination[1] = Source[63];
Destination[2] = Source[95];
Destination[3] = Source[127];
Destination[4..31] = 0;
1
2
3
4
5
6
2
3
4
5
6
# 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 |
MOVMSKPS r32, xmm | 6/6 | 2/2 | FP_MISC |