How to use MMX in parallel with SSE operations

1.3k views Asked by At

In Wikipedia, it says:

The addition of integer support in SSE2 made MMX largely redundant, though further performance increases can be attained in some situations by using MMX in parallel with SSE operations.

Does it mean that processor can run another MMX/SSE instruction while it is running a SSE/MMX instruction at the same time because those instructions run in separate units?

Or it just means because they use different registers, you can use them together without switching mode(MMX Mode and FPU Mode cannot work at "same time", you have to switch to different mode manually)?

1

There are 1 answers

0
Marat Dukhan On

Modern CPUs do not have separate execution units for MMX and SSE, instead they have 128-bit execution units which can run either SSE or MMX microoperations. In the latter case only half of the processor's compute power will be utilized.

The only benefit from combining SSE and MMX instructions comes from the additional 8 MMX registers. If the performance is limited by register pressure, it sometimes can be improved by utilizing the MMX registers in addition to SSE. In nearly all cases you have to write in assembly to do such optimizations.