9-1
CHAPTER 9
PROGRAMMING WITH THE STREAMING SIMD
EXTENSIONS
The Intel Streaming SIMD Extensions comprise a set of extensions to the Intel Architecture (IA)
that is designed to greatly enhance the performance of advanced media and communications
applications. These extensions (which include new registers, data types, and instructions) are
combined with a single-instruction, multiple-data (SIMD) execution model to accelerate the
performance of applications. Applications that typically use compute-intensive algorithms to
perform repetitive operations on large arrays of simple, native data elements benefit the most.
Applications that require regular access to large amount of data also benefit from the Streaming
SIMD Extensions prefetching and streaming stores capabilities.
Examples of these types of applications include:
motion video
combined graphics with video
image processing
audio synthesis
speech recognition, synthesis, and compression
telephony
video conferencing
2D and 3D graphics.
The Streaming SIMD Extensions define a simple and flexible software model. This new mode
introduces a new operating-system visible state. To enhance performance and yield more
concurrent execution, a new set of registers has been added. All existing software will continue
to run correctly without modification on IA processors that incorporate the Streaming SIMD
Extensions, even in the presence of existing and new applications that incorporate this tech-
nology.
The following sections of this chapter describe the Streaming SIMD Extensions basic program-
ming environment, including the SIMD floating-point register set, data types, and instruction
set. Detailed descriptions of the Streaming SIMD Extensions are provided in Chapter 3, Instruc-
tion Set Reference, of the Intel Architecture Software Developers Manual, Volume 2. The
manner in which the Streaming SIMD Extensions are integrated into the IA system program-
ming model is described in Chapter 10, MMX Technology System Programming, in the Intel
Architecture Software Developers Manual, Volume 3.