<<<    Index    >>>
3-487
INSTRUCTION SET REFERENCE
PANDN—Logical AND NOT
Description
This instruction performs a bitwise logical NOT on the quadword destination operand (first
operand). Then, the instruction performs a bitwise logical AND operation on the inverted desti-
nation operand and the quadword source operand (second operand) (refer to Figure 3-59). Each
bit of the result of the AND operation is set to one if the corresponding bits of the source and
inverted destination bits are one; otherwise it is set to zero. The result is stored in the destination
operand location. 
The source operand can be an MMX™ technology register or a quadword memory location; the
destination operand must be an MMX™ technology register.
Operation
DEST 
(NOT DEST) AND SRC;
Intel C/C++ Compiler Intrinsic Equivalent
Pre-4.0 Intel C/C++ Compiler intrinsic:
__m64 _m_pandn(__m64 m1, __m64 m2)
Version 4.0 and later Intel C/C++ Compiler intrinsic:
__m64 _mm_andnot_si64(__m64 m1, __m64 m2)
Perform a logical NOT on the 64-bit value in m1 and use the result in a bitwise AND with the
64-bit value in m2.
Opcode
Instruction
Description
0F DF /r
PANDN mm, mm/m64AND quadword from mm/m64 to NOT quadword in mm.
Figure 3-59.  Operation of the PANDN Instruction
~
&
m/m64
mm
mm
11111111111110000000000000000101101101010011101111000100010001000
11111111111110000000000000000101101101010011101111000100010001000
11111111111110000000000000000101101101010011101111000100010001000
PANDN mm, mm/m64
<<<    Index    >>>