3-1
3
Coding for SIMD
Architectures
Intel Pentium 4, Intel Xeon and Pentium M processors include support
for Streaming SIMD Extensions 2 (SSE2), Streaming SIMD Extensions
technology (SSE), and MMX technology. In addition, Streaming SIMD
Extensions 3 (SSE3) were introduced with the Pentium 4 processor
supporting Hyper-Threading Technology at 90 nm technology. Intel
Core Solo and Intel Core Duo processors support SSE3/SSE2/SSE, and
MMX. These single-instruction, multiple-data (SIMD) technologies
enable the development of advanced multimedia, signal processing, and
modeling applications.
To take advantage of the performance opportunities presented by these
new capabilities, do the following:
• Ensure that the processor supports MMX technology, Streaming
SIMD Extensions, Streaming SIMD Extensions 2, and Streaming
SIMD Extensions 3.
• Ensure that the operating system supports MMX technology and
SSE (OS support for SSE2 and SSE3 is the same as OS support for
SSE).
• Employ all of the optimization and scheduling strategies described
in this book.
• Use stack and data alignment techniques to keep data properly
aligned for efficient memory use.
• Utilize the cacheability instructions offered by SSE and SSE2,
where appropriate.