Click to Rate and Give Feedback
MSDN
MSDN Library
Visual Studio 2005
Visual Studio
Visual C++
Reference
C/C++ Languages
Compiler Intrinsics
MMX Technology
 Understanding the EMMS Instruction
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2005/.NET Framework 2.0

Other versions are also available for the following:
Visual C++ Language Reference
Understanding the EMMS Instruction

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
Caution noteCaution

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.

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker