Understanding the EMMS Instruction

Microsoft Specific

Using the EMMS instruction is like emptying a container to accommodate new content. For instance, MMX instructions automatically enable a floating-point (FP) tag word in the register to enable use of the __m64 data type. This resets the FP register set to alias it as the MMX register set. To enable the FP register set again, reset the register state with the EMMS instruction or with the _mm_empty intrinsic.

Why You Need EMMS to Reset After an MMX Instruction

EMMSresetAfterMMXinstruction graphic

Warning

Failure to reset the tag word for floating-point instructions after using an MMX instruction can result in unexpected execution or poor performance.

For more information on EMMS, see Guidelines for When to Use EMMS.

See Also

Reference

MMX Technology

MMX Technology General Support Intrinsics