AMD amd64 architecture User Manual

Page of 336
64-Bit Media Programming
211
24592—Rev. 3.15—November 2009
AMD64 Technology
Figure 5-11.
MASKMOVQ Move Mask Operation
The MOVNTQ and MASKMOVQ instructions use weakly-ordered, write-combining buffering of
write data and they minimize cache pollution. The exact method by which cache pollution is
minimized depends on the hardware implementation of the instruction. For further information, see
“Memory Optimization” on page 92.
A typical case benefitting from streaming stores occurs when data written by the processor is never
read by the processor, such as data written to a graphics frame buffer. MASKMOVQ is useful for the
handling of end cases in block copies and block fills based on streaming stores.
Move Mask
PMOVMSKB—Packed Move Mask Byte
The PMOVMSKB instruction moves the most-significant bit of each byte in an MMX register to the
low-order byte of a 32-bit or 64-bit general-purpose register, with zero-extension. It is useful for
extracting bits from a mask, or extracting zero-point values from quantized data such as signal
samples, resulting in a byte that can be used for data-dependent branching.
5.6.4 Data Conversion
The integer data-conversion instructions convert operands from integer formats to floating-point
formats. They take 64-bit integer source operands. For data-conversion instructions that take 32-bit
and 64-bit floating-point source operands, see “Data Conversion” on page 224. For data-conversion
operand 1
.   .   .   .   .   .
.   .   .   .   .   .
63
0
operand 2
63
0
select
select
store address
memory
rDI
513-133.eps