What is "sse"

SSE added 8 new 128-bit registers, called XMM records and numbered from 0 to 7. Each of these records allows storing 4 32-bit floating point numeric data.

Since SSE adds support to floating point, it is much more useful than MMX. The SSE became even more flexible with the addition of integer support to the SSE2. Even though MMX is redundant, it is possible to perform MMX operations in parallel with SSE operations, which can further increase performance. SIMD functionalities for whole-type data remain available for data packaged in 64-bit MMX records.

Since these new 128-bit registers are additional program states that the operating system (OS) must preserve between task context changes, they must remain disabled until the operating system explicitly enables them. This means that the OS must know how to use the FXSAVE and FXRSTR instructions, which are the extended pair of instructions that can respectively save and restore all x87 and SSE register states at once. This support was quickly extended to all major operating systems for the IA-32. Since SSE includes floating-point support, it has more uses than MMX, as graphics cards can now treat all calculations internally with integers. Entire SIMD operations can still be performed with 8 64-bit MMX registers. As is known, MMX registers are obtained by renaming (or aliasing) the 8 registers of the FPU. Later, in SSE2, Intel complemented SSE with support for entire calculations. Although redundant, MMX operations can be performed with SSE operations, which offers greater performance in limited situations.