3DNow! Intrinsics
Microsoft Specific
This topic contains the 3DNow! intrinsics. For each intrinsic, the header file mm3dnow.h is required.
The following table lists the 3DNow! intrinsics alphabetically.
Intrinsic 
Use 

Clears the architectural state when switching between MMX and floatingpoint instructions. 

Returns a 64bit MMX value where the lower half is set to the floatingpoint, singleprecision value from the source operand and the upper half is zero. There is no error return. 

Calculates the rounded averages of eight unsigned 8bit integer values. 

Converts packed floatingpoint, singleprecision values to packed 32bit integer values. 

Converts packed floatingpoint, singleprecision values to packed 16bit signed integer values using truncation. 

Performs packed floatingpoint, singleprecision accumulation. 

Performs packed floatingpoint, singleprecision addition. 

Compares packed floatingpoint, singleprecision values to be equal and sets the corresponding return value to ones or zeros based on the result of the comparison. 

Compares the first packed floatingpoint, singleprecision value to be greater than or equal to the second one and sets the corresponding return value to ones or zeros based on the result of the comparison. 

Compares the first packed floatingpoint, singleprecision value to be greater than the second one and sets the corresponding return value to ones or zeros based on the result of the comparison. 

Returns the larger of the two packed floatingpoint, singleprecision values. 

Returns the smaller of the two packed floatingpoint, singleprecision values. 

Performs packed floatingpoint, singleprecision multiplication. 

Performs packed floatingpoint, singleprecision negative accumulation. 

Performs packed floatingpoint, singleprecision positivenegative accumulation. 

Performs scalar floatingpoint, lowprecision reciprocal approximation. 

Performs the first intermediate step in the NewtonRaphson iteration to refine the reciprocal approximation produced by the _m_pfrcp intrinsic function. 

Performs the second and final step in the NewtonRaphson iteration to refine the reciprocal or reciprocal square root approximation produced by the _m_pfrcp or _m_pfsqrt intrinsic functions, respectively. 

Performs the first intermediate step in the NewtonRaphson iteration to refine the reciprocal square root approximation produced by _m_pfsqrt intrinsic function. 

Performs scalar floatingpoint, lowprecision reciprocal square root approximation. 

Performs packed floatingpoint, singleprecision subtraction. 

Performs packed floatingpoint, singleprecision reverse subtraction. 

Converts packed 32bit integer values to packed floatingpoint, singleprecision values. 

Converts packed 16bit signed integer values to packed floatingpoint, singleprecision values. 

Multiplies four signed 16bit integer values in the source operand by four signed 16bit integer values in the destination operand. 

Loads a 32byte cache line into L1 data cache and sets the cache line state to exclusive. 

Loads a 32byte cache line into L1 data cache and sets the cache line state to modified. 

Swaps upper and lower halves of the source operand. 

Returns the floatingpoint, singleprecision value from the lower half of the 64bit MMX value in the source operand. There is no error return. The compiler correctly ensures that an implict FEMMS is issued before any attempt to use the result of _m_to_float( ) operation. 